{"_id":"@b9g/crank","_rev":"38-855ee38eaf97a92e41944c80737b7955","name":"@b9g/crank","dist-tags":{"debug":"0.5.0-debug.0","beta":"0.5.0-beta.7","latest":"0.7.12"},"versions":{"0.4.0":{"name":"@b9g/crank","version":"0.4.0","license":"MIT","_id":"@b9g/crank@0.4.0","maintainers":[{"name":"brainkim","email":"briankimpossible@gmail.com"}],"homepage":"https://crank.js.org/","bugs":{"url":"https://github.com/bikeshaving/crank/issues"},"dist":{"shasum":"a113459ae111e899b3fa363a9339d3611fede2f3","tarball":"https://registry.npmjs.org/@b9g/crank/-/crank-0.4.0.tgz","fileCount":26,"integrity":"sha512-rzYzlREWH8nS4K99PdcK5y8+OcAc2GTo/YV9oUSRnsBL5nGCae23QemxtnW4ooiwzG1Yz02j/MoZwmGpq+V9NA==","signatures":[{"sig":"MEUCIGbKp7r7sVq0hacU3y1C09pgfJ2Jrxy/PxebptNBn5sWAiEAssN0XYCYrNpz0OtbWcwpw9XKPXfQjfq6gklz5MwHUpc=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":664119},"main":"index.cjs","type":"module","types":"index.d.ts","module":"index.js","exports":{".":{"import":"./index.js","require":"./index.cjs"},"./":"./","./dom":{"import":"./dom.js","require":"./dom.cjs"},"./umd":{"require":"./umd.js"},"./html":{"import":"./html.js","require":"./html.cjs"},"./crank":{"import":"./crank.js","require":"./crank.cjs"},"./index":{"import":"./index.js","require":"./index.cjs"},"./dom.js":{"import":"./dom.js","require":"./dom.cjs"},"./umd.js":{"require":"./umd.js"},"./html.js":{"import":"./html.js","require":"./html.cjs"},"./crank.js":{"import":"./crank.js","require":"./crank.cjs"},"./index.js":{"import":"./index.js","require":"./index.cjs"},"./package.json":"./package.json"},"_npmUser":{"name":"brainkim","email":"briankimpossible@gmail.com"},"repository":{"url":"https://github.com/bikeshaving/crank.git","type":"git"},"description":"Write JSX-driven components with functions, promises and generators.","directories":{},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"shx":"^0.3.3","jest":"^26.6.3","eslint":"^7.32.0","rollup":"^2.57.0","core-js":"^3.18.0","ts-jest":"^26.5.6","prettier":"^2.4.1","typescript":"^4.4.3","@types/jest":"^26.0.23","magic-string":"^0.25.7","@arkweid/lefthook":"^0.7.7","eslint-plugin-jest":"^24.4.2","eslint-plugin-react":"^7.26.0","eslint-config-prettier":"^8.3.0","eslint-plugin-prettier":"^4.0.0","@typescript-eslint/parser":"^4.31.2","rollup-plugin-typescript2":"^0.30.0","@typescript-eslint/eslint-plugin":"^4.31.2","ts-transform-import-path-rewrite":"^0.3.0"},"_npmOperationalInternal":{"tmp":"tmp/crank_0.4.0_1633815092826_0.8555141790238328","host":"s3://npm-registry-packages"}},"0.4.1":{"name":"@b9g/crank","version":"0.4.1","license":"MIT","_id":"@b9g/crank@0.4.1","maintainers":[{"name":"brainkim","email":"briankimpossible@gmail.com"}],"homepage":"https://crank.js.org","bugs":{"url":"https://github.com/bikeshaving/crank/issues"},"dist":{"shasum":"397e99ad1f00e2901c4fad8232370568275f18df","tarball":"https://registry.npmjs.org/@b9g/crank/-/crank-0.4.1.tgz","fileCount":25,"integrity":"sha512-bvvVSn8HhuSygf3RXl9lEWlEjGjAXBTbsL11wwANre2pml3aQAsWOY72m6LFvKkS3z4lWlqnMXr6YR7RsGtjIA==","signatures":[{"sig":"MEYCIQC/6YStKdmyAuuQ310wtKOntcHW6A4caxeBNWkJjjhkgAIhAMLr+Vagt5IFa5/3T9S6LJYTbRkXxn7OuwY3tk0h/bM+","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":665721},"main":"crank.cjs","type":"module","types":"crank.d.ts","module":"crank.js","exports":{".":{"import":"./crank.js","require":"./crank.cjs"},"./dom":{"import":"./dom.js","require":"./dom.cjs"},"./umd":{"require":"./umd.js"},"./html":{"import":"./html.js","require":"./html.cjs"},"./crank":{"import":"./crank.js","require":"./crank.cjs"},"./index":{"import":"./index.js","require":"./index.cjs"},"./dom.js":{"import":"./dom.js","require":"./dom.cjs"},"./umd.js":{"require":"./umd.js"},"./html.js":{"import":"./html.js","require":"./html.cjs"},"./crank.js":{"import":"./crank.js","require":"./crank.cjs"},"./index.js":{"import":"./index.js","require":"./index.cjs"},"./package.json":"./package.json"},"gitHead":"7b3165166aa267d663dd6f0f67676616a14632e6","_npmUser":{"name":"brainkim","email":"briankimpossible@gmail.com"},"repository":{"url":"git+https://github.com/bikeshaving/crank.git","type":"git"},"_npmVersion":"8.0.0","description":"Write JSX-driven components with functions, promises and generators.","directories":{},"_nodeVersion":"16.11.1","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"shx":"^0.3.3","jest":"^26.6.3","eslint":"^7.32.0","rollup":"^2.57.0","ts-jest":"^26.5.6","prettier":"^2.4.1","typescript":"^4.4.3","@types/jest":"^26.0.23","magic-string":"^0.25.7","ts-jest-resolver":"^2.0.0","@arkweid/lefthook":"^0.7.7","eslint-plugin-jest":"^24.4.2","eslint-plugin-react":"^7.26.0","eslint-config-prettier":"^8.3.0","eslint-plugin-prettier":"^4.0.0","@typescript-eslint/parser":"^4.31.2","rollup-plugin-typescript2":"^0.30.0","@typescript-eslint/eslint-plugin":"^4.31.2"},"_npmOperationalInternal":{"tmp":"tmp/crank_0.4.1_1635486071333_0.8325042906407549","host":"s3://npm-registry-packages"}},"0.4.2":{"name":"@b9g/crank","version":"0.4.2","license":"MIT","_id":"@b9g/crank@0.4.2","maintainers":[{"name":"brainkim","email":"briankimpossible@gmail.com"}],"homepage":"https://crank.js.org","bugs":{"url":"https://github.com/bikeshaving/crank/issues"},"dist":{"shasum":"32179e804bbbb6d5a4909562ba8c3538e67ee98f","tarball":"https://registry.npmjs.org/@b9g/crank/-/crank-0.4.2.tgz","fileCount":25,"integrity":"sha512-uOyDtsocchb1MLPV6gMlE4moUnE60m1WV0xha73xEvog7A4GmUfp9swivnU1+AV8VmRwL7BtUFawRziQW+IWkA==","signatures":[{"sig":"MEYCIQDWVgM6crD/25oGuKB0HivW6qnY+wEF5Wi5yAmFX+TwwAIhAPYoV00Rg2OuzHkWtkKmUeKwbxJ8lMcNgXUTo+iPRG7H","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":666621,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhwT56CRA9TVsSAnZWagAAAKgP/iLvbP3sxNpX/M4w00XM\nSHFAbDONHTBzJ1vJm6k8pMRRzFAqhFjg1+FNI1XFOarOmvW0NF2Jqv2xNANM\nyb3vrlx7reZU+mHXLoK1y/DdvfUmL+nG3YQxgJWNRpXmsUuXfnV8tTR+HWjM\n+QP+B7mIHuCtlF0Iy7S7ZjupnyoAlA4O3wR07s50X7r10DX9B59gq5bb0qp4\nsn77MMdO3ACt4LUhSxBmzcv/oKRjS9rRMfZQ76bxIfKMRZnJLCP/jk8YbyXe\nnTDKSj7zN9xbztKHC0A3NQeQGpx/5/hNzh3mrmKMzjnwBVq9R9YMnTEVpmtV\nIkFLNwNkscPtYzkx87DCewREJcsooPwO7Dc0SOcXUbQH2nUmkEub52Jy1oHk\n0GneN78OGfULR3K+4sP7s3xkIyhWF9/TeJfdp/RW+iT4IZMVgwqE0H/zpw2Q\nO+O/PYqYX6JzMxDqGqRF/deyXgdwKIY/WGXV7G6TDzijCVHly3LQUxtk4D++\ns4avmpoSHyDw/PkCGW7wietfC/QMYWSowcDNjtyyC/aF4VEMy1WAT+IURQsi\ne2AI9LYEIpvMvnpqHdTIffiS6cI0YIvg4mvJ93a93iWeTMxvtOGu2qY8rvfO\n/wq5A4QjMybXwQGCKB7Or+6SECQ2ykem9PZ48I8W3OSCCY3BxZtMGCQFVUhD\nhX6u\r\n=k5ln\r\n-----END PGP SIGNATURE-----\r\n"},"main":"crank.cjs","type":"module","types":"crank.d.ts","module":"crank.js","exports":{".":{"import":"./crank.js","require":"./crank.cjs"},"./dom":{"import":"./dom.js","require":"./dom.cjs"},"./umd":{"require":"./umd.js"},"./html":{"import":"./html.js","require":"./html.cjs"},"./crank":{"import":"./crank.js","require":"./crank.cjs"},"./index":{"import":"./index.js","require":"./index.cjs"},"./dom.js":{"import":"./dom.js","require":"./dom.cjs"},"./umd.js":{"require":"./umd.js"},"./html.js":{"import":"./html.js","require":"./html.cjs"},"./crank.js":{"import":"./crank.js","require":"./crank.cjs"},"./index.js":{"import":"./index.js","require":"./index.cjs"},"./package.json":"./package.json"},"gitHead":"742f21ee90d30b11be6835d37abfd22b85a8d5da","_npmUser":{"name":"brainkim","email":"briankimpossible@gmail.com"},"repository":{"url":"git+https://github.com/bikeshaving/crank.git","type":"git"},"_npmVersion":"7.24.2","description":"Write JSX-driven components with functions, promises and generators.","directories":{},"_nodeVersion":"16.11.1","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"shx":"^0.3.3","jest":"^26.6.3","eslint":"^7.32.0","rollup":"^2.57.0","ts-jest":"^26.5.6","prettier":"^2.4.1","typescript":"^4.4.3","@types/jest":"^26.0.23","magic-string":"^0.25.7","ts-jest-resolver":"^2.0.0","@arkweid/lefthook":"^0.7.7","eslint-plugin-jest":"^24.4.2","eslint-plugin-react":"^7.26.0","eslint-config-prettier":"^8.3.0","eslint-plugin-prettier":"^4.0.0","@typescript-eslint/parser":"^4.31.2","rollup-plugin-typescript2":"^0.30.0","@typescript-eslint/eslint-plugin":"^4.31.2"},"_npmOperationalInternal":{"tmp":"tmp/crank_0.4.2_1640054394474_0.08267764819242629","host":"s3://npm-registry-packages"}},"0.4.3":{"name":"@b9g/crank","version":"0.4.3","license":"MIT","_id":"@b9g/crank@0.4.3","maintainers":[{"name":"brainkim","email":"briankimpossible@gmail.com"}],"homepage":"https://crank.js.org","bugs":{"url":"https://github.com/bikeshaving/crank/issues"},"dist":{"shasum":"235336692ec090a6473b8eb0f2b6929c54498c4f","tarball":"https://registry.npmjs.org/@b9g/crank/-/crank-0.4.3.tgz","fileCount":25,"integrity":"sha512-yn9k0ulZkhvy3jdrFy6zHX3O2KHQrOIVWqHKLNVgiuI2+VlcbnIZLkoxarylueoKOfbvY9/g/npttkwwPOXpBg==","signatures":[{"sig":"MEYCIQCANeNY7G3h8F64rkgd18xtdksjz7eQXQueMokYYQmzlgIhAM5P+QYTlV/qTwC6o3sPPHwM2prNDrlnUow+w9bzKil3","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":670936,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJit1MHACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmrzOA/+Jlb+Qnw75k6azTcCLkooke0U6tY08ujmvIzpqJov9dBf5swq\r\nsv/1nwl/igJ99L7MPVUMnBThm7PniPvKekUEHUO7Rni5+RNMTlK8l5qrkk5i\r\nTRAP7sSXsN6Sx4WBIcfdC9Qu1DxffhEEwfqzsrE3SU6dTDRGfnIIn3bT+Fu/\r\n83m40foOi+QZOOYmAI7Rw9QYWz6muxV/NJpXguEjrZ7uSa9w2Bl7ycMrIWt9\r\nuINdkmEjcp7Jvlqxou88jE+jxUUBm2WXPAAxWc9sWMseSxx5e6ewuzOFdUzF\r\nNsrmw2AbzouAp0KJwk9rq/+6bomc3r/bQo5T5FSTWO10rJ7mb3dICVnkxvcD\r\nrpwWNZsGGbl6D3CPbeT+korgS7tvYQ9eY6andNJ5Yzuh8j9PkIbocmpZM3O1\r\n2WWi3908ibAsu2jxDLL3DQlElIZcX49T/iuD3Z7nWwwIhXd/JIeTZAuBQrWg\r\nTtDNNozo6EIfngtp+8fnzDpCDh64lbgsehD5+SHKCpisLKGjVOgcDDgiCo09\r\n4fBAw9Lxmj1Yo1rnMX0nTh02Gy8TKTIL9nMaVGLRlMGfAitbuRAoSFlVWs4m\r\nYoQCa3jUyLrRZchYaWbZaZwP1P/0Vd7ESS7zO4AeUfO2GxO9z2U+ENJgSisW\r\nBpqAjs8TVVbCAl0FN7CtMZO13+AYuyK6ZLI=\r\n=xJg3\r\n-----END PGP SIGNATURE-----\r\n"},"main":"crank.cjs","type":"module","types":"crank.d.ts","module":"crank.js","exports":{".":{"import":"./crank.js","require":"./crank.cjs"},"./dom":{"import":"./dom.js","require":"./dom.cjs"},"./umd":{"require":"./umd.js"},"./html":{"import":"./html.js","require":"./html.cjs"},"./crank":{"import":"./crank.js","require":"./crank.cjs"},"./index":{"import":"./index.js","require":"./index.cjs"},"./dom.js":{"import":"./dom.js","require":"./dom.cjs"},"./umd.js":{"require":"./umd.js"},"./html.js":{"import":"./html.js","require":"./html.cjs"},"./crank.js":{"import":"./crank.js","require":"./crank.cjs"},"./index.js":{"import":"./index.js","require":"./index.cjs"},"./package.json":"./package.json"},"gitHead":"1bf531ca9d8545262aa9ac69835b9230544444a5","_npmUser":{"name":"brainkim","email":"briankimpossible@gmail.com"},"repository":{"url":"git+https://github.com/bikeshaving/crank.git","type":"git"},"_npmVersion":"8.5.5","description":"Write JSX-driven components with functions, promises and generators.","directories":{},"_nodeVersion":"16.15.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"shx":"^0.3.3","jest":"^26.6.3","eslint":"^7.32.0","rollup":"^2.57.0","ts-jest":"^26.5.6","prettier":"^2.4.1","typescript":"^4.4.3","@types/jest":"^26.0.23","magic-string":"^0.25.7","ts-jest-resolver":"^2.0.0","@arkweid/lefthook":"^0.7.7","eslint-plugin-jest":"^24.4.2","eslint-plugin-react":"^7.26.0","eslint-config-prettier":"^8.3.0","eslint-plugin-prettier":"^4.0.0","@typescript-eslint/parser":"^4.31.2","rollup-plugin-typescript2":"^0.30.0","@typescript-eslint/eslint-plugin":"^4.31.2"},"_npmOperationalInternal":{"tmp":"tmp/crank_0.4.3_1656181511494_0.16439091345564494","host":"s3://npm-registry-packages"}},"0.4.4":{"name":"@b9g/crank","version":"0.4.4","license":"MIT","_id":"@b9g/crank@0.4.4","maintainers":[{"name":"brainkim","email":"briankimpossible@gmail.com"}],"homepage":"https://crank.js.org","bugs":{"url":"https://github.com/bikeshaving/crank/issues"},"dist":{"shasum":"45f64d54256c92a00fcbb79c5381015111519c9b","tarball":"https://registry.npmjs.org/@b9g/crank/-/crank-0.4.4.tgz","fileCount":25,"integrity":"sha512-mRqzhcg5SKgE4qLCNSbC0Qpm9MPf9jdAChO/ieccYoQAqrqdbebaHyugEr9uXVpJMdSoFSPWMVGXziLvWLpV0g==","signatures":[{"sig":"MEUCIQDwo8mJwQ3GfQfbbwIq8u11QC0GxpVjYQ3r7dUNv51mEwIgFnS/Q8ccWFeTGF5wup5qg31xJn2H9EwgN7edlN+dv8E=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":874672,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJi8ZYlACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmqu+A//Sw6ceRIUUwXIEY+ScrvH+t0FPnuMOSMRyDuh/IZEmCNhQKBa\r\nFzhFbdcYCq5nfqivU2VT70Um8soof2bBbBrNkViw8JTRXH7ViwDAdAAx50wW\r\nBzeohmuAZW++EjMzd7yYRA+2TdMgiqFdWZ3X2YQNipuUFB1yKsNOc7OJ2lKU\r\n4hzx+jMw8qQ/wmy6M89g+8tUA2vK2VgWrQAVRHFcu/qeKahe9jzEmhzux6ZU\r\nu0haDHGnPj4glNyqfs6UYRM0QVWfuuLOEN9rSaus2jjOKA9XFGa8rnvtFT7z\r\n9yg2K1w0TD5vCN9ThXuOo/cWWSISuBlSe/wDD4UDugX7i1B5HhAv14cJssPy\r\n6hiMJaRS/Xoi5ERcYw9GZHUhYgTo4HBP2g/Ey+eI7+DUHSCP2J/s9GgP5qE9\r\ncYoP+XU3mia5qtXzqIq9UHCYw53JYT7CZTrjAkFARNNvNS3ih3Cj0Dwg6boU\r\nUBwIcBNfML5sw9Yboox8eHISQPU9xP5/ChFvvgr9Qoms1ZgLikXwR5uWxa1I\r\nu2/JD6dGuHeo5/DZlas8HS2PHiAv+VsjTPpYAMB0e6ySr0HWMUjo2uflbFKW\r\nZCTbxhRG8X2nYjENmph8xY8cHnyuxAwztAYqGBE8dm+0S/mluoLCP5ExIz9X\r\nAypsAec7xor6Nd2Aw32Gxz4GoMn7PgQj/cs=\r\n=yTEg\r\n-----END PGP SIGNATURE-----\r\n"},"main":"crank.cjs","type":"module","types":"crank.d.ts","module":"crank.js","exports":{".":{"import":"./crank.js","require":"./crank.cjs"},"./dom":{"import":"./dom.js","require":"./dom.cjs"},"./umd":{"require":"./umd.js"},"./html":{"import":"./html.js","require":"./html.cjs"},"./crank":{"import":"./crank.js","require":"./crank.cjs"},"./index":{"import":"./index.js","require":"./index.cjs"},"./dom.js":{"import":"./dom.js","require":"./dom.cjs"},"./umd.js":{"require":"./umd.js"},"./html.js":{"import":"./html.js","require":"./html.cjs"},"./crank.js":{"import":"./crank.js","require":"./crank.cjs"},"./index.js":{"import":"./index.js","require":"./index.cjs"},"./package.json":"./package.json"},"gitHead":"b8070854d072e5824f23db67a933278d0b3bbaf9","_npmUser":{"name":"brainkim","email":"briankimpossible@gmail.com"},"repository":{"url":"git+https://github.com/bikeshaving/crank.git","type":"git"},"_npmVersion":"8.12.1","description":"Write JSX-driven components with functions, promises and generators.","directories":{},"_nodeVersion":"18.4.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"shx":"^0.3.4","jest":"^26.6.3","eslint":"^8.21.0","rollup":"^2.77.2","ts-jest":"^26.5.6","prettier":"^2.7.1","typescript":"^4.7.4","@types/jest":"^26.0.23","magic-string":"^0.26.2","ts-jest-resolver":"^2.0.0","@arkweid/lefthook":"^0.7.7","eslint-plugin-jest":"^24.4.2","eslint-plugin-react":"^7.30.1","eslint-config-prettier":"^8.5.0","eslint-plugin-prettier":"^4.2.1","@typescript-eslint/parser":"^5.33.0","rollup-plugin-typescript2":"^0.32.1","@typescript-eslint/eslint-plugin":"^5.33.0"},"_npmOperationalInternal":{"tmp":"tmp/crank_0.4.4_1659999781249_0.9363503079638595","host":"s3://npm-registry-packages"}},"0.5.0-beta.0":{"name":"@b9g/crank","version":"0.5.0-beta.0","license":"MIT","_id":"@b9g/crank@0.5.0-beta.0","maintainers":[{"name":"brainkim","email":"briankimpossible@gmail.com"}],"homepage":"https://crank.js.org","bugs":{"url":"https://github.com/bikeshaving/crank/issues"},"dist":{"shasum":"62ad1918b5528e10e31942922ad0d659a4ae994f","tarball":"https://registry.npmjs.org/@b9g/crank/-/crank-0.5.0-beta.0.tgz","fileCount":30,"integrity":"sha512-kjJZLno1skW/YHFolVMIhdz1aCJB0AFcHQBGeqNRZXX4c4jx5UWnSll9wZHzYy5EFicMwg9aYwzQTcgW+PCPVQ==","signatures":[{"sig":"MEQCIHgBYtRy4Q/uyMkT0jtMTPWzBsPXhY8LKalJVaCsHr6AAiBsesEgcb8NiTsiSyB6c4X+2xf+kzmdoqjCXmWbufrufw==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":1034841,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjLAQ/ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmqtYw/+JExO94NeKyu6I9GROZPbCZnIMQ99aSzlx8YgoxeBJmQRlFso\r\nJNtzXfYMP+aWBsgP+VT/MulDZYlI6rsa+MCpNlMaX1t8xpHQ4Ha+3crD/wSe\r\nN3IUoLA6K9CmpbKp0mXpIcPofp1FL6q9mitRnEdT+dx0+KubC782d5kQKDpR\r\nRNh98lVFuOhhTm+RZYHFMUvEldroywFTe8ms5DMA8kOVZ9DX3NTp/LJ/JMuo\r\nAWDISNsDuV2aLePGwN0fQqGxYbJvq85MgLp02BOKJp5PeQKn7Zw+MaLO+sHO\r\niQZMqq5rFZY0En0vFKDxeRkDFb2oj5ZkCcp2PLEdYvqWW1RQ+3k7zs2aIaG1\r\nt8HC86DHHDU1NYXRbuor0eKRvKMdWmgoXzJ0IYjgKdKFifmBpdsoiMa/CXlL\r\nV9vw5QK+6gDsTX9q/5YF8Gu/Y6vaQfkDdkwJzdyUKInKq6yb7hqx1WTRpPPp\r\n23vGBn+zjvtpuIh6C2aYw5mcGft2nzsaI5tU8ID9PCcmn/gTZoUI5MG4XoPz\r\nph+A28fCZI3dci0pk//ML+0w0cAYlDgUaru9PxnkXybT/7amP60Ngr/2OwmC\r\nwcrRRE3lkgr4li6wpMv0l5tPASDFrPQK1ti/X1kJok1FWuTOlf82JNbjOm5+\r\ncJeO4KWpvHz+4NWg9oaKK9Zyri1H+qA8V4c=\r\n=M6rp\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.cjs","type":"module","types":"index.d.ts","module":"index.js","exports":{".":{"import":"./index.js","require":"./index.cjs"},"./xm":{"import":"./xm.js","require":"./xm.cjs"},"./dom":{"import":"./dom.js","require":"./dom.cjs"},"./umd":{"require":"./umd.js"},"./html":{"import":"./html.js","require":"./html.cjs"},"./crank":{"import":"./crank.js","require":"./crank.cjs"},"./index":{"import":"./index.js","require":"./index.cjs"},"./xm.js":{"import":"./xm.js","require":"./xm.cjs"},"./dom.js":{"import":"./dom.js","require":"./dom.cjs"},"./umd.js":{"require":"./umd.js"},"./html.js":{"import":"./html.js","require":"./html.cjs"},"./crank.js":{"import":"./crank.js","require":"./crank.cjs"},"./index.js":{"import":"./index.js","require":"./index.cjs"},"./package.json":"./package.json"},"gitHead":"84c18b0ba3f107794f8fd29e97b27850e630e8ef","_npmUser":{"name":"brainkim","email":"briankimpossible@gmail.com"},"repository":{"url":"git+https://github.com/bikeshaving/crank.git","type":"git"},"_npmVersion":"8.19.1","description":"Write JSX-driven components with functions, promises and generators.","directories":{},"_nodeVersion":"18.9.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"shx":"^0.3.4","uvu":"^0.5.6","sinon":"^14.0.0","eslint":"^8.19.0","rollup":"^2.76.0","ts-node":"^10.9.0","prettier":"^2.7.1","typescript":"^4.7.4","@types/sinon":"^10.0.12","magic-string":"^0.26.2","playwright-test":"^8.1.1","@arkweid/lefthook":"^0.7.7","eslint-plugin-react":"^7.30.1","eslint-config-prettier":"^8.5.0","eslint-plugin-prettier":"^4.2.1","@typescript-eslint/parser":"^5.30.5","rollup-plugin-typescript2":"^0.32.1","@typescript-eslint/eslint-plugin":"^5.30.5"},"_npmOperationalInternal":{"tmp":"tmp/crank_0.5.0-beta.0_1663829055219_0.6532316755180743","host":"s3://npm-registry-packages"}},"0.5.0-beta.1":{"name":"@b9g/crank","version":"0.5.0-beta.1","license":"MIT","_id":"@b9g/crank@0.5.0-beta.1","maintainers":[{"name":"brainkim","email":"briankimpossible@gmail.com"}],"homepage":"https://crank.js.org","bugs":{"url":"https://github.com/bikeshaving/crank/issues"},"dist":{"shasum":"6e4f5c089a9614bf50e3e46334b29a7e22e44a67","tarball":"https://registry.npmjs.org/@b9g/crank/-/crank-0.5.0-beta.1.tgz","fileCount":30,"integrity":"sha512-Iw7w+zZiGA0ySrFhYpC5aOtpPtXa4U79VaWJFJSQBli9bqVuoNLvML7vW37zz8uUUb8EGM6P/PLNJV8A+/8+Bw==","signatures":[{"sig":"MEUCIDHxENwB5ahQ0tA56OsWfG+hfUCO4MOYiY/ggBIvfV0oAiEA7i/ofSavKalWrN8g97y+pHEAV47xD7W5OTkAkEvvXZQ=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":1033945,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjLAkuACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmqhNQ//RVWKu13zAkJ+Ow8A+mQCaAbXys8uCmRrobtxnsuVi4z0jW8L\r\nDEnVszwvA02wAuRW5p/1vcg25Bpy2RIE88NwJLOBuUTNi5l+WePlrSRp1px/\r\nHUSPtElaaXsGDljvUNefEDjrOcAj0xucU8vXJh5TPnlY7W7V7hatBKUIvsGN\r\nvLU+7IgwTckmAwlFV1bBC5du0CF/AL5BEIeLWCri2sXuAJqH8hlwA2up/9IP\r\nEoW5J7yZH2Nf6BVInVM9oeOJYR1EpJRULEVMsJ/xZh4LrMXQ1E4ov7QeVSRg\r\nxE87mBR8eHe6QZi7AFQcRCY3g8MXo7PbI1RgTacGRMj+ouBrJ4x91Kg2ihNl\r\nNHI5SUnVKpqg/oeUPjYUznJiA04SAMBNxL+7SYRcvinvwnQWnSuk+o+2yfU6\r\npbGSHgXzUxC58jbrRGm0uWHfHoGcmdpSVOST/Kdtd7kPHiY0hhokUUWIPEs2\r\n0xe28YBlSL93m+kPKdwjJzyj6V7P3MckBaaM3WBqKb2vr+50ECy/l/QIeyVQ\r\npUinSdhKaXpHyuWc4F7w1Ma3JgwdA1t+EVkwkPHvTfGZVjpK7L5kNSjNmUu5\r\npGi85k/+o3Af4x6OB0B/pmNthoGxQgXXc0FM+Q+1eyYHYufjKW62FoS1F65L\r\nHVgYWCP7u/UdCcnfGAUJp0kRqpwSpuK3yBA=\r\n=lXGf\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.cjs","type":"module","types":"index.d.ts","module":"index.js","exports":{".":{"import":"./index.js","require":"./index.cjs"},"./xm":{"import":"./xm.js","require":"./xm.cjs"},"./dom":{"import":"./dom.js","require":"./dom.cjs"},"./umd":{"require":"./umd.js"},"./html":{"import":"./html.js","require":"./html.cjs"},"./crank":{"import":"./crank.js","require":"./crank.cjs"},"./index":{"import":"./index.js","require":"./index.cjs"},"./xm.js":{"import":"./xm.js","require":"./xm.cjs"},"./dom.js":{"import":"./dom.js","require":"./dom.cjs"},"./umd.js":{"require":"./umd.js"},"./html.js":{"import":"./html.js","require":"./html.cjs"},"./crank.js":{"import":"./crank.js","require":"./crank.cjs"},"./index.js":{"import":"./index.js","require":"./index.cjs"},"./package.json":"./package.json"},"gitHead":"4dc867c9fccd04f97b391fe8ad1a347fc5a26607","_npmUser":{"name":"brainkim","email":"briankimpossible@gmail.com"},"repository":{"url":"git+https://github.com/bikeshaving/crank.git","type":"git"},"_npmVersion":"8.19.1","description":"Write JSX-driven components with functions, promises and generators.","directories":{},"_nodeVersion":"18.9.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"shx":"^0.3.4","uvu":"^0.5.6","sinon":"^14.0.0","eslint":"^8.19.0","rollup":"^2.76.0","ts-node":"^10.9.0","prettier":"^2.7.1","typescript":"^4.7.4","@types/sinon":"^10.0.12","magic-string":"^0.26.2","playwright-test":"^8.1.1","@arkweid/lefthook":"^0.7.7","eslint-plugin-react":"^7.30.1","eslint-config-prettier":"^8.5.0","eslint-plugin-prettier":"^4.2.1","@typescript-eslint/parser":"^5.30.5","rollup-plugin-typescript2":"^0.32.1","@typescript-eslint/eslint-plugin":"^5.30.5"},"_npmOperationalInternal":{"tmp":"tmp/crank_0.5.0-beta.1_1663830318462_0.576400783811756","host":"s3://npm-registry-packages"}},"0.5.0-debug.0":{"name":"@b9g/crank","version":"0.5.0-debug.0","license":"MIT","_id":"@b9g/crank@0.5.0-debug.0","maintainers":[{"name":"brainkim","email":"briankimpossible@gmail.com"}],"homepage":"https://crank.js.org","bugs":{"url":"https://github.com/bikeshaving/crank/issues"},"dist":{"shasum":"ebb35523a6fb7a4ede47880fbd8813808c6276f0","tarball":"https://registry.npmjs.org/@b9g/crank/-/crank-0.5.0-debug.0.tgz","fileCount":30,"integrity":"sha512-+RUo3MaxYCbwOJu6SNv5d7mG0+7pE56zphOQhXzWsYmcLCGUCD7HtCc85ZOohYID7Sh3aVHC3SFBqxlIqL1U2w==","signatures":[{"sig":"MEYCIQCeMd+73azcU2qwctilzej7q6z3kcaep1zQiO3/pnTpAQIhAP03VB22L1FXuiMKOZ2UuoCI2K1FUClsqVANqAxkkMpH","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":1033915,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjLB2aACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmr8zw//S4k3x3vvvoiVIHHPAd56RgPDlCzZ9SWn2qfF/8MP9q9AnGAc\r\nC7qImuDiObTxa2E2wdT7fuoZlvqZKffdEJqdlJiiOvk3oXDcwJXuCvbuNlU8\r\nvCoosZPI+jNR2NMiN2eNyNhXrKer5bA0h0Sqv3Xk10FGJKNnCM5boIAD/rMH\r\nJjzXaVxPijEAfr3obQgXlvX01bmsQ2/jt+4uBmoCdTRmqhQbRbLtGOvQFZEJ\r\nqOnwcITtKqu+GfglEIFTK358B8UmTFztuvylajW1JXjujtHGw2TrrekCgyoa\r\n4D0xiQYvulmOksFAufR5whS6ldEvXt3SfISXwYajXnlzLS5HKMyF1kd8d9Ib\r\nFJwTtZm2fqQelm/0LaV8OmQ+2doHXBka01uiiQ60D0xNrYqWxKz9xFvUn10n\r\nx+kJHH9buc2oi6XNulHiz+RvxpMGMA2v/sj6HNFI3CE5A16abk2HeXUMvDEr\r\njiW+RVfTRne28Zb4BgJupmE1zJ6ezNVGoMgiinm9riJyvDFnf6bIq4vb5gHe\r\nvB9CmiUgqPlbXFQpuG1fgxNoWrglsNsyCYfGnUjD6xxhnozRMg5sJdfLW4Wt\r\npfLoUPkxtmDSxAj9Bw9tUclG8Ds6CLRBY/e2caTCXqNAQFW/Q5R3Exqj7NgW\r\nJNTbToCb99qEIr1ykYmFvqg8PlsI51NqL2c=\r\n=sS2z\r\n-----END PGP SIGNATURE-----\r\n"},"main":"mod.cjs","type":"module","types":"mod.d.ts","module":"mod.js","exports":{".":{"import":"./mod.js","require":"./mod.cjs"},"./xm":{"import":"./xm.js","require":"./xm.cjs"},"./dom":{"import":"./dom.js","require":"./dom.cjs"},"./mod":{"import":"./mod.js","require":"./mod.cjs"},"./umd":{"require":"./umd.js"},"./html":{"import":"./html.js","require":"./html.cjs"},"./crank":{"import":"./crank.js","require":"./crank.cjs"},"./xm.js":{"import":"./xm.js","require":"./xm.cjs"},"./dom.js":{"import":"./dom.js","require":"./dom.cjs"},"./mod.js":{"import":"./mod.js","require":"./mod.cjs"},"./umd.js":{"require":"./umd.js"},"./html.js":{"import":"./html.js","require":"./html.cjs"},"./crank.js":{"import":"./crank.js","require":"./crank.cjs"},"./package.json":"./package.json"},"gitHead":"4dc867c9fccd04f97b391fe8ad1a347fc5a26607","_npmUser":{"name":"brainkim","email":"briankimpossible@gmail.com"},"repository":{"url":"git+https://github.com/bikeshaving/crank.git","type":"git"},"_npmVersion":"8.19.1","description":"Write JSX-driven components with functions, promises and generators.","directories":{},"_nodeVersion":"18.9.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"shx":"^0.3.4","uvu":"^0.5.6","sinon":"^14.0.0","eslint":"^8.19.0","rollup":"^2.76.0","ts-node":"^10.9.0","prettier":"^2.7.1","typescript":"^4.7.4","@types/sinon":"^10.0.12","magic-string":"^0.26.2","playwright-test":"^8.1.1","@arkweid/lefthook":"^0.7.7","eslint-plugin-react":"^7.30.1","eslint-config-prettier":"^8.5.0","eslint-plugin-prettier":"^4.2.1","@typescript-eslint/parser":"^5.30.5","rollup-plugin-typescript2":"^0.32.1","@typescript-eslint/eslint-plugin":"^5.30.5"},"_npmOperationalInternal":{"tmp":"tmp/crank_0.5.0-debug.0_1663835546289_0.9402011694338444","host":"s3://npm-registry-packages"}},"0.5.0-beta.2":{"name":"@b9g/crank","version":"0.5.0-beta.2","license":"MIT","_id":"@b9g/crank@0.5.0-beta.2","maintainers":[{"name":"brainkim","email":"briankimpossible@gmail.com"}],"homepage":"https://crank.js.org","bugs":{"url":"https://github.com/bikeshaving/crank/issues"},"dist":{"shasum":"a781c1838659baf11d2edbb828acf8247d29069c","tarball":"https://registry.npmjs.org/@b9g/crank/-/crank-0.5.0-beta.2.tgz","fileCount":30,"integrity":"sha512-Dl9sq1cL4uLd0Nks8bJ+LAIz19dMpJeieiX7MOGPVxpPl26ObnQpqD0mXsCs4HTkE2pWNM4EpzJbfL/2RobT3w==","signatures":[{"sig":"MEQCIFNvZ0uUY4ytMzDnW+PD+kREV4Hxc6T8PdBDTpyOSUGfAiAG3uflMNN+2set8Hm1i/N3ITEM3VwVexGMnqdqC0vkAg==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":1033913,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjLCRHACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmpc1Q/9H7hMvVj2N6/wZEX9hc011yVzhaHAugzr4rBKf9LO8uBQIcco\r\nRrbRq9ad+Kpp/Xnzwr697tU9pXCGhledw5Tf7dUmupO8eAaB/UbGMvH/DRVO\r\n4YhfNwmgttUx/nTSSluyJBhLwKocqt6SmM6j+9d3oaK7A6uGD1iR+0S9qwC9\r\nUPGc/+LGeqzXk/eR9q6lKvaiBETNwTgYVinNCkH0g0Gy3hJYgJqRZMjEI+K/\r\nNCAurKVbaaPbChXpEblrrMdaS3A27GeAx1Ts/Wt8t0F9EVYCDc4eGtTBTXYd\r\nUkXoz4vV3FUQKz6paqLt1DQATfHEvvaI9TNFhnuO9VpwDa4DOuE8oYS+C3BL\r\n1hOZt/dAErN6tEwzBWdG90seldTkq0V9aPlVQ/BUaUUijmUROw/yqz8f38Xa\r\nYzpjyP/OW22a3bEAzJ7U0qra7H2k0NjlQ3lvc8QFBANwnDlzagw46bxxodpz\r\nfzpIoViWrWKT+mEdA4At+K+/x7a8WyxkieeGYEatRY/K2p5WO6BRaNNqRUpF\r\nFyO/dzmM09CAOFPo/ed3zgS3W0VfsSVA66rHl/2gVR7Xp8ND8nfcbzJXKBvU\r\niyWKuey9I65piH8vaDbio1UzbadKIrv94DkZbk5To5kKmPo9ZM9GbXJAA7lq\r\ndlYAEsaB9/Fwackxo4m2zpCkUutypJceXuo=\r\n=ajdq\r\n-----END PGP SIGNATURE-----\r\n"},"main":"mod.cjs","type":"module","types":"mod.d.ts","module":"mod.js","exports":{".":{"import":"./mod.js","require":"./mod.cjs"},"./xm":{"import":"./xm.js","require":"./xm.cjs"},"./dom":{"import":"./dom.js","require":"./dom.cjs"},"./mod":{"import":"./mod.js","require":"./mod.cjs"},"./umd":{"require":"./umd.js"},"./html":{"import":"./html.js","require":"./html.cjs"},"./crank":{"import":"./crank.js","require":"./crank.cjs"},"./xm.js":{"import":"./xm.js","require":"./xm.cjs"},"./dom.js":{"import":"./dom.js","require":"./dom.cjs"},"./mod.js":{"import":"./mod.js","require":"./mod.cjs"},"./umd.js":{"require":"./umd.js"},"./html.js":{"import":"./html.js","require":"./html.cjs"},"./crank.js":{"import":"./crank.js","require":"./crank.cjs"},"./package.json":"./package.json"},"gitHead":"4221c3e6988ca984f99dc27b45e34b538673c38d","_npmUser":{"name":"brainkim","email":"briankimpossible@gmail.com"},"repository":{"url":"git+https://github.com/bikeshaving/crank.git","type":"git"},"_npmVersion":"8.19.1","description":"Write JSX-driven components with functions, promises and generators.","directories":{},"_nodeVersion":"18.9.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"shx":"^0.3.4","uvu":"^0.5.6","sinon":"^14.0.0","eslint":"^8.19.0","rollup":"^2.76.0","ts-node":"^10.9.0","prettier":"^2.7.1","typescript":"^4.7.4","@types/sinon":"^10.0.12","magic-string":"^0.26.2","playwright-test":"^8.1.1","@arkweid/lefthook":"^0.7.7","eslint-plugin-react":"^7.30.1","eslint-config-prettier":"^8.5.0","eslint-plugin-prettier":"^4.2.1","@typescript-eslint/parser":"^5.30.5","rollup-plugin-typescript2":"^0.32.1","@typescript-eslint/eslint-plugin":"^5.30.5"},"_npmOperationalInternal":{"tmp":"tmp/crank_0.5.0-beta.2_1663837255112_0.14434928982741124","host":"s3://npm-registry-packages"}},"0.5.0-beta.3":{"name":"@b9g/crank","version":"0.5.0-beta.3","license":"MIT","_id":"@b9g/crank@0.5.0-beta.3","maintainers":[{"name":"brainkim","email":"briankimpossible@gmail.com"}],"homepage":"https://crank.js.org","bugs":{"url":"https://github.com/bikeshaving/crank/issues"},"dist":{"shasum":"1be927732a60d85105e1437aa95caaad510477bd","tarball":"https://registry.npmjs.org/@b9g/crank/-/crank-0.5.0-beta.3.tgz","fileCount":30,"integrity":"sha512-qenjxF69CX5Cy9ALH6E7Ob1589IkBGIw9ffZgdLEdGAdfAUgXCy44EK/UzNzdfnCCfF5cOgdeqU52yuSH1+Zug==","signatures":[{"sig":"MEYCIQCMTuFRLL3Eub3S4WIFbAOvKbYiPRz/FhT3QCPgYFHj4wIhAKcUf4wtCISCXzw2nf2gAul7ANvym43h9SPQBmjbJnd6","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":1086656,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjdoGlACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmqCzw/6AwV0Y10Lvg7rXb/XQ8on9tLd/dsfKYgpFo7JZ4ZywOw/gJ1J\r\nH7BjqytQNhJYDJDFpd4m2Fx8v2Z9KE56WQyd3TY+Js2ys06f5caA+GT1Z3XH\r\nCNip7ltsodEl0Ewjal0mUGpL2VvgYz5zGzxnIlsAb0LbdI23LJVLTJ7cLkPA\r\nxlD24nE6oIgarHE+pyVFPWTdo3B+SkpRgOvPHx9asPSK1uZVgz/aUuz1ShkA\r\nuz4ANetk/jDcRHHbvjrYU/EJDutw9uWXYi5D7vWWC5df2ViCUM8XS5rXfNPA\r\nq7YgtUcEvWjdx2p2wcqa2wMP1VAfFBd3ISIh/f8D5WcM/BYUx5n4/8oW8i0M\r\n7rVu4VySXlKa/tN9MquTNa8oS1id/ciKhuA6GJEsDwx6f0kf56T4pw0vpczO\r\nx+hT2iKBYR3NEbTKfcTgGMP1wDve5tiX+LPZXMD3B/mO2s7/hqaNZd68MNac\r\nV6FD8DOKu00wdyrVtbTMeuC5kxXyvvGR0CMExYwW3cbRC0DETvSHOOAMwQlP\r\nQz6zsmjlNxpmMgw9PE4i7XyAqwzMgDm9pkUyzPK6LaPY4+RDYRoJIg/FzIh3\r\nEYnGdBXjOL2TMMBGavIGNP82tplR003zmaJ1msAYVFdOcWwZqCnpBtoL5UJx\r\nOkKtA+p24b78iEnej2OnqE3h2MyQtco2Dm4=\r\n=c/3s\r\n-----END PGP SIGNATURE-----\r\n"},"main":"mod.cjs","type":"module","types":"mod.d.ts","module":"mod.js","exports":{".":{"import":"./mod.js","require":"./mod.cjs"},"./dom":{"import":"./dom.js","require":"./dom.cjs"},"./jsx":{"import":"./jsx.js","require":"./jsx.cjs"},"./mod":{"import":"./mod.js","require":"./mod.cjs"},"./umd":{"require":"./umd.js"},"./html":{"import":"./html.js","require":"./html.cjs"},"./crank":{"import":"./crank.js","require":"./crank.cjs"},"./dom.js":{"import":"./dom.js","require":"./dom.cjs"},"./jsx.js":{"import":"./jsx.js","require":"./jsx.cjs"},"./mod.js":{"import":"./mod.js","require":"./mod.cjs"},"./umd.js":{"require":"./umd.js"},"./html.js":{"import":"./html.js","require":"./html.cjs"},"./crank.js":{"import":"./crank.js","require":"./crank.cjs"},"./package.json":"./package.json"},"gitHead":"77b1257a023c3ce876f6de4c26e537604e17d6eb","_npmUser":{"name":"brainkim","email":"briankimpossible@gmail.com"},"repository":{"url":"git+https://github.com/bikeshaving/crank.git","type":"git"},"_npmVersion":"8.19.2","description":"Write JSX-driven components with functions, promises and generators.","directories":{},"_nodeVersion":"16.18.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"shx":"^0.3.4","uvu":"^0.5.6","sinon":"^14.0.0","eslint":"^8.19.0","rollup":"^2.76.0","ts-node":"^10.9.0","prettier":"^2.7.1","typescript":"^4.7.4","@types/sinon":"^10.0.12","magic-string":"^0.26.2","playwright-test":"^8.1.1","@arkweid/lefthook":"^0.7.7","eslint-plugin-react":"^7.30.1","eslint-config-prettier":"^8.5.0","eslint-plugin-prettier":"^4.2.1","@typescript-eslint/parser":"^5.30.5","rollup-plugin-typescript2":"^0.32.1","@typescript-eslint/eslint-plugin":"^5.30.5"},"_npmOperationalInternal":{"tmp":"tmp/crank_0.5.0-beta.3_1668710821679_0.3227400065752184","host":"s3://npm-registry-packages"}},"0.5.0-beta.4":{"name":"@b9g/crank","version":"0.5.0-beta.4","license":"MIT","_id":"@b9g/crank@0.5.0-beta.4","maintainers":[{"name":"brainkim","email":"briankimpossible@gmail.com"}],"homepage":"https://crank.js.org","bugs":{"url":"https://github.com/bikeshaving/crank/issues"},"dist":{"shasum":"0ad7f4d61d1dcffe2f554115dcbe5d0dd370ba2d","tarball":"https://registry.npmjs.org/@b9g/crank/-/crank-0.5.0-beta.4.tgz","fileCount":30,"integrity":"sha512-hnxgs/wGJxv6fGlnoA6AXp6YEZTuCfMWmZhe1PFzT4BJwxVdvWaFw7IlgVxt4nznY6d3S2JKlG3DX02+33EiEA==","signatures":[{"sig":"MEUCIDVhoJ+u05kP6Vb2mUX8rOcfLC7VXvfXb/MfQeUTni9aAiEA5rq9rMGTugTSuMPBwQyNPDd+gdmNE+E0CCnYuNfNCvc=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":1094437,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjh6PcACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmqYrRAAmS0+itmULIB85J1WF/3Rf/zgchPCAM0SePwoTfMzBDX4dLsy\r\nAP0G4BcZm7TkqnzOl1gtHSgVRpRGRTMoCcitPadbXZYZVPdZQVoP0SfdzRs1\r\n1yb2sd0JK7pJYaWUOwmmLQz74y7GtRYHqNrc+0LZ7uH0Yrt6gPBzxRryuR74\r\n+EqQOeMutsaTSPULA/Av8zTbEMETcmeneIfIm4+xRUd/3N4xZPBPrMXqt9FN\r\nQN/2EHFS0Y6kzbD6nth9kElrvxMFhDpZNrQjzDLjNw5CnJQDyX6ULSFeMue3\r\nXxAVO9Cblc4LiDVYaFLj1ZydlyNQApICdyyXck5+Z9eRDWqHeDqksuyhjUMB\r\n0f28ypB8iaq2KFBipQAf7lHBv6WVv5CXnXbb46kj+EfIvfreGqnWJocvfHEV\r\n+sLnKHu7kTRaIvaqlfTfBShHQte7uB1z22yuWT1WyLa/VmHyBKtg5o/5D6ng\r\nXv/ElFa993UMkpRwW/LivOWXhKzcRrcyG8T3mouupnxtp3atrTsjQa+VTEkF\r\n7UYVks7ZW6GaWJXDZ6FU6dyoPJHjstPXxgEzbnkqKaGWyZSBhW7PI6D6TbIW\r\nYWhfXUujdALujgVpFi4w11ltFQ353T3gAOvnViJBV2280IHpjCxJKUAsS0m9\r\nJoQZywo0p/fhH+jekHGkG6mMHXXBtgvpFT8=\r\n=Ae2T\r\n-----END PGP SIGNATURE-----\r\n"},"main":"mod.cjs","type":"module","types":"mod.d.ts","module":"mod.js","exports":{".":{"import":"./mod.js","require":"./mod.cjs"},"./dom":{"import":"./dom.js","require":"./dom.cjs"},"./mod":{"import":"./mod.js","require":"./mod.cjs"},"./umd":{"require":"./umd.js"},"./html":{"import":"./html.js","require":"./html.cjs"},"./tags":{"import":"./tags.js","require":"./tags.cjs"},"./crank":{"import":"./crank.js","require":"./crank.cjs"},"./dom.js":{"import":"./dom.js","require":"./dom.cjs"},"./mod.js":{"import":"./mod.js","require":"./mod.cjs"},"./umd.js":{"require":"./umd.js"},"./html.js":{"import":"./html.js","require":"./html.cjs"},"./tags.js":{"import":"./tags.js","require":"./tags.cjs"},"./crank.js":{"import":"./crank.js","require":"./crank.cjs"},"./package.json":"./package.json"},"gitHead":"6f294eb75c52321de920d7fff3cae5bf2d5a94ae","_npmUser":{"name":"brainkim","email":"briankimpossible@gmail.com"},"repository":{"url":"git+https://github.com/bikeshaving/crank.git","type":"git"},"_npmVersion":"8.19.2","description":"Write JSX-driven components with functions, promises and generators.","directories":{},"_nodeVersion":"16.18.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"shx":"^0.3.4","uvu":"^0.5.6","sinon":"^14.0.0","eslint":"^8.19.0","rollup":"^2.76.0","ts-node":"^10.9.0","prettier":"^2.7.1","typescript":"^4.7.4","@types/sinon":"^10.0.12","magic-string":"^0.26.2","playwright-test":"^8.1.1","@arkweid/lefthook":"^0.7.7","eslint-plugin-react":"^7.30.1","eslint-config-prettier":"^8.5.0","eslint-plugin-prettier":"^4.2.1","@typescript-eslint/parser":"^5.30.5","rollup-plugin-typescript2":"^0.32.1","@typescript-eslint/eslint-plugin":"^5.30.5"},"_npmOperationalInternal":{"tmp":"tmp/crank_0.5.0-beta.4_1669833692437_0.8854019157612405","host":"s3://npm-registry-packages"}},"0.5.0-beta.5":{"name":"@b9g/crank","version":"0.5.0-beta.5","license":"MIT","_id":"@b9g/crank@0.5.0-beta.5","maintainers":[{"name":"brainkim","email":"briankimpossible@gmail.com"}],"homepage":"https://crank.js.org","bugs":{"url":"https://github.com/bikeshaving/crank/issues"},"dist":{"shasum":"e9606d4f8e47dc8b34bb19bc6e3eb018196f73fa","tarball":"https://registry.npmjs.org/@b9g/crank/-/crank-0.5.0-beta.5.tgz","fileCount":30,"integrity":"sha512-YhYSov8sTlVl2EdDD52Bcsm8qsFIkXw7vDiOOe3oAyQce8h/HE3h/u/0nyhpT8ILu27Fim2Dd/qrXqj5HMfpHw==","signatures":[{"sig":"MEQCIBmUNLlaQ0uBPTohXd3NmeYM70iMXKXa291geSp+GCh0AiBagSVAhhYiwMptv3wom5rxciEgjz5FHrK4lshGATmApQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":1142972,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjh6pzACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmrlGhAAi0r+JWNsek/DIx4975ZGpFvkPS4muOvb4/tzqWdQLgPAwphU\r\nUVWTlTAg+GxFZ2fvjjzz+jqp2gHUlU0fZeDeyJFMzCGGM7I3cef1/tnwghHK\r\ngvn2ylpGDb7scZSDhckWM1wg2uXOR2PwAQ0zaY8SranJxgXvQhx7jrFb8nfB\r\nDTheSRqf4ppFIg3gsEdqIuLEEH2oEH3x/rnR07Afapjq8ibLEcwh3t9MWWjH\r\ng0+os5MIqsRCqkOtgV3qJ7UIiFjAEO93bZV+biYZl4b2o5kkLtYc3x6EHcH3\r\nDHwbjynmKWbG7PdoGeox3j5t5WPJWco/FE/lAscHoPAbSbuSDupNCTsmbher\r\nk2Bk2ggpz2NSWkEt0zm7HSYE0o6+625dPfCynASa3ANTtKY/AsrMNGl6IrQE\r\nEeqKQKERU+o+JwxR0i2OqiYDEnTdSYJgVkyliuq4KeOhjffdIsH2psspkyKm\r\nFmuwb/pE5cQJx9pakQdeBwoQcDFKjQIHGOR66ZD70phboY72TCs/nG1cFrs6\r\nPFjjNJ5cQN9XviCsOCkyKpi0s3e/O4iMfCy3MqI51n2noOwhP5odI2hRKu9O\r\nXN6jKuhDne2Mnh06kgYmGcHnA7aLny5R+GgZCezMftP+mJH5+T/Hews1jbxA\r\nJB+J1eFaE4JuzQdSahq+SEYc0QiHBX5mhHk=\r\n=xh5b\r\n-----END PGP SIGNATURE-----\r\n"},"main":"crank.cjs","type":"module","types":"crank.d.ts","module":"crank.js","exports":{".":{"import":"./crank.js","require":"./crank.cjs"},"./dom":{"import":"./dom.js","require":"./dom.cjs"},"./umd":{"require":"./umd.js"},"./core":{"import":"./core.js","require":"./core.cjs"},"./html":{"import":"./html.js","require":"./html.cjs"},"./tags":{"import":"./tags.js","require":"./tags.cjs"},"./crank":{"import":"./crank.js","require":"./crank.cjs"},"./dom.js":{"import":"./dom.js","require":"./dom.cjs"},"./umd.js":{"require":"./umd.js"},"./core.js":{"import":"./core.js","require":"./core.cjs"},"./html.js":{"import":"./html.js","require":"./html.cjs"},"./tags.js":{"import":"./tags.js","require":"./tags.cjs"},"./crank.js":{"import":"./crank.js","require":"./crank.cjs"},"./package.json":"./package.json"},"gitHead":"4c76b46cdd55155878bbb4c256426eccb5fa4ce8","_npmUser":{"name":"brainkim","email":"briankimpossible@gmail.com"},"repository":{"url":"git+https://github.com/bikeshaving/crank.git","type":"git"},"_npmVersion":"8.19.2","description":"Write JSX-driven components with functions, promises and generators.","directories":{},"_nodeVersion":"16.18.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"shx":"^0.3.4","uvu":"^0.5.6","sinon":"^14.0.0","eslint":"^8.19.0","rollup":"^2.76.0","ts-node":"^10.9.0","prettier":"^2.7.1","typescript":"^4.7.4","@types/sinon":"^10.0.12","magic-string":"^0.26.2","playwright-test":"^8.1.1","@arkweid/lefthook":"^0.7.7","eslint-plugin-react":"^7.30.1","eslint-config-prettier":"^8.5.0","eslint-plugin-prettier":"^4.2.1","@typescript-eslint/parser":"^5.30.5","rollup-plugin-typescript2":"^0.32.1","@typescript-eslint/eslint-plugin":"^5.30.5"},"_npmOperationalInternal":{"tmp":"tmp/crank_0.5.0-beta.5_1669835379211_0.7232871344363525","host":"s3://npm-registry-packages"}},"0.5.0-beta.6":{"name":"@b9g/crank","version":"0.5.0-beta.6","license":"MIT","_id":"@b9g/crank@0.5.0-beta.6","maintainers":[{"name":"brainkim","email":"briankimpossible@gmail.com"}],"homepage":"https://crank.js.org","bugs":{"url":"https://github.com/bikeshaving/crank/issues"},"dist":{"shasum":"71895fcfd8461efc26348524f8529809ebcb65ff","tarball":"https://registry.npmjs.org/@b9g/crank/-/crank-0.5.0-beta.6.tgz","fileCount":35,"integrity":"sha512-yQHsAOqzzicsycOif9nBuHlEk68yHuVXx+oYybqBSI/jq4G80YkiIHnXtlGYkKXUCZoCaF/3lwGYfqWwuF+Pzg==","signatures":[{"sig":"MEUCIQCBvNwfTPZeQDthenchVpCNiSewLE2EoyuhUiazNcPxTQIgQJHR/aqbYwJw5vxwojFe1mp1QIwUyAbKIRvg79DgaYc=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":1147319,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjiUy1ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmpKsQ/8DQk24otU/uLRTK7gCvTEkyrwZXLJvEa9pJ2uiAShBypUz9t0\r\ndOiesAjAG+3zVbnOuXvvW13v7LrLzvh2Qq6u5DB8VX3Q42nKVpq3KT+1snMC\r\n61wFWgpB89Tq0d5pwdq91iSxSS2MPnqECDMahYzxd0sbdqsaLHE1isnxbAfn\r\nA/0+hVO7wXqKX/8DPbX32C0emJx6D8deDMZEitoNpYXg2DvsBMzkvlupuc0D\r\nT5OM9Wg2BUv+1Q6A1cKlaN3nzZSyfsTLCeV3Yg8apCkJSplMFHorQV4kf7gv\r\nmnLhPOLXICFBxPPIJyIq51jkrZ2aVqEwBaM9jWRXFtPiuUHZ10cNgl27JjFT\r\nrsqTfMLESc3xdoiY+qRkaXfoQVQGf+g+DZ6AWPast+S/FsIJ99xpLIqzfPf1\r\nmpP1xpB+YwRMBr5ve/E2IAnwmzXHTGf/HzEr6nj7b4qHonL8lXJfovAN3XWQ\r\n+bpqcRWOHBo70SXymSdgEPC7VAw6nrAECVuoQhYjcy65w/2qLjHgmrNk4KU2\r\nB5S4JHQS649XRlRh0RU75ctAWon6c0pLWVOPHO2Elty6LAH1CC9pyq+8fB51\r\nTv5thM6fIQwMvN7OuPLWdfdTGAI0PNqdhHC19n/t0Lpxn2s/vsMi7CeaXsvr\r\n/vGj2RCtM1MFjr1zBnag0gnfFd9IPrpOJ1c=\r\n=Av0s\r\n-----END PGP SIGNATURE-----\r\n"},"main":"crank.cjs","type":"module","types":"crank.d.ts","module":"crank.js","exports":{".":{"import":"./crank.js","require":"./crank.cjs"},"./dom":{"import":"./dom.js","require":"./dom.cjs"},"./umd":{"require":"./umd.js"},"./core":{"import":"./core.js","require":"./core.cjs"},"./html":{"import":"./html.js","require":"./html.cjs"},"./tags":{"import":"./tags.js","require":"./tags.cjs"},"./crank":{"import":"./crank.js","require":"./crank.cjs"},"./dom.js":{"import":"./dom.js","require":"./dom.cjs"},"./umd.js":{"require":"./umd.js"},"./core.js":{"import":"./core.js","require":"./core.cjs"},"./html.js":{"import":"./html.js","require":"./html.cjs"},"./tags.js":{"import":"./tags.js","require":"./tags.cjs"},"./crank.js":{"import":"./crank.js","require":"./crank.cjs"},"./jsx-runtime":{"import":"./jsx-runtime.js","require":"./jsx-runtime.cjs"},"./package.json":"./package.json","./jsx-runtime.js":{"import":"./jsx-runtime.js","require":"./jsx-runtime.cjs"}},"gitHead":"2f767c5d68072ddd4c0b5174db608896445c639f","_npmUser":{"name":"brainkim","email":"briankimpossible@gmail.com"},"repository":{"url":"git+https://github.com/bikeshaving/crank.git","type":"git"},"_npmVersion":"8.19.2","description":"Write JSX-driven components with functions, promises and generators.","directories":{},"_nodeVersion":"16.18.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"shx":"^0.3.4","uvu":"^0.5.6","sinon":"^14.0.0","eslint":"^8.19.0","rollup":"^2.76.0","ts-node":"^10.9.0","prettier":"^2.7.1","typescript":"^4.7.4","@types/sinon":"^10.0.12","magic-string":"^0.26.2","playwright-test":"^8.1.1","@arkweid/lefthook":"^0.7.7","eslint-plugin-react":"^7.30.1","eslint-config-prettier":"^8.5.0","eslint-plugin-prettier":"^4.2.1","@typescript-eslint/parser":"^5.30.5","rollup-plugin-typescript2":"^0.32.1","@typescript-eslint/eslint-plugin":"^5.30.5"},"_npmOperationalInternal":{"tmp":"tmp/crank_0.5.0-beta.6_1669942453627_0.4772977078825622","host":"s3://npm-registry-packages"}},"0.5.0-beta.7":{"name":"@b9g/crank","version":"0.5.0-beta.7","license":"MIT","_id":"@b9g/crank@0.5.0-beta.7","maintainers":[{"name":"brainkim","email":"briankimpossible@gmail.com"}],"homepage":"https://crank.js.org","bugs":{"url":"https://github.com/bikeshaving/crank/issues"},"dist":{"shasum":"1fddf76df0234f91628dc3ceebdafe11c3683ecb","tarball":"https://registry.npmjs.org/@b9g/crank/-/crank-0.5.0-beta.7.tgz","fileCount":35,"integrity":"sha512-3ttRq8fF3gDKFlnxmUa5RLBHGi1oEG7HbEUsqrwy9w93QgJTvGpp7OmYuEnseWHOuVNfo18rxq4Md7353a73ng==","signatures":[{"sig":"MEUCIQD5iH4pejifRTwQ0bpOiO4+rG7w3JTE+NARjigawmo+XAIgDSLwZZhjiuyBIll6K72PIcbB7D6JVIIHjUrI/qWsyBc=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":1206852,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjxe4XACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmoFYhAAhHF22I8YDM+UuvQk283i3NR3OMaKBmhFFpY1TOhryA7r5Qby\r\nue0yRAm6zrJL9jgVDUTnFydRi19zqymlyeVZGwADc2nEkU+NexhCsKrtsWxh\r\ncwxqwYh9KmjhatajvGAb6gwJLv4c/1JLG0tuNBzfeM7HMY0w8mi2YgJ9xNr7\r\nwWYs47C2GNRgb0P5V+JGHbQBwwTKRnhEj2WXRhR6QAGV7e9Sy8yvuTK36MJS\r\n4wI5Me7zGi8aHiVJPSvaz9MOzuzJgWDYMXcKMLv3wrvDcFJ13yuowNlrhy+S\r\naPuX2WRE/GSuezxWR76DNAs5SYkdU0KGtFCxG08zk7A0PBXOrUlLU1yg4M4v\r\n26CJHYVcvSwaX8jFlJCjz9CuhtdZhZG1b+YSvRUUlnQcNR39vmFwoX4tlJU6\r\npvs0EuCdCwpy/MChJLjBvVHlociU76pIfBwnBlyQ2AN7kpdt5Ij7ZUtjB0Us\r\n1QQoeAEmd3rBfny8asMbZnCK2kBJIuZ/aijpC8OpNQ4usR0y7cg3ve7LNcDX\r\nqphoaWNBbtZNlCa67QbTjdmRHVXwIEEz1JnwFYtHpv9cobqFablyr9cbE92z\r\nrcSXzrKB5hOL3NKkojvhOgqBZlJa4r3aiXsjrMgO8PT3tiEgDA2TWOke8UQW\r\noS86it1skUQhkBaLEoCHEa0LMZfnNi21S48=\r\n=QGQt\r\n-----END PGP SIGNATURE-----\r\n"},"main":"crank.cjs","type":"module","types":"crank.d.ts","module":"crank.js","exports":{".":{"import":"./crank.js","require":"./crank.cjs"},"./dom":{"import":"./dom.js","require":"./dom.cjs"},"./umd":{"require":"./umd.js"},"./html":{"import":"./html.js","require":"./html.cjs"},"./crank":{"import":"./crank.js","require":"./crank.cjs"},"./dom.js":{"import":"./dom.js","require":"./dom.cjs"},"./umd.js":{"require":"./umd.js"},"./html.js":{"import":"./html.js","require":"./html.cjs"},"./jsx-tag":{"import":"./jsx-tag.js","require":"./jsx-tag.cjs"},"./crank.js":{"import":"./crank.js","require":"./crank.cjs"},"./jsx-tag.js":{"import":"./jsx-tag.js","require":"./jsx-tag.cjs"},"./standalone":{"import":"./standalone.js","require":"./standalone.cjs"},"./jsx-runtime":{"import":"./jsx-runtime.js","require":"./jsx-runtime.cjs"},"./package.json":"./package.json","./standalone.js":{"import":"./standalone.js","require":"./standalone.cjs"},"./jsx-runtime.js":{"import":"./jsx-runtime.js","require":"./jsx-runtime.cjs"}},"gitHead":"bc9e00d0022d47dc42c26f1b9c2ac915ba599906","_npmUser":{"name":"brainkim","email":"briankimpossible@gmail.com"},"repository":{"url":"git+https://github.com/bikeshaving/crank.git","type":"git"},"_npmVersion":"8.19.2","description":"Write JSX-driven components with functions, promises and generators.","directories":{},"_nodeVersion":"16.18.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"shx":"^0.3.4","uvu":"^0.5.6","sinon":"^15.0.1","eslint":"^8.32.0","rollup":"^3.10.0","ts-node":"^10.9.1","prettier":"^2.8.3","typescript":"^4.9.4","@types/sinon":"^10.0.13","magic-string":"^0.27.0","playwright-test":"^8.1.2","@arkweid/lefthook":"^0.7.7","eslint-plugin-react":"^7.32.0","eslint-config-prettier":"^8.6.0","eslint-plugin-prettier":"^4.2.1","@typescript-eslint/parser":"^5.48.2","rollup-plugin-typescript2":"^0.34.1","@typescript-eslint/eslint-plugin":"^5.48.2"},"_npmOperationalInternal":{"tmp":"tmp/crank_0.5.0-beta.7_1673915926859_0.42432363552267516","host":"s3://npm-registry-packages"}},"0.5.0":{"name":"@b9g/crank","version":"0.5.0","license":"MIT","_id":"@b9g/crank@0.5.0","maintainers":[{"name":"brainkim","email":"briankimpossible@gmail.com"}],"homepage":"https://crank.js.org","bugs":{"url":"https://github.com/bikeshaving/crank/issues"},"dist":{"shasum":"7cc5c5352abc3b16ed59f56fe0fe2db1640a0976","tarball":"https://registry.npmjs.org/@b9g/crank/-/crank-0.5.0.tgz","fileCount":35,"integrity":"sha512-UR8mmyo8eNEcjhk1WXFh4cuMxTBHr7DjEi8vLC2yDgsOSkRdhgiA9dnqQmCm3zyaLYChnmH4Y8teZPIAv6wehw==","signatures":[{"sig":"MEQCIBz/GpcYRgyL4HhT3RMyzuM5FVtrVcZpl+YnUmf7w9MFAiBGsB3WKOIONrxzQQmvB+Sc9m7TCbJL+PQlKFVM+DOLhg==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":1204428,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJj2oQvACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmod0w/+N+GHO79xpO2EpYYLtyqOlwaauVXr36t50J8Kgfky7Yo/Y/S2\r\nTl2AlIRNrOFIEQG0rDA2P4+1uCR3t6fSq7czvPyKiDAdzFDDGxUzoV1i51gt\r\nwhj/Z5kAypT4aav0C2UCPpegUZbwcMLvLb+IcPQsfHLQ3L+SFK6yuGDkd+x0\r\nPNfzHuNOy3Fk5o+3CvTwgulyIF8uq92KOncGt9EIiH46CheEI0oWmBUYC1TF\r\nift2sP3hinEnDAdXY/oPH6PBeoRme75e8mKpNebdMy2oSXLgCFm+LLKjm5h8\r\ngC8qo4hTDqjcadi4EUlAAEsvnwpgUAG6xxlgAsN12DeDMQg4zMl6ULHzc4Af\r\nw6LTUsN3HujDfpkPB1uBDHNZg8xD2PK9zHVa+IrbqKVyHd1uTMVUejkPjtNF\r\n/g2UPZklsCdhVsmVfeLjlx0gAtFl+Z1Q2ZMiSzwjRIK7DbTiYAbKQ4hy3FAe\r\nOv9pKeeVLifftGd9JaNRjHqvpRASIAwWdOodrkd1oBDEPh0ThxPn3k9ltieM\r\nRiruKVrcItm93YjXo+34+ubdJKZzMKr+4jeBubeHhSmDy1/LDLxu7U+m6yhj\r\nj1g5s7wbCK32Tvb//trpXeDLqp45JWpVv+oczAaZA4mRKfPh2bLVRxtS676+\r\nnCvCs3ZHA51nEs9lThTdOhzpjqWfhreV8+0=\r\n=mZEg\r\n-----END PGP SIGNATURE-----\r\n"},"main":"crank.cjs","type":"module","types":"crank.d.ts","module":"crank.js","exports":{".":{"import":"./crank.js","require":"./crank.cjs"},"./dom":{"import":"./dom.js","require":"./dom.cjs"},"./umd":{"require":"./umd.js"},"./html":{"import":"./html.js","require":"./html.cjs"},"./crank":{"import":"./crank.js","require":"./crank.cjs"},"./dom.js":{"import":"./dom.js","require":"./dom.cjs"},"./umd.js":{"require":"./umd.js"},"./html.js":{"import":"./html.js","require":"./html.cjs"},"./jsx-tag":{"import":"./jsx-tag.js","require":"./jsx-tag.cjs"},"./crank.js":{"import":"./crank.js","require":"./crank.cjs"},"./jsx-tag.js":{"import":"./jsx-tag.js","require":"./jsx-tag.cjs"},"./standalone":{"import":"./standalone.js","require":"./standalone.cjs"},"./jsx-runtime":{"import":"./jsx-runtime.js","require":"./jsx-runtime.cjs"},"./package.json":"./package.json","./standalone.js":{"import":"./standalone.js","require":"./standalone.cjs"},"./jsx-runtime.js":{"import":"./jsx-runtime.js","require":"./jsx-runtime.cjs"}},"gitHead":"d3a51189e229b112dfeafa9aecc9b6170adf2b78","_npmUser":{"name":"brainkim","email":"briankimpossible@gmail.com"},"repository":{"url":"git+https://github.com/bikeshaving/crank.git","type":"git"},"_npmVersion":"8.19.2","description":"Write JSX-driven components with functions, promises and generators.","directories":{},"_nodeVersion":"16.18.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"shx":"^0.3.4","uvu":"^0.5.6","sinon":"^15.0.1","eslint":"^8.32.0","rollup":"^3.10.0","ts-node":"^10.9.1","prettier":"^2.8.3","typescript":"^4.9.4","@types/sinon":"^10.0.13","magic-string":"^0.27.0","playwright-test":"^8.1.2","@arkweid/lefthook":"^0.7.7","eslint-plugin-react":"^7.32.0","eslint-config-prettier":"^8.6.0","eslint-plugin-prettier":"^4.2.1","@typescript-eslint/parser":"^5.48.2","rollup-plugin-typescript2":"^0.34.1","@typescript-eslint/eslint-plugin":"^5.48.2"},"_npmOperationalInternal":{"tmp":"tmp/crank_0.5.0_1675265071287_0.7905837744817499","host":"s3://npm-registry-packages"}},"0.5.1":{"name":"@b9g/crank","version":"0.5.1","license":"MIT","_id":"@b9g/crank@0.5.1","maintainers":[{"name":"brainkim","email":"briankimpossible@gmail.com"}],"homepage":"https://crank.js.org","bugs":{"url":"https://github.com/bikeshaving/crank/issues"},"dist":{"shasum":"6cacdef81a937b95664d5f7f6db4d39dbfd9881c","tarball":"https://registry.npmjs.org/@b9g/crank/-/crank-0.5.1.tgz","fileCount":35,"integrity":"sha512-rXvXfUuBdHai2cRMpnx2K5lOMTpywkMVMpDHUcLFvyNASOGGo1oJ1mSswG3GUEVcTCCQNMahyY7pF7KEDVGZWw==","signatures":[{"sig":"MEUCIDo9p7Mn8s8PMZ5zS2Lo975cNYmfNh5FvX7+5xY80Ml5AiEAsRL/nCDW3OXNIpP46+X277CMOKMLGGh2TFKpgbIaIXQ=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":1205247,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJj20nZACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmpYNw//cdVXFXeQDCeSJ9J/mKggAsAEhaznSQfO0pELUajlhxKaXKDW\r\neInLz5mZ49Dxabiq0nEs83SQxgtEzaUtfgKbqRLApkfcPrzWiNNEpLyMGM/w\r\nLuUw4ynZli+jHFcABp3tfdkcVqFysL8DXXgmNDToPMyP0UEeB0KiDH2XW33I\r\nw4/NawTMpLUoMCDhd2xPuircQ0WTqEY/zqkAG3ki2sPgtFtQURRMNPgpgi0L\r\n9tNL9g/tF3NGEXJWx1nUpnm8UVu4eiin4EJ73cnpaSE5/8zTyIJ+F0MN56Ck\r\nono6QO6dGCHLwyh5APdVfUVtkCnNNe7czdFyv7uX+T9N8sXyXiuaZC//nJD2\r\nazqXtj7wkV92FHifCc1srM0se+aMX6t1o4E4cN02S0mnLxuu0pWL8i8lc2lq\r\ntSZIuCPQNXdV7VihVpNYSxJME5qqCx9b7GxoiEKEajVqtc6qnsSXeSfhxebW\r\noG7SfMu2bHoqLkAGLdme1zssJcen5Kt9Zhsij4BzJ6zP227mM9SStN/VXDEH\r\nBtMX/YeoWdDE4G8RAQ3ZDHgdXQ4LrkpK24WBNiLEdI8fAEqSlHwkvB8KZZGV\r\n/aB4p6E9GWwv54PmkE/vWwVduWAyyFZJDVZj3eU30aVLp5Ij4D91A65BbGR0\r\nbqPooGX86cW5PylmZ6ibVF+4yNoffZjyV7k=\r\n=qXlX\r\n-----END PGP SIGNATURE-----\r\n"},"main":"crank.cjs","type":"module","types":"crank.d.ts","module":"crank.js","exports":{".":{"import":"./crank.js","require":"./crank.cjs"},"./dom":{"import":"./dom.js","require":"./dom.cjs"},"./umd":{"require":"./umd.js"},"./html":{"import":"./html.js","require":"./html.cjs"},"./crank":{"import":"./crank.js","require":"./crank.cjs"},"./dom.js":{"import":"./dom.js","require":"./dom.cjs"},"./umd.js":{"require":"./umd.js"},"./html.js":{"import":"./html.js","require":"./html.cjs"},"./jsx-tag":{"import":"./jsx-tag.js","require":"./jsx-tag.cjs"},"./crank.js":{"import":"./crank.js","require":"./crank.cjs"},"./jsx-tag.js":{"import":"./jsx-tag.js","require":"./jsx-tag.cjs"},"./standalone":{"import":"./standalone.js","require":"./standalone.cjs"},"./jsx-runtime":{"import":"./jsx-runtime.js","require":"./jsx-runtime.cjs"},"./package.json":"./package.json","./standalone.js":{"import":"./standalone.js","require":"./standalone.cjs"},"./jsx-runtime.js":{"import":"./jsx-runtime.js","require":"./jsx-runtime.cjs"}},"gitHead":"c436029a600c0a817e49071d436822effa7d60f5","_npmUser":{"name":"brainkim","email":"briankimpossible@gmail.com"},"repository":{"url":"git+https://github.com/bikeshaving/crank.git","type":"git"},"_npmVersion":"8.19.2","description":"Write JSX-driven components with functions, promises and generators.","directories":{},"_nodeVersion":"16.18.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"shx":"^0.3.4","uvu":"^0.5.6","sinon":"^15.0.1","eslint":"^8.32.0","rollup":"^3.10.0","ts-node":"^10.9.1","prettier":"^2.8.3","typescript":"^4.9.4","@types/sinon":"^10.0.13","magic-string":"^0.27.0","playwright-test":"^8.1.2","@arkweid/lefthook":"^0.7.7","eslint-plugin-react":"^7.32.0","eslint-config-prettier":"^8.6.0","eslint-plugin-prettier":"^4.2.1","@typescript-eslint/parser":"^5.48.2","rollup-plugin-typescript2":"^0.34.1","@typescript-eslint/eslint-plugin":"^5.48.2"},"_npmOperationalInternal":{"tmp":"tmp/crank_0.5.1_1675315673325_0.20980482059595174","host":"s3://npm-registry-packages"}},"0.5.2":{"name":"@b9g/crank","version":"0.5.2","license":"MIT","_id":"@b9g/crank@0.5.2","maintainers":[{"name":"brainkim","email":"briankimpossible@gmail.com"}],"homepage":"https://crank.js.org","bugs":{"url":"https://github.com/bikeshaving/crank/issues"},"dist":{"shasum":"1b16f39189e7b18a775c1235b1bc3b11595cc6d1","tarball":"https://registry.npmjs.org/@b9g/crank/-/crank-0.5.2.tgz","fileCount":35,"integrity":"sha512-i//1CdZncWyEKz18yGxDVJMlTh6hWh7tPh30ExkZI+ykcSkXSMm3O6gx+m+6/DXuEwHH8v1031CcKBLAOcyJ4Q==","signatures":[{"sig":"MEUCIADf/VtyE4fC5r2dyekETZlTIBKgCJGM3VsbYvkmnQ1uAiEA4PaEuy7as7VxoH6jbmslrtbZNXpquCHCq1VAgT6GmRk=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":1204766,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJj3aR0ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmqSsxAAn2xOUWptjqgwQm3XNY3xXE/6bilUASBQ8fEfIiXmQgW8qCgF\r\nukqP3U88F9NtZXA2h+SMmE/T18Z9TmQQubkeuIfl475RqPqrq5DnsFxZ/6hf\r\nLLvxj53VBGYkE0tBLUoq98EmdmxbDTyUWDn/jHvvV/4vntzaQYw9gPPBq0hs\r\nLmuRdlDhsL94QXRyI5tRP6/Ni6LSt1BVTkM8TJicAYTJCm0q/YZ5gHzsYd1K\r\nfdtioWbbB7RVtpDLy9Ng5nR2/aac7dSlpHkqIYLYess2cT9IZu9He9VEElkK\r\nC9e+RmlubsqL5gSTeBskAIjLsG6T1+rp7gVp0FfcTE8KqEEhwV+6uw1mnj8G\r\nwEIDjC0usoRU3ZLgdB6dmb4+hTaxNf/o4RtCsBbxO4JuG+E8uHwrfZAEA/M3\r\nQLBDsQHdPAr/PD0mY7CJwCDeysIkt3RFdylrBQVhCFaHAARvMA3c8C9Hgzj/\r\nM4yJcoRDuhgfUBea+MbyalI5oC0ToAs8pAjG7zs4DE+GObnopCZMIegLPyXv\r\npbSrESmTahynXSLGIfsAZ4ti+I35taUeA+dTsdmjr0vS31BazKdH34s1bM0i\r\nyL83QT0+3hql2WtESIyAcs1EpMsY967rs8Hv7aXNvx+Ufcns9iRbMuoeTY8E\r\n93VoT87GzLOteUHtSJ3kbZ3LY9ZT3gatfb8=\r\n=5MqQ\r\n-----END PGP SIGNATURE-----\r\n"},"main":"crank.cjs","type":"module","types":"crank.d.ts","module":"crank.js","exports":{".":{"import":"./crank.js","require":"./crank.cjs"},"./dom":{"import":"./dom.js","require":"./dom.cjs"},"./umd":{"require":"./umd.js"},"./html":{"import":"./html.js","require":"./html.cjs"},"./crank":{"import":"./crank.js","require":"./crank.cjs"},"./dom.js":{"import":"./dom.js","require":"./dom.cjs"},"./umd.js":{"require":"./umd.js"},"./html.js":{"import":"./html.js","require":"./html.cjs"},"./jsx-tag":{"import":"./jsx-tag.js","require":"./jsx-tag.cjs"},"./crank.js":{"import":"./crank.js","require":"./crank.cjs"},"./jsx-tag.js":{"import":"./jsx-tag.js","require":"./jsx-tag.cjs"},"./standalone":{"import":"./standalone.js","require":"./standalone.cjs"},"./jsx-runtime":{"import":"./jsx-runtime.js","require":"./jsx-runtime.cjs"},"./package.json":"./package.json","./standalone.js":{"import":"./standalone.js","require":"./standalone.cjs"},"./jsx-runtime.js":{"import":"./jsx-runtime.js","require":"./jsx-runtime.cjs"},"./jsx-dev-runtime":{"import":"./jsx-runtime.js","require":"./jsx-runtime.cjs"},"./jsx-dev-runtime.js":{"import":"./jsx-runtime.js","require":"./jsx-runtime.cjs"}},"gitHead":"77f95a8fc850d30df11200252614e63e686071c3","_npmUser":{"name":"brainkim","email":"briankimpossible@gmail.com"},"repository":{"url":"git+https://github.com/bikeshaving/crank.git","type":"git"},"_npmVersion":"8.19.2","description":"Write JSX-driven components with functions, promises and generators.","directories":{},"_nodeVersion":"16.18.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"shx":"^0.3.4","uvu":"^0.5.6","sinon":"^15.0.1","eslint":"^8.32.0","rollup":"^3.10.0","ts-node":"^10.9.1","prettier":"^2.8.3","typescript":"^4.9.5","@types/sinon":"^10.0.13","magic-string":"^0.27.0","playwright-test":"^8.1.2","@arkweid/lefthook":"^0.7.7","eslint-plugin-react":"^7.32.0","eslint-config-prettier":"^8.6.0","eslint-plugin-prettier":"^4.2.1","@typescript-eslint/parser":"^5.48.2","rollup-plugin-typescript2":"^0.34.1","@typescript-eslint/eslint-plugin":"^5.48.2"},"_npmOperationalInternal":{"tmp":"tmp/crank_0.5.2_1675469940612_0.5208895332729886","host":"s3://npm-registry-packages"}},"0.5.3":{"name":"@b9g/crank","version":"0.5.3","license":"MIT","_id":"@b9g/crank@0.5.3","maintainers":[{"name":"brainkim","email":"briankimpossible@gmail.com"}],"homepage":"https://crank.js.org","bugs":{"url":"https://github.com/bikeshaving/crank/issues"},"dist":{"shasum":"c75f0a11e3f99d7462a7d386bc1d18646beb1b4d","tarball":"https://registry.npmjs.org/@b9g/crank/-/crank-0.5.3.tgz","fileCount":35,"integrity":"sha512-oD/zELm1ldGiQyyjLb0VrsvIbmGTGb0f5BlgSeTpkg73dyKfY/8Fu6aCix85pWsyk84f9aO8kpNonaglHtwDrg==","signatures":[{"sig":"MEQCIBn1uS+9/95O14zOc69UgfAs5PcEn1DanDbDVn1AJr9HAiBWTiC9nTvhlNnaoatqslthIUdrDioV+gonoGL7nUp5hg==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":1216981,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJkDrR2ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmohKA//YiKxqt5lU208K8aucNfL1dJWkpKo5IKM9yRKo64zNDuGKQ2a\r\ng+Ip4LMV4t4M78uKTcCi/JtkdKqAaiKo8GkLjSe95fPjl4cXK93hCzQ+L2Pw\r\nXd+QrmZWy6rLv++g4a+INchiZ9bptplqVVJY3dOIckez8eXzzTZYY5sBgHpQ\r\nDvawWl9V+3EQIEdfDFGXnzypyxmvK9AM0fjdGX+Uj8bptDR5cNXaIbYwegyf\r\nKFZDUqsAJ1XFE+xqz2+p2heus937FCsoqErwIfnRSdRRs27Ovgx4nA7tA/Iv\r\narfb4/6pEvR/OBCRHT08KqQZF5mRbWnrdpyeGAU6fLgpJoGyxnqxvSD5zlCC\r\nbOhIw/GFcCdfqu/CG8LZ6CAez3YwXvPdDQhEtD9dqY8xmIr0zcelCGTL4LKS\r\nMxxFAvkn2f2EGN37WVNz2yoOKAFEpuUtbBNpXjcgGtk0zSNdz+vSaCABfg+Y\r\nv8btIMhKDNpbOKxx2cEt+u1sGHIyonwEVnk/CpwoHozDFlSMXvP/mnCwT6Mv\r\nSlFfeypr3uI6JRMztduEdDMYvQIXcfAM3l2lTHiMrAq+6JxO43aCpwEXSVzA\r\nDO8xIHi2Bb7EHu3hu9SB64LHEFxnu8rJwxVgH7Ljs5csEN0sxT+YBD9zoGVS\r\n++McC23pZKZwoJv+DRnvaTmdZIs7j9u3L1Q=\r\n=sOC6\r\n-----END PGP SIGNATURE-----\r\n"},"main":"crank.cjs","type":"module","types":"crank.d.ts","module":"crank.js","exports":{".":{"import":"./crank.js","require":"./crank.cjs"},"./dom":{"import":"./dom.js","require":"./dom.cjs"},"./umd":{"require":"./umd.js"},"./html":{"import":"./html.js","require":"./html.cjs"},"./crank":{"import":"./crank.js","require":"./crank.cjs"},"./dom.js":{"import":"./dom.js","require":"./dom.cjs"},"./umd.js":{"require":"./umd.js"},"./html.js":{"import":"./html.js","require":"./html.cjs"},"./jsx-tag":{"import":"./jsx-tag.js","require":"./jsx-tag.cjs"},"./crank.js":{"import":"./crank.js","require":"./crank.cjs"},"./jsx-tag.js":{"import":"./jsx-tag.js","require":"./jsx-tag.cjs"},"./standalone":{"import":"./standalone.js","require":"./standalone.cjs"},"./jsx-runtime":{"import":"./jsx-runtime.js","require":"./jsx-runtime.cjs"},"./package.json":"./package.json","./standalone.js":{"import":"./standalone.js","require":"./standalone.cjs"},"./jsx-runtime.js":{"import":"./jsx-runtime.js","require":"./jsx-runtime.cjs"},"./jsx-dev-runtime":{"import":"./jsx-runtime.js","require":"./jsx-runtime.cjs"},"./jsx-dev-runtime.js":{"import":"./jsx-runtime.js","require":"./jsx-runtime.cjs"}},"gitHead":"caae09d66d37061e9c7d1ce63f343b2fa105e9fc","_npmUser":{"name":"brainkim","email":"briankimpossible@gmail.com"},"repository":{"url":"git+https://github.com/bikeshaving/crank.git","type":"git"},"_npmVersion":"8.19.2","description":"Write JSX-driven components with functions, promises and generators.","directories":{},"_nodeVersion":"16.18.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"shx":"^0.3.4","uvu":"^0.5.6","sinon":"^15.0.1","eslint":"^8.32.0","rollup":"^3.10.0","ts-node":"^10.9.1","prettier":"^2.8.3","typescript":"^4.9.5","@types/sinon":"^10.0.13","magic-string":"^0.27.0","playwright-test":"^8.1.2","@arkweid/lefthook":"^0.7.7","eslint-plugin-react":"^7.32.0","eslint-config-prettier":"^8.6.0","eslint-plugin-prettier":"^4.2.1","@typescript-eslint/parser":"^5.48.2","rollup-plugin-typescript2":"^0.34.1","@typescript-eslint/eslint-plugin":"^5.48.2"},"_npmOperationalInternal":{"tmp":"tmp/crank_0.5.3_1678685302175_0.7186809161997769","host":"s3://npm-registry-packages"}},"0.5.4":{"name":"@b9g/crank","version":"0.5.4","license":"MIT","_id":"@b9g/crank@0.5.4","maintainers":[{"name":"brainkim","email":"briankimpossible@gmail.com"}],"homepage":"https://crank.js.org","bugs":{"url":"https://github.com/bikeshaving/crank/issues"},"dist":{"shasum":"f6b8be55d5dcebc9568f3664c6ab4ed9eddbb56e","tarball":"https://registry.npmjs.org/@b9g/crank/-/crank-0.5.4.tgz","fileCount":35,"integrity":"sha512-k1rRYKNl6nG0Wxt7ua0J2laXwjZZ7abTNIVJeNTVGLirQ397duTE75G7N0EU4hbRebUg+4tfG2sZAJQ+FvMi1Q==","signatures":[{"sig":"MEYCIQCnjYCWlJkzNGffmard5/VpZbkqEal43u+wtNqDcIsscQIhANuusx/YLTCYrjnHptoYPZXDLSyHrfZqIawjShzlLzCQ","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":1217376},"main":"crank.cjs","type":"module","types":"crank.d.ts","module":"crank.js","exports":{".":{"import":"./crank.js","require":"./crank.cjs"},"./dom":{"import":"./dom.js","require":"./dom.cjs"},"./umd":{"require":"./umd.js"},"./html":{"import":"./html.js","require":"./html.cjs"},"./crank":{"import":"./crank.js","require":"./crank.cjs"},"./dom.js":{"import":"./dom.js","require":"./dom.cjs"},"./umd.js":{"require":"./umd.js"},"./html.js":{"import":"./html.js","require":"./html.cjs"},"./jsx-tag":{"import":"./jsx-tag.js","require":"./jsx-tag.cjs"},"./crank.js":{"import":"./crank.js","require":"./crank.cjs"},"./jsx-tag.js":{"import":"./jsx-tag.js","require":"./jsx-tag.cjs"},"./standalone":{"import":"./standalone.js","require":"./standalone.cjs"},"./jsx-runtime":{"import":"./jsx-runtime.js","require":"./jsx-runtime.cjs"},"./package.json":"./package.json","./standalone.js":{"import":"./standalone.js","require":"./standalone.cjs"},"./jsx-runtime.js":{"import":"./jsx-runtime.js","require":"./jsx-runtime.cjs"},"./jsx-dev-runtime":{"import":"./jsx-runtime.js","require":"./jsx-runtime.cjs"},"./jsx-dev-runtime.js":{"import":"./jsx-runtime.js","require":"./jsx-runtime.cjs"}},"gitHead":"5ac98a912ebb75bec1df9dafb08d88eac4b4ccc1","_npmUser":{"name":"brainkim","email":"briankimpossible@gmail.com"},"repository":{"url":"git+https://github.com/bikeshaving/crank.git","type":"git"},"workspaces":["packages/*"],"_npmVersion":"8.19.2","description":"Write JSX-driven components with functions, promises and generators.","directories":{},"_nodeVersion":"16.18.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"shx":"^0.3.4","uvu":"^0.5.6","sinon":"^15.0.1","eslint":"^8.32.0","rollup":"^3.10.0","ts-node":"^10.9.1","prettier":"^2.8.3","typescript":"^4.9.5","@types/sinon":"^10.0.13","magic-string":"^0.27.0","playwright-test":"^8.1.2","@arkweid/lefthook":"^0.7.7","eslint-plugin-react":"^7.32.0","eslint-config-prettier":"^8.6.0","eslint-plugin-prettier":"^4.2.1","@typescript-eslint/parser":"^5.48.2","rollup-plugin-typescript2":"^0.34.1","@typescript-eslint/eslint-plugin":"^5.48.2"},"_npmOperationalInternal":{"tmp":"tmp/crank_0.5.4_1684753369872_0.5186465037062828","host":"s3://npm-registry-packages"}},"0.5.5":{"name":"@b9g/crank","version":"0.5.5","license":"MIT","_id":"@b9g/crank@0.5.5","maintainers":[{"name":"brainkim","email":"briankimpossible@gmail.com"}],"homepage":"https://crank.js.org","bugs":{"url":"https://github.com/bikeshaving/crank/issues"},"dist":{"shasum":"9596d76bb9157064c9c6271750c753b9e7b3dfb4","tarball":"https://registry.npmjs.org/@b9g/crank/-/crank-0.5.5.tgz","fileCount":35,"integrity":"sha512-rbqQN2rJCTm4bXovP3nBFaV+GSR4hqowLOHZB3TzNGTvoTWMy1kerWzs6/A3Ng2ciBPa7ve2LIgyS8r32UvKqg==","signatures":[{"sig":"MEQCIAoGTw6HClIq4qcnpZE6l37sdhZ7PDDTkED1gzVvU8cgAiAWTxRLNh1M5cjqNoklNKs52K+r+G7zP8Hy7ZkQndzVDw==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":1217558},"main":"crank.cjs","type":"module","types":"crank.d.ts","module":"crank.js","exports":{".":{"import":"./crank.js","require":"./crank.cjs"},"./dom":{"import":"./dom.js","require":"./dom.cjs"},"./umd":{"require":"./umd.js"},"./html":{"import":"./html.js","require":"./html.cjs"},"./crank":{"import":"./crank.js","require":"./crank.cjs"},"./dom.js":{"import":"./dom.js","require":"./dom.cjs"},"./umd.js":{"require":"./umd.js"},"./html.js":{"import":"./html.js","require":"./html.cjs"},"./jsx-tag":{"import":"./jsx-tag.js","require":"./jsx-tag.cjs"},"./crank.js":{"import":"./crank.js","require":"./crank.cjs"},"./jsx-tag.js":{"import":"./jsx-tag.js","require":"./jsx-tag.cjs"},"./standalone":{"import":"./standalone.js","require":"./standalone.cjs"},"./jsx-runtime":{"import":"./jsx-runtime.js","require":"./jsx-runtime.cjs"},"./package.json":"./package.json","./standalone.js":{"import":"./standalone.js","require":"./standalone.cjs"},"./jsx-runtime.js":{"import":"./jsx-runtime.js","require":"./jsx-runtime.cjs"},"./jsx-dev-runtime":{"import":"./jsx-runtime.js","require":"./jsx-runtime.cjs"},"./jsx-dev-runtime.js":{"import":"./jsx-runtime.js","require":"./jsx-runtime.cjs"}},"gitHead":"d5bc27bb33de34b85fb43b67a1f1de46bcf31a82","_npmUser":{"name":"brainkim","email":"briankimpossible@gmail.com"},"repository":{"url":"git+https://github.com/bikeshaving/crank.git","type":"git"},"workspaces":["packages/*"],"_npmVersion":"10.2.0","description":"Write JSX-driven components with functions, promises and generators.","directories":{},"_nodeVersion":"21.1.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"shx":"^0.3.4","uvu":"^0.5.6","sinon":"^15.0.1","eslint":"^8.32.0","rollup":"^3.10.0","ts-node":"^10.9.1","prettier":"^2.8.3","typescript":"^4.9.5","@types/sinon":"^10.0.13","magic-string":"^0.27.0","playwright-test":"^8.1.2","@arkweid/lefthook":"^0.7.7","eslint-plugin-react":"^7.32.0","eslint-config-prettier":"^8.6.0","eslint-plugin-prettier":"^4.2.1","@typescript-eslint/parser":"^5.48.2","rollup-plugin-typescript2":"^0.34.1","@typescript-eslint/eslint-plugin":"^5.48.2"},"_npmOperationalInternal":{"tmp":"tmp/crank_0.5.5_1699333931620_0.46356963255946093","host":"s3://npm-registry-packages"}},"0.5.6":{"name":"@b9g/crank","version":"0.5.6","license":"MIT","_id":"@b9g/crank@0.5.6","maintainers":[{"name":"brainkim","email":"briankimpossible@gmail.com"}],"homepage":"https://crank.js.org","bugs":{"url":"https://github.com/bikeshaving/crank/issues"},"dist":{"shasum":"bde224833d9b61e85de57e0ba4db2455fca6ca03","tarball":"https://registry.npmjs.org/@b9g/crank/-/crank-0.5.6.tgz","fileCount":35,"integrity":"sha512-+3PQYFttLncjH5mnhfd8njFuVG0LfhZJFqTz61xO6e6ajm6jI1Q5GaIk1tQaTtAuR1e+dUbBTDYdSGMpnONNbg==","signatures":[{"sig":"MEUCIGfNN/MlZpxMPiP/ideUIHawPW2/lyUE+JFDQRVbvk6LAiEA3yGtHtCXAx0CRGdEU8dlvZlH2ZYXcLQcl8q/+VGqYVo=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":1217305},"main":"crank.cjs","type":"module","types":"crank.d.ts","module":"crank.js","exports":{".":{"import":"./crank.js","require":"./crank.cjs"},"./dom":{"import":"./dom.js","require":"./dom.cjs"},"./umd":{"require":"./umd.js"},"./html":{"import":"./html.js","require":"./html.cjs"},"./crank":{"import":"./crank.js","require":"./crank.cjs"},"./dom.js":{"import":"./dom.js","require":"./dom.cjs"},"./umd.js":{"require":"./umd.js"},"./html.js":{"import":"./html.js","require":"./html.cjs"},"./jsx-tag":{"import":"./jsx-tag.js","require":"./jsx-tag.cjs"},"./crank.js":{"import":"./crank.js","require":"./crank.cjs"},"./jsx-tag.js":{"import":"./jsx-tag.js","require":"./jsx-tag.cjs"},"./standalone":{"import":"./standalone.js","require":"./standalone.cjs"},"./jsx-runtime":{"import":"./jsx-runtime.js","require":"./jsx-runtime.cjs"},"./package.json":"./package.json","./standalone.js":{"import":"./standalone.js","require":"./standalone.cjs"},"./jsx-runtime.js":{"import":"./jsx-runtime.js","require":"./jsx-runtime.cjs"},"./jsx-dev-runtime":{"import":"./jsx-runtime.js","require":"./jsx-runtime.cjs"},"./jsx-dev-runtime.js":{"import":"./jsx-runtime.js","require":"./jsx-runtime.cjs"}},"gitHead":"bcf53fc2761e22703b4cf7868057f8943e4a79f4","_npmUser":{"name":"brainkim","email":"briankimpossible@gmail.com"},"repository":{"url":"git+https://github.com/bikeshaving/crank.git","type":"git"},"workspaces":["packages/*"],"_npmVersion":"10.2.0","description":"Write JSX-driven components with functions, promises and generators.","directories":{},"_nodeVersion":"21.1.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"shx":"^0.3.4","uvu":"^0.5.6","sinon":"^15.0.1","eslint":"^8.32.0","rollup":"^3.10.0","ts-node":"^10.9.1","prettier":"^2.8.3","typescript":"^4.9.5","@types/sinon":"^10.0.13","magic-string":"^0.27.0","playwright-test":"^8.1.2","@arkweid/lefthook":"^0.7.7","eslint-plugin-react":"^7.32.0","eslint-config-prettier":"^8.6.0","eslint-plugin-prettier":"^4.2.1","@typescript-eslint/parser":"^5.48.2","rollup-plugin-typescript2":"^0.34.1","@typescript-eslint/eslint-plugin":"^5.48.2"},"_npmOperationalInternal":{"tmp":"tmp/crank_0.5.6_1699383383895_0.7816164995304413","host":"s3://npm-registry-packages"}},"0.5.7":{"name":"@b9g/crank","version":"0.5.7","license":"MIT","_id":"@b9g/crank@0.5.7","maintainers":[{"name":"brainkim","email":"briankimpossible@gmail.com"}],"homepage":"https://crank.js.org","bugs":{"url":"https://github.com/bikeshaving/crank/issues"},"dist":{"shasum":"9a755568acdf29e9060e83c4110071ce9750ba6f","tarball":"https://registry.npmjs.org/@b9g/crank/-/crank-0.5.7.tgz","fileCount":35,"integrity":"sha512-JFVciyEZmu8GKqJMwUn35IsAsZL8kf9O/G9rPJpxAptu0HWwNKJSVl3hcLjSQWBdG8vQgo5pW+vZzsOs4L4bmA==","signatures":[{"sig":"MEQCIEtAVAh3PuU4t1g41nzmAZL/FT/rcj3mSiJn86whVClMAiAt5SgTTTZA0LDWeR8VHXQx3ZH7t8X265T63x/s5LYXvA==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":1218829},"main":"crank.cjs","type":"module","types":"crank.d.ts","module":"crank.js","exports":{".":{"import":"./crank.js","require":"./crank.cjs"},"./dom":{"import":"./dom.js","require":"./dom.cjs"},"./umd":{"require":"./umd.js"},"./html":{"import":"./html.js","require":"./html.cjs"},"./crank":{"import":"./crank.js","require":"./crank.cjs"},"./dom.js":{"import":"./dom.js","require":"./dom.cjs"},"./umd.js":{"require":"./umd.js"},"./html.js":{"import":"./html.js","require":"./html.cjs"},"./jsx-tag":{"import":"./jsx-tag.js","require":"./jsx-tag.cjs"},"./crank.js":{"import":"./crank.js","require":"./crank.cjs"},"./jsx-tag.js":{"import":"./jsx-tag.js","require":"./jsx-tag.cjs"},"./standalone":{"import":"./standalone.js","require":"./standalone.cjs"},"./jsx-runtime":{"import":"./jsx-runtime.js","require":"./jsx-runtime.cjs"},"./package.json":"./package.json","./standalone.js":{"import":"./standalone.js","require":"./standalone.cjs"},"./jsx-runtime.js":{"import":"./jsx-runtime.js","require":"./jsx-runtime.cjs"},"./jsx-dev-runtime":{"import":"./jsx-runtime.js","require":"./jsx-runtime.cjs"},"./jsx-dev-runtime.js":{"import":"./jsx-runtime.js","require":"./jsx-runtime.cjs"}},"gitHead":"3f120f8b81b9c0b6c4e55f02be17f0f211160666","_npmUser":{"name":"brainkim","email":"briankimpossible@gmail.com"},"repository":{"url":"git+https://github.com/bikeshaving/crank.git","type":"git"},"workspaces":["packages/*"],"_npmVersion":"10.2.0","description":"Write JSX-driven components with functions, promises and generators.","directories":{},"_nodeVersion":"21.1.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"shx":"^0.3.4","uvu":"^0.5.6","sinon":"^15.0.1","eslint":"^8.32.0","rollup":"^3.10.0","ts-node":"^10.9.1","prettier":"^2.8.3","typescript":"^4.9.5","@types/sinon":"^10.0.13","magic-string":"^0.27.0","playwright-test":"^8.1.2","@arkweid/lefthook":"^0.7.7","eslint-plugin-react":"^7.32.0","eslint-config-prettier":"^8.6.0","eslint-plugin-prettier":"^4.2.1","@typescript-eslint/parser":"^5.48.2","rollup-plugin-typescript2":"^0.34.1","@typescript-eslint/eslint-plugin":"^5.48.2"},"_npmOperationalInternal":{"tmp":"tmp/crank_0.5.7_1701837995924_0.39649939193586725","host":"s3://npm-registry-packages"}},"0.6.0":{"name":"@b9g/crank","version":"0.6.0","license":"MIT","_id":"@b9g/crank@0.6.0","maintainers":[{"name":"brainkim","email":"briankimpossible@gmail.com"}],"homepage":"https://crank.js.org","bugs":{"url":"https://github.com/bikeshaving/crank/issues"},"dist":{"shasum":"03bc29b95d8e97b8f0dc63d1b736568901aa39e5","tarball":"https://registry.npmjs.org/@b9g/crank/-/crank-0.6.0.tgz","fileCount":35,"integrity":"sha512-3pzebWQ3dpOYodx/ODr0WC9XJ0DFUizKfsV0MbfcZtKvU4D6KUyN/0AcKzuouQc2s7wNsxVFxN0ky6hCUvTwjw==","signatures":[{"sig":"MEUCIQCqVWAbKpoesEK4iUSusc5yfNt5WpcFsbRZPhVRvCiNYwIgZp2kOgbJQ1sRAhWW0MQdiiVZD6rRXrixLdv7C1zYI0U=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":1230562},"main":"crank.cjs","type":"module","types":"crank.d.ts","module":"crank.js","exports":{".":{"import":"./crank.js","require":"./crank.cjs"},"./dom":{"import":"./dom.js","require":"./dom.cjs"},"./umd":{"require":"./umd.js"},"./html":{"import":"./html.js","require":"./html.cjs"},"./crank":{"import":"./crank.js","require":"./crank.cjs"},"./dom.js":{"import":"./dom.js","require":"./dom.cjs"},"./umd.js":{"require":"./umd.js"},"./html.js":{"import":"./html.js","require":"./html.cjs"},"./jsx-tag":{"import":"./jsx-tag.js","require":"./jsx-tag.cjs"},"./crank.js":{"import":"./crank.js","require":"./crank.cjs"},"./jsx-tag.js":{"import":"./jsx-tag.js","require":"./jsx-tag.cjs"},"./standalone":{"import":"./standalone.js","require":"./standalone.cjs"},"./jsx-runtime":{"import":"./jsx-runtime.js","require":"./jsx-runtime.cjs"},"./package.json":"./package.json","./standalone.js":{"import":"./standalone.js","require":"./standalone.cjs"},"./jsx-runtime.js":{"import":"./jsx-runtime.js","require":"./jsx-runtime.cjs"},"./jsx-dev-runtime":{"import":"./jsx-runtime.js","require":"./jsx-runtime.cjs"},"./jsx-dev-runtime.js":{"import":"./jsx-runtime.js","require":"./jsx-runtime.cjs"}},"gitHead":"27c94f8a2615d2b84d70bc5e83d80694d493db85","_npmUser":{"name":"brainkim","email":"briankimpossible@gmail.com"},"repository":{"url":"git+https://github.com/bikeshaving/crank.git","type":"git"},"workspaces":["packages/*"],"_npmVersion":"10.2.0","description":"Write JSX-driven components with functions, promises and generators.","directories":{},"_nodeVersion":"21.1.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"shx":"^0.3.4","uvu":"^0.5.6","sinon":"^17.0.1","eslint":"^8.56.0","rollup":"^4.9.6","ts-node":"^10.9.2","prettier":"^3.2.4","typescript":"^5.3.3","@types/sinon":"^17.0.3","magic-string":"^0.30.5","playwright-test":"^14.0.0","@arkweid/lefthook":"^0.7.7","eslint-plugin-react":"^7.33.2","eslint-config-prettier":"^9.1.0","eslint-plugin-prettier":"^5.1.3","@typescript-eslint/parser":"^6.19.0","rollup-plugin-typescript2":"^0.36.0","@typescript-eslint/eslint-plugin":"^6.19.0"},"_npmOperationalInternal":{"tmp":"tmp/crank_0.6.0_1714143424200_0.03922919953434301","host":"s3://npm-registry-packages"}},"0.6.1":{"name":"@b9g/crank","version":"0.6.1","license":"MIT","_id":"@b9g/crank@0.6.1","maintainers":[{"name":"brainkim","email":"briankimpossible@gmail.com"}],"homepage":"https://crank.js.org","bugs":{"url":"https://github.com/bikeshaving/crank/issues"},"dist":{"shasum":"f00777b2524bc1292f8c97f2c4b8c2ebd553796e","tarball":"https://registry.npmjs.org/@b9g/crank/-/crank-0.6.1.tgz","fileCount":35,"integrity":"sha512-NE5uuOMYeNdRLLGSXeM5EpyUvaNjcZmPUEs34ahnXhmlogv9yV3ymoX/RQFf63jTOvTP/wzN+vvNEfkq4sS+2g==","signatures":[{"sig":"MEQCIGgmb8M+Ne3QggD2Ef5BAXxy5+NtrE+ZyIWZuS4/jod3AiBqVyjgCWezWQFy35ybR/nGXkbxRFrWESWcZs3aSZukRw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1187184},"main":"crank.cjs","type":"module","types":"crank.d.ts","module":"crank.js","exports":{".":{"import":"./crank.js","require":"./crank.cjs"},"./dom":{"import":"./dom.js","require":"./dom.cjs"},"./umd":{"require":"./umd.js"},"./html":{"import":"./html.js","require":"./html.cjs"},"./crank":{"import":"./crank.js","require":"./crank.cjs"},"./dom.js":{"import":"./dom.js","require":"./dom.cjs"},"./umd.js":{"require":"./umd.js"},"./html.js":{"import":"./html.js","require":"./html.cjs"},"./jsx-tag":{"import":"./jsx-tag.js","require":"./jsx-tag.cjs"},"./crank.js":{"import":"./crank.js","require":"./crank.cjs"},"./jsx-tag.js":{"import":"./jsx-tag.js","require":"./jsx-tag.cjs"},"./standalone":{"import":"./standalone.js","require":"./standalone.cjs"},"./jsx-runtime":{"import":"./jsx-runtime.js","require":"./jsx-runtime.cjs"},"./package.json":"./package.json","./standalone.js":{"import":"./standalone.js","require":"./standalone.cjs"},"./jsx-runtime.js":{"import":"./jsx-runtime.js","require":"./jsx-runtime.cjs"},"./jsx-dev-runtime":{"import":"./jsx-runtime.js","require":"./jsx-runtime.cjs"},"./jsx-dev-runtime.js":{"import":"./jsx-runtime.js","require":"./jsx-runtime.cjs"}},"gitHead":"9af83fff1b8c6606c14dc87d5d8912ae769b1d78","_npmUser":{"name":"brainkim","email":"briankimpossible@gmail.com"},"repository":{"url":"git+https://github.com/bikeshaving/crank.git","type":"git"},"workspaces":["packages/*"],"_npmVersion":"10.9.2","description":"Write JSX-driven components with functions, promises and generators.","directories":{},"_nodeVersion":"23.10.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"shx":"^0.3.4","uvu":"^0.5.6","sinon":"^17.0.2","eslint":"^8.57.1","rollup":"^4.39.0","prettier":"^3.5.3","typescript":"^5.8.3","@types/node":"^22.14.0","@types/sinon":"^17.0.4","magic-string":"^0.30.17","playwright-test":"^14.1.9","@arkweid/lefthook":"^0.7.7","eslint-plugin-react":"^7.37.5","eslint-config-prettier":"^9.1.0","eslint-plugin-prettier":"^5.2.6","@typescript-eslint/parser":"^8.29.1","rollup-plugin-typescript2":"^0.36.0","@typescript-eslint/eslint-plugin":"^8.29.1"},"_npmOperationalInternal":{"tmp":"tmp/crank_0.6.1_1745288648470_0.869861871777591","host":"s3://npm-registry-packages-npm-production"}},"0.7.0":{"name":"@b9g/crank","version":"0.7.0","license":"MIT","_id":"@b9g/crank@0.7.0","maintainers":[{"name":"brainkim","email":"briankimpossible@gmail.com"}],"homepage":"https://crank.js.org","bugs":{"url":"https://github.com/bikeshaving/crank/issues"},"dist":{"shasum":"875b9bdc0e207567d568660176c66ed3bfde87ad","tarball":"https://registry.npmjs.org/@b9g/crank/-/crank-0.7.0.tgz","fileCount":46,"integrity":"sha512-H3zWkiKNEXQ2tqU+UvZhqk0pXa/K1x0PLbpbRtmtxiLe37bOzpgqtK+S402h+rAlSIEGjItbdYy2xdXBT2W4Ag==","signatures":[{"sig":"MEQCICHtRG/CmZifN63L+QeQ6PdKukU1gBxMkXdiBW6Fh5D+AiALK0XuOzuOGTB3JFEhDWwUozPnPKrEu/MfxQSOcb8ceg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1614488},"main":"crank.cjs","type":"module","types":"crank.d.ts","module":"crank.js","exports":{".":{"import":"./crank.js","require":"./crank.cjs"},"./dom":{"import":"./dom.js","require":"./dom.cjs"},"./umd":{"require":"./umd.js"},"./html":{"import":"./html.js","require":"./html.cjs"},"./async":{"import":"./async.js","require":"./async.cjs"},"./crank":{"import":"./crank.js","require":"./crank.cjs"},"./dom.js":{"import":"./dom.js","require":"./dom.cjs"},"./umd.js":{"require":"./umd.js"},"./html.js":{"import":"./html.js","require":"./html.cjs"},"./jsx-tag":{"import":"./jsx-tag.js","require":"./jsx-tag.cjs"},"./async.js":{"import":"./async.js","require":"./async.cjs"},"./crank.js":{"import":"./crank.js","require":"./crank.cjs"},"./jsx-tag.js":{"import":"./jsx-tag.js","require":"./jsx-tag.cjs"},"./standalone":{"import":"./standalone.js","require":"./standalone.cjs"},"./jsx-runtime":{"import":"./jsx-runtime.js","require":"./jsx-runtime.cjs"},"./event-target":{"import":"./event-target.js","require":"./event-target.cjs"},"./package.json":"./package.json","./standalone.js":{"import":"./standalone.js","require":"./standalone.cjs"},"./jsx-runtime.js":{"import":"./jsx-runtime.js","require":"./jsx-runtime.cjs"},"./event-target.js":{"import":"./event-target.js","require":"./event-target.cjs"},"./jsx-dev-runtime":{"import":"./jsx-runtime.js","require":"./jsx-runtime.cjs"},"./jsx-dev-runtime.js":{"import":"./jsx-runtime.js","require":"./jsx-runtime.cjs"}},"gitHead":"9f37e78a3efccc86aa63caec7c2ed83e6c55b7e6","_npmUser":{"name":"brainkim","email":"briankimpossible@gmail.com"},"repository":{"url":"git+https://github.com/bikeshaving/crank.git","type":"git"},"workspaces":["packages/*"],"_npmVersion":"11.4.2","description":"Write JSX-driven components with functions, promises and generators.","directories":{},"_nodeVersion":"24.4.1","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"shx":"^0.3.4","uvu":"^0.5.6","sinon":"^17.0.2","eslint":"^8.57.1","rollup":"^4.39.0","prettier":"^3.5.3","typescript":"^5.8.3","@types/node":"^22.14.0","@types/sinon":"^17.0.4","magic-string":"^0.30.17","playwright-test":"^14.1.9","@arkweid/lefthook":"^0.7.7","eslint-plugin-react":"^7.37.5","eslint-config-prettier":"^9.1.0","eslint-plugin-prettier":"^5.2.6","@typescript-eslint/parser":"^8.29.1","rollup-plugin-typescript2":"^0.36.0","@typescript-eslint/eslint-plugin":"^8.29.1"},"_npmOperationalInternal":{"tmp":"tmp/crank_0.7.0_1755201919468_0.2281331396623547","host":"s3://npm-registry-packages-npm-production"}},"0.7.1":{"name":"@b9g/crank","version":"0.7.1","license":"MIT","_id":"@b9g/crank@0.7.1","maintainers":[{"name":"brainkim","email":"briankimpossible@gmail.com"}],"homepage":"https://crank.js.org","bugs":{"url":"https://github.com/bikeshaving/crank/issues"},"dist":{"shasum":"78859ac793574e1dfb8f714d1558c65899ef3701","tarball":"https://registry.npmjs.org/@b9g/crank/-/crank-0.7.1.tgz","fileCount":55,"integrity":"sha512-PVl9T1wVgkTkmhIs5qWhRMBj4vnAGR/0e4wJf3UxBZq+NNKLc1FGCeHgSjMB+gv0jYEJ80LC4wZmBNCsvQPOaw==","signatures":[{"sig":"MEUCIQDFtS5r+7Vm20VI/T4Uv5Zui6LJTLk5iFObYNuRh4pD6AIgLJiPzMOHnJU481iFBTJU9bX8m/vp0Nch2FCOqzeV+nI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1662331},"main":"crank.cjs","type":"module","types":"crank.d.ts","module":"crank.js","exports":{".":{"import":"./crank.js","require":"./crank.cjs"},"./dom":{"import":"./dom.js","require":"./dom.cjs"},"./umd":{"require":"./umd.js"},"./html":{"import":"./html.js","require":"./html.cjs"},"./async":{"import":"./async.js","require":"./async.cjs"},"./crank":{"import":"./crank.js","require":"./crank.cjs"},"./dom.js":{"import":"./dom.js","require":"./dom.cjs"},"./umd.js":{"require":"./umd.js"},"./html.js":{"import":"./html.js","require":"./html.cjs"},"./jsx-tag":{"import":"./jsx-tag.js","require":"./jsx-tag.cjs"},"./async.js":{"import":"./async.js","require":"./async.cjs"},"./crank.js":{"import":"./crank.js","require":"./crank.cjs"},"./jsx-tag.js":{"import":"./jsx-tag.js","require":"./jsx-tag.cjs"},"./standalone":{"import":"./standalone.js","require":"./standalone.cjs"},"./jsx-runtime":{"import":"./jsx-runtime.js","require":"./jsx-runtime.cjs"},"./event-target":{"import":"./event-target.js","require":"./event-target.cjs"},"./package.json":"./package.json","./standalone.js":{"import":"./standalone.js","require":"./standalone.cjs"},"./jsx-runtime.js":{"import":"./jsx-runtime.js","require":"./jsx-runtime.cjs"},"./event-target.js":{"import":"./event-target.js","require":"./event-target.cjs"},"./jsx-dev-runtime":{"import":"./jsx-runtime.js","require":"./jsx-runtime.cjs"},"./jsx-dev-runtime.js":{"import":"./jsx-runtime.js","require":"./jsx-runtime.cjs"}},"gitHead":"7b3fcf15fe8c37d2adb0192550c47a815d4c0f12","_npmUser":{"name":"brainkim","email":"briankimpossible@gmail.com"},"repository":{"url":"git+https://github.com/bikeshaving/crank.git","type":"git"},"workspaces":["packages/*"],"_npmVersion":"11.4.2","description":"The Just JavaScript Framework.","directories":{},"_nodeVersion":"24.4.1","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"shx":"^0.3.4","uvu":"^0.5.6","sinon":"^17.0.2","eslint":"^8.57.1","rollup":"^4.39.0","prettier":"^3.5.3","typescript":"^5.8.3","@types/node":"^22.14.0","@types/sinon":"^17.0.4","magic-string":"^0.30.17","playwright-test":"^14.1.9","@arkweid/lefthook":"^0.7.7","eslint-plugin-react":"^7.37.5","eslint-config-prettier":"^9.1.0","eslint-plugin-prettier":"^5.2.6","@typescript-eslint/parser":"^8.29.1","rollup-plugin-typescript2":"^0.36.0","@typescript-eslint/eslint-plugin":"^8.29.1"},"_npmOperationalInternal":{"tmp":"tmp/crank_0.7.1_1755716262610_0.30052278952714784","host":"s3://npm-registry-packages-npm-production"}},"0.7.2":{"name":"@b9g/crank","version":"0.7.2","license":"MIT","_id":"@b9g/crank@0.7.2","maintainers":[{"name":"brainkim","email":"briankimpossible@gmail.com"}],"homepage":"https://crank.js.org","bugs":{"url":"https://github.com/bikeshaving/crank/issues"},"dist":{"shasum":"d74efead5f521f28b64f6bdfec168b9ea0fa7aab","tarball":"https://registry.npmjs.org/@b9g/crank/-/crank-0.7.2.tgz","fileCount":55,"integrity":"sha512-LAYzLNcSii2Y3KRnT/rBf3HZx3MXI0kJdM8BLUmY2/758tUmgK8wqWdUSGPkRkBhbm3bhVFFfltC18NMkr+1Ng==","signatures":[{"sig":"MEUCIQDeZbxXGCFczJh6HGK5YGKuRMZMugG8/29XZgcf0O8xjQIgQTUJmcC1i+oAGwnNYSLLY69eQ10uevw2b2L+tp+b0jE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1690674},"main":"crank.cjs","type":"module","types":"crank.d.ts","module":"crank.js","exports":{".":{"import":"./crank.js","require":"./crank.cjs"},"./dom":{"import":"./dom.js","require":"./dom.cjs"},"./umd":{"require":"./umd.js"},"./html":{"import":"./html.js","require":"./html.cjs"},"./async":{"import":"./async.js","require":"./async.cjs"},"./crank":{"import":"./crank.js","require":"./crank.cjs"},"./dom.js":{"import":"./dom.js","require":"./dom.cjs"},"./umd.js":{"require":"./umd.js"},"./html.js":{"import":"./html.js","require":"./html.cjs"},"./jsx-tag":{"import":"./jsx-tag.js","require":"./jsx-tag.cjs"},"./async.js":{"import":"./async.js","require":"./async.cjs"},"./crank.js":{"import":"./crank.js","require":"./crank.cjs"},"./jsx-tag.js":{"import":"./jsx-tag.js","require":"./jsx-tag.cjs"},"./standalone":{"import":"./standalone.js","require":"./standalone.cjs"},"./jsx-runtime":{"import":"./jsx-runtime.js","require":"./jsx-runtime.cjs"},"./event-target":{"import":"./event-target.js","require":"./event-target.cjs"},"./package.json":"./package.json","./standalone.js":{"import":"./standalone.js","require":"./standalone.cjs"},"./jsx-runtime.js":{"import":"./jsx-runtime.js","require":"./jsx-runtime.cjs"},"./event-target.js":{"import":"./event-target.js","require":"./event-target.cjs"},"./jsx-dev-runtime":{"import":"./jsx-runtime.js","require":"./jsx-runtime.cjs"},"./jsx-dev-runtime.js":{"import":"./jsx-runtime.js","require":"./jsx-runtime.cjs"}},"gitHead":"a3e85741caf31ec15d02ccb4b50ebe78714417c0","_npmUser":{"name":"brainkim","email":"briankimpossible@gmail.com"},"repository":{"url":"git+https://github.com/bikeshaving/crank.git","type":"git"},"workspaces":["packages/*"],"_npmVersion":"11.4.2","description":"The Just JavaScript Framework.","directories":{},"_nodeVersion":"24.4.1","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"shx":"^0.3.4","uvu":"^0.5.6","sinon":"^17.0.2","eslint":"^8.57.1","rollup":"^4.39.0","prettier":"^3.5.3","typescript":"^5.8.3","@types/node":"^22.14.0","@types/sinon":"^17.0.4","magic-string":"^0.30.17","playwright-test":"^14.1.9","@arkweid/lefthook":"^0.7.7","eslint-plugin-crank":"workspace:*","eslint-plugin-react":"^7.37.5","eslint-config-prettier":"^9.1.0","eslint-plugin-prettier":"^5.2.6","@typescript-eslint/parser":"^8.29.1","rollup-plugin-typescript2":"^0.36.0","@typescript-eslint/eslint-plugin":"^8.29.1"},"_npmOperationalInternal":{"tmp":"tmp/crank_0.7.2_1761241297763_0.8117117576158099","host":"s3://npm-registry-packages-npm-production"}},"0.7.3":{"name":"@b9g/crank","version":"0.7.3","license":"MIT","_id":"@b9g/crank@0.7.3","maintainers":[{"name":"brainkim","email":"briankimpossible@gmail.com"}],"homepage":"https://crank.js.org","bugs":{"url":"https://github.com/bikeshaving/crank/issues"},"dist":{"shasum":"c0471e64c70324703c61d8d333ada95bf194c1c0","tarball":"https://registry.npmjs.org/@b9g/crank/-/crank-0.7.3.tgz","fileCount":55,"integrity":"sha512-neBwRrM3t65zkR8RqLWZMohy74A1nu5Ndd/CegnnsG/8OCZ1/q/DvfHVziukQJjZTDzqPdC5vo6+XuygoO4DGQ==","signatures":[{"sig":"MEYCIQCkIFQ7zkWLJeYRmbSZ3ypn4RoXTq6u6llOemPDPjc0lQIhANnF6hMmpsf1KwL0rmMvsKl8e7UXe7KpPO0V987oPwPm","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1707993},"main":"crank.cjs","type":"module","types":"crank.d.ts","module":"crank.js","exports":{".":{"import":"./crank.js","require":"./crank.cjs"},"./dom":{"import":"./dom.js","require":"./dom.cjs"},"./umd":{"require":"./umd.js"},"./html":{"import":"./html.js","require":"./html.cjs"},"./async":{"import":"./async.js","require":"./async.cjs"},"./crank":{"import":"./crank.js","require":"./crank.cjs"},"./dom.js":{"import":"./dom.js","require":"./dom.cjs"},"./umd.js":{"require":"./umd.js"},"./html.js":{"import":"./html.js","require":"./html.cjs"},"./jsx-tag":{"import":"./jsx-tag.js","require":"./jsx-tag.cjs"},"./async.js":{"import":"./async.js","require":"./async.cjs"},"./crank.js":{"import":"./crank.js","require":"./crank.cjs"},"./jsx-tag.js":{"import":"./jsx-tag.js","require":"./jsx-tag.cjs"},"./standalone":{"import":"./standalone.js","require":"./standalone.cjs"},"./jsx-runtime":{"import":"./jsx-runtime.js","require":"./jsx-runtime.cjs"},"./event-target":{"import":"./event-target.js","require":"./event-target.cjs"},"./package.json":"./package.json","./standalone.js":{"import":"./standalone.js","require":"./standalone.cjs"},"./jsx-runtime.js":{"import":"./jsx-runtime.js","require":"./jsx-runtime.cjs"},"./event-target.js":{"import":"./event-target.js","require":"./event-target.cjs"},"./jsx-dev-runtime":{"import":"./jsx-runtime.js","require":"./jsx-runtime.cjs"},"./jsx-dev-runtime.js":{"import":"./jsx-runtime.js","require":"./jsx-runtime.cjs"}},"gitHead":"7db37abc164b33d95e04fced49f1bbe28d93d189","_npmUser":{"name":"brainkim","email":"briankimpossible@gmail.com"},"repository":{"url":"git+https://github.com/bikeshaving/crank.git","type":"git"},"workspaces":["packages/*"],"_npmVersion":"11.6.2","description":"The Just JavaScript Framework.","directories":{},"_nodeVersion":"25.1.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"shx":"^0.3.4","uvu":"^0.5.6","sinon":"^17.0.2","eslint":"^8.57.1","rollup":"^4.39.0","prettier":"^3.5.3","typescript":"^5.8.3","@types/node":"^22.14.0","@types/sinon":"^17.0.4","magic-string":"^0.30.17","playwright-test":"^14.1.9","@arkweid/lefthook":"^0.7.7","eslint-plugin-crank":"workspace:*","eslint-plugin-react":"^7.37.5","eslint-config-prettier":"^9.1.0","eslint-plugin-prettier":"^5.2.6","@typescript-eslint/parser":"^8.29.1","rollup-plugin-typescript2":"^0.36.0","@typescript-eslint/eslint-plugin":"^8.29.1"},"_npmOperationalInternal":{"tmp":"tmp/crank_0.7.3_1764219814068_0.8558654688060314","host":"s3://npm-registry-packages-npm-production"}},"0.7.4":{"name":"@b9g/crank","version":"0.7.4","license":"MIT","_id":"@b9g/crank@0.7.4","maintainers":[{"name":"brainkim","email":"briankimpossible@gmail.com"}],"homepage":"https://crank.js.org","bugs":{"url":"https://github.com/bikeshaving/crank/issues"},"dist":{"shasum":"48ec3c0e04b3ff3396ec45779b315ff1068bbe4b","tarball":"https://registry.npmjs.org/@b9g/crank/-/crank-0.7.4.tgz","fileCount":55,"integrity":"sha512-FgjIG9QzFgzcHDYfrK9PBWAItbkBzsxlKEgynWz/EbVT3/mh5cjK4OsRt0VUmda+vcSOnO+uSH5dggB7shDdbg==","signatures":[{"sig":"MEYCIQDKQw8O7/8pmKZS2XyR/mxwrxkneJCYSTBGTkcbXf662wIhAO0igeq5wEqJj6emO/isdvU6APs5W/y7rbkIYE9NtBUH","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1689590},"main":"crank.cjs","type":"module","types":"crank.d.ts","module":"crank.js","exports":{".":{"import":"./crank.js","require":"./crank.cjs"},"./dom":{"import":"./dom.js","require":"./dom.cjs"},"./umd":{"require":"./umd.js"},"./html":{"import":"./html.js","require":"./html.cjs"},"./async":{"import":"./async.js","require":"./async.cjs"},"./crank":{"import":"./crank.js","require":"./crank.cjs"},"./dom.js":{"import":"./dom.js","require":"./dom.cjs"},"./umd.js":{"require":"./umd.js"},"./html.js":{"import":"./html.js","require":"./html.cjs"},"./jsx-tag":{"import":"./jsx-tag.js","require":"./jsx-tag.cjs"},"./async.js":{"import":"./async.js","require":"./async.cjs"},"./crank.js":{"import":"./crank.js","require":"./crank.cjs"},"./jsx-tag.js":{"import":"./jsx-tag.js","require":"./jsx-tag.cjs"},"./standalone":{"import":"./standalone.js","require":"./standalone.cjs"},"./jsx-runtime":{"import":"./jsx-runtime.js","require":"./jsx-runtime.cjs"},"./event-target":{"import":"./event-target.js","require":"./event-target.cjs"},"./package.json":"./package.json","./standalone.js":{"import":"./standalone.js","require":"./standalone.cjs"},"./jsx-runtime.js":{"import":"./jsx-runtime.js","require":"./jsx-runtime.cjs"},"./event-target.js":{"import":"./event-target.js","require":"./event-target.cjs"},"./jsx-dev-runtime":{"import":"./jsx-runtime.js","require":"./jsx-runtime.cjs"},"./jsx-dev-runtime.js":{"import":"./jsx-runtime.js","require":"./jsx-runtime.cjs"}},"gitHead":"e39d6c18897fe16ab0ab2c6f155fb86ec61ed34d","_npmUser":{"name":"brainkim","email":"briankimpossible@gmail.com"},"repository":{"url":"git+https://github.com/bikeshaving/crank.git","type":"git"},"workspaces":["packages/*"],"_npmVersion":"11.6.2","description":"The Just JavaScript Framework.","directories":{},"_nodeVersion":"25.2.1","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"shx":"^0.3.4","uvu":"^0.5.6","sinon":"^17.0.2","eslint":"^8.57.1","rollup":"^4.39.0","prettier":"^3.5.3","typescript":"^5.8.3","@types/node":"^22.14.0","@types/sinon":"^17.0.4","magic-string":"^0.30.17","playwright-test":"^14.1.9","@arkweid/lefthook":"^0.7.7","eslint-plugin-crank":"workspace:*","eslint-plugin-react":"^7.37.5","eslint-config-prettier":"^9.1.0","eslint-plugin-prettier":"^5.2.6","@typescript-eslint/parser":"^8.29.1","rollup-plugin-typescript2":"^0.36.0","@typescript-eslint/eslint-plugin":"^8.29.1"},"_npmOperationalInternal":{"tmp":"tmp/crank_0.7.4_1769626282378_0.044183239749101766","host":"s3://npm-registry-packages-npm-production"}},"0.7.5":{"name":"@b9g/crank","version":"0.7.5","license":"MIT","_id":"@b9g/crank@0.7.5","maintainers":[{"name":"brainkim","email":"briankimpossible@gmail.com"}],"homepage":"https://crank.js.org","bugs":{"url":"https://github.com/bikeshaving/crank/issues"},"dist":{"shasum":"27f96a15d670692a5ac9fbcbde323b4e46c48bf1","tarball":"https://registry.npmjs.org/@b9g/crank/-/crank-0.7.5.tgz","fileCount":55,"integrity":"sha512-tG82HhWizXZWVS2XZAElQ7/h31BrDoLh1N92M2JB8AOojc4xSHjZB2883ej9K7tbC3OnfA5dMp9IulJG1nrnBQ==","signatures":[{"sig":"MEYCIQCmkq9/S46YnzSnDssINuH5oOZ3sIUrPKUjjUExSt+gIQIhAPTv7L8j58qJMlVyqC+sSlKGQAViar8O9vofIiwyVMxd","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1690926},"main":"crank.cjs","type":"module","types":"crank.d.ts","module":"crank.js","exports":{".":{"import":"./crank.js","require":"./crank.cjs"},"./dom":{"import":"./dom.js","require":"./dom.cjs"},"./umd":{"require":"./umd.js"},"./html":{"import":"./html.js","require":"./html.cjs"},"./async":{"import":"./async.js","require":"./async.cjs"},"./crank":{"import":"./crank.js","require":"./crank.cjs"},"./dom.js":{"import":"./dom.js","require":"./dom.cjs"},"./umd.js":{"require":"./umd.js"},"./html.js":{"import":"./html.js","require":"./html.cjs"},"./jsx-tag":{"import":"./jsx-tag.js","require":"./jsx-tag.cjs"},"./async.js":{"import":"./async.js","require":"./async.cjs"},"./crank.js":{"import":"./crank.js","require":"./crank.cjs"},"./jsx-tag.js":{"import":"./jsx-tag.js","require":"./jsx-tag.cjs"},"./standalone":{"import":"./standalone.js","require":"./standalone.cjs"},"./jsx-runtime":{"import":"./jsx-runtime.js","require":"./jsx-runtime.cjs"},"./event-target":{"import":"./event-target.js","require":"./event-target.cjs"},"./package.json":"./package.json","./standalone.js":{"import":"./standalone.js","require":"./standalone.cjs"},"./jsx-runtime.js":{"import":"./jsx-runtime.js","require":"./jsx-runtime.cjs"},"./event-target.js":{"import":"./event-target.js","require":"./event-target.cjs"},"./jsx-dev-runtime":{"import":"./jsx-runtime.js","require":"./jsx-runtime.cjs"},"./jsx-dev-runtime.js":{"import":"./jsx-runtime.js","require":"./jsx-runtime.cjs"}},"gitHead":"962ac95c4ccaef9570ff9151a0833890e0de5335","_npmUser":{"name":"brainkim","email":"briankimpossible@gmail.com"},"repository":{"url":"git+https://github.com/bikeshaving/crank.git","type":"git"},"workspaces":["packages/*"],"_npmVersion":"11.8.0","description":"The Just JavaScript Framework.","directories":{},"_nodeVersion":"22.6.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"shx":"^0.3.4","uvu":"^0.5.6","sinon":"^17.0.2","eslint":"^8.57.1","rollup":"^4.39.0","prettier":"^3.5.3","typescript":"^5.8.3","@types/node":"^22.14.0","@types/sinon":"^17.0.4","magic-string":"^0.30.17","playwright-test":"^14.1.9","@arkweid/lefthook":"^0.7.7","eslint-plugin-crank":"workspace:*","eslint-plugin-react":"^7.37.5","eslint-config-prettier":"^9.1.0","eslint-plugin-prettier":"^5.2.6","@typescript-eslint/parser":"^8.29.1","rollup-plugin-typescript2":"^0.36.0","@typescript-eslint/eslint-plugin":"^8.29.1"},"_npmOperationalInternal":{"tmp":"tmp/crank_0.7.5_1770065985233_0.14097456148851362","host":"s3://npm-registry-packages-npm-production"}},"0.7.6":{"name":"@b9g/crank","version":"0.7.6","license":"MIT","_id":"@b9g/crank@0.7.6","maintainers":[{"name":"brainkim","email":"briankimpossible@gmail.com"}],"homepage":"https://crank.js.org","bugs":{"url":"https://github.com/bikeshaving/crank/issues"},"dist":{"shasum":"7275ea5b3b938a352413f0597b22b18cd2d07119","tarball":"https://registry.npmjs.org/@b9g/crank/-/crank-0.7.6.tgz","fileCount":48,"integrity":"sha512-SVD3VsdIjISL757MUoDu7xX+fGFwelktDNMGSnfZW4Q9vQD5id9rpUQoOFEBjlDBp5iLEP0mepzURmx3lETPaQ==","signatures":[{"sig":"MEYCIQCm9XgtZN3uNhawIfVSRPspzLAIsfFVwhoDWsAO1O5cNAIhAKK++qS8fzCAisQH4S0B9rXoMkH2YFlLKIAtI/1ZmftJ","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":530285},"main":"crank.cjs","type":"module","types":"crank.d.ts","module":"crank.js","exports":{".":{"import":"./crank.js","require":"./crank.cjs"},"./dom":{"import":"./dom.js","require":"./dom.cjs"},"./umd":{"require":"./umd.js"},"./html":{"import":"./html.js","require":"./html.cjs"},"./async":{"import":"./async.js","require":"./async.cjs"},"./crank":{"import":"./crank.js","require":"./crank.cjs"},"./dom.js":{"import":"./dom.js","require":"./dom.cjs"},"./umd.js":{"require":"./umd.js"},"./html.js":{"import":"./html.js","require":"./html.cjs"},"./jsx-tag":{"import":"./jsx-tag.js","require":"./jsx-tag.cjs"},"./async.js":{"import":"./async.js","require":"./async.cjs"},"./crank.js":{"import":"./crank.js","require":"./crank.cjs"},"./jsx-tag.js":{"import":"./jsx-tag.js","require":"./jsx-tag.cjs"},"./standalone":{"import":"./standalone.js","require":"./standalone.cjs"},"./jsx-runtime":{"import":"./jsx-runtime.js","require":"./jsx-runtime.cjs"},"./event-target":{"import":"./event-target.js","require":"./event-target.cjs"},"./package.json":"./package.json","./standalone.js":{"import":"./standalone.js","require":"./standalone.cjs"},"./jsx-runtime.js":{"import":"./jsx-runtime.js","require":"./jsx-runtime.cjs"},"./event-target.js":{"import":"./event-target.js","require":"./event-target.cjs"},"./jsx-dev-runtime":{"import":"./jsx-runtime.js","require":"./jsx-runtime.cjs"},"./jsx-dev-runtime.js":{"import":"./jsx-runtime.js","require":"./jsx-runtime.cjs"}},"gitHead":"d4694ff79e5c4a6d3c961cce24e67144a011bade","_npmUser":{"name":"brainkim","email":"briankimpossible@gmail.com"},"repository":{"url":"git+https://github.com/bikeshaving/crank.git","type":"git"},"workspaces":["packages/*"],"_npmVersion":"11.8.0","description":"The Just JavaScript Framework.","directories":{},"_nodeVersion":"25.5.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"shx":"^0.3.4","uvu":"^0.5.6","sinon":"^17.0.2","eslint":"^8.57.1","rollup":"^4.39.0","prettier":"^3.5.3","typescript":"^5.8.3","@types/node":"^22.14.0","@types/sinon":"^17.0.4","magic-string":"^0.30.17","playwright-test":"^14.1.9","eslint-plugin-crank":"workspace:*","eslint-plugin-react":"^7.37.5","eslint-config-prettier":"^9.1.0","eslint-plugin-prettier":"^5.2.6","@typescript-eslint/parser":"^8.29.1","rollup-plugin-typescript2":"^0.36.0","@typescript-eslint/eslint-plugin":"^8.29.1"},"_npmOperationalInternal":{"tmp":"tmp/crank_0.7.6_1771287549563_0.13356617046429609","host":"s3://npm-registry-packages-npm-production"}},"0.7.7":{"name":"@b9g/crank","version":"0.7.7","license":"MIT","_id":"@b9g/crank@0.7.7","maintainers":[{"name":"brainkim","email":"briankimpossible@gmail.com"}],"homepage":"https://crank.js.org","bugs":{"url":"https://github.com/bikeshaving/crank/issues"},"dist":{"shasum":"eef2b1e2c4aa3a6d20a8011722a5e3d8ea3efc68","tarball":"https://registry.npmjs.org/@b9g/crank/-/crank-0.7.7.tgz","fileCount":60,"integrity":"sha512-QTNvABMxbWG2UX4/losnEe1cLGtGlJDeSKMR65jLffUNt9wtuulZYE3hK9Fwgr+VtB/Q8hLglVrSnnCLnXSQHA==","signatures":[{"sig":"MEUCIFrb6jMtHyXZsnptMRWGrnKu2MTI2odO2LYZnalP/xyNAiEAqBMxCJlJAEY5y2ke1LVl76OSZxUphltHnERm9351orQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1848682},"main":"crank.cjs","type":"module","types":"crank.d.ts","module":"crank.js","exports":{".":{"import":"./crank.js","require":"./crank.cjs"},"./dom":{"import":"./dom.js","require":"./dom.cjs"},"./umd":{"require":"./umd.js"},"./html":{"import":"./html.js","require":"./html.cjs"},"./async":{"import":"./async.js","require":"./async.cjs"},"./crank":{"import":"./crank.js","require":"./crank.cjs"},"./dom.js":{"import":"./dom.js","require":"./dom.cjs"},"./umd.js":{"require":"./umd.js"},"./html.js":{"import":"./html.js","require":"./html.cjs"},"./jsx-tag":{"import":"./jsx-tag.js","require":"./jsx-tag.cjs"},"./async.js":{"import":"./async.js","require":"./async.cjs"},"./crank.js":{"import":"./crank.js","require":"./crank.cjs"},"./jsx-tag.js":{"import":"./jsx-tag.js","require":"./jsx-tag.cjs"},"./standalone":{"import":"./standalone.js","require":"./standalone.cjs"},"./jsx-runtime":{"import":"./jsx-runtime.js","require":"./jsx-runtime.cjs"},"./event-target":{"import":"./event-target.js","require":"./event-target.cjs"},"./package.json":"./package.json","./standalone.js":{"import":"./standalone.js","require":"./standalone.cjs"},"./jsx-runtime.js":{"import":"./jsx-runtime.js","require":"./jsx-runtime.cjs"},"./event-target.js":{"import":"./event-target.js","require":"./event-target.cjs"},"./jsx-dev-runtime":{"import":"./jsx-runtime.js","require":"./jsx-runtime.cjs"},"./jsx-dev-runtime.js":{"import":"./jsx-runtime.js","require":"./jsx-runtime.cjs"}},"gitHead":"65fcaaec7f2707711b26af1c42800b4db0e6a363","_npmUser":{"name":"brainkim","email":"briankimpossible@gmail.com"},"repository":{"url":"git+https://github.com/bikeshaving/crank.git","type":"git"},"workspaces":["packages/*"],"_npmVersion":"11.8.0","description":"The Just JavaScript Framework.","directories":{},"_nodeVersion":"25.5.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"shx":"^0.3.4","uvu":"^0.5.6","sinon":"^17.0.2","eslint":"^8.57.1","rollup":"^4.39.0","prettier":"^3.5.3","typescript":"^5.8.3","@types/node":"^22.14.0","@types/sinon":"^17.0.4","magic-string":"^0.30.17","playwright-test":"^14.1.9","eslint-plugin-crank":"workspace:*","eslint-plugin-react":"^7.37.5","eslint-config-prettier":"^9.1.0","eslint-plugin-prettier":"^5.2.6","@typescript-eslint/parser":"^8.29.1","rollup-plugin-typescript2":"^0.36.0","@typescript-eslint/eslint-plugin":"^8.29.1"},"_npmOperationalInternal":{"tmp":"tmp/crank_0.7.7_1771656853687_0.17707108404833516","host":"s3://npm-registry-packages-npm-production"}},"0.7.8":{"name":"@b9g/crank","version":"0.7.8","license":"MIT","_id":"@b9g/crank@0.7.8","maintainers":[{"name":"brainkim","email":"briankimpossible@gmail.com"}],"homepage":"https://crank.js.org","bugs":{"url":"https://github.com/bikeshaving/crank/issues"},"dist":{"shasum":"612d6f552213f7e9d99f7c1f8dc5b05f30022bfe","tarball":"https://registry.npmjs.org/@b9g/crank/-/crank-0.7.8.tgz","fileCount":60,"integrity":"sha512-22osqQnltRa/ekYktqO5L0WQsY8MLXkcdqwfzIPW+3ZKNJCE0P4vuna4Y2WHCYVFtv9SO2xwjOxLa/gOcmjitw==","signatures":[{"sig":"MEUCIHFvRvrWMEqQrMdMt9UdRQB3k3JUfa8YTIkQe4pLXiXSAiEAiUUimKfZ8vjUbf5cD5LffjHdO/PmioMLvlLjE5pHjyc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@b9g%2fcrank@0.7.8","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1865417},"main":"crank.cjs","type":"module","types":"crank.d.ts","module":"crank.js","exports":{".":{"import":"./crank.js","require":"./crank.cjs"},"./dom":{"import":"./dom.js","require":"./dom.cjs"},"./umd":{"require":"./umd.js"},"./html":{"import":"./html.js","require":"./html.cjs"},"./async":{"import":"./async.js","require":"./async.cjs"},"./crank":{"import":"./crank.js","require":"./crank.cjs"},"./dom.js":{"import":"./dom.js","require":"./dom.cjs"},"./umd.js":{"require":"./umd.js"},"./html.js":{"import":"./html.js","require":"./html.cjs"},"./jsx-tag":{"import":"./jsx-tag.js","require":"./jsx-tag.cjs"},"./async.js":{"import":"./async.js","require":"./async.cjs"},"./crank.js":{"import":"./crank.js","require":"./crank.cjs"},"./jsx-tag.js":{"import":"./jsx-tag.js","require":"./jsx-tag.cjs"},"./standalone":{"import":"./standalone.js","require":"./standalone.cjs"},"./jsx-runtime":{"import":"./jsx-runtime.js","require":"./jsx-runtime.cjs"},"./event-target":{"import":"./event-target.js","require":"./event-target.cjs"},"./package.json":"./package.json","./standalone.js":{"import":"./standalone.js","require":"./standalone.cjs"},"./jsx-runtime.js":{"import":"./jsx-runtime.js","require":"./jsx-runtime.cjs"},"./event-target.js":{"import":"./event-target.js","require":"./event-target.cjs"},"./jsx-dev-runtime":{"import":"./jsx-runtime.js","require":"./jsx-runtime.cjs"},"./jsx-dev-runtime.js":{"import":"./jsx-runtime.js","require":"./jsx-runtime.cjs"}},"gitHead":"fdd8dbb164eddee91c2f5151b5a6351defa74868","_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:8bd26adf-833d-47f4-bd3c-58689ba430be"}},"repository":{"url":"git+https://github.com/bikeshaving/crank.git","type":"git"},"workspaces":["packages/*"],"_npmVersion":"11.8.0","description":"The Just JavaScript Framework.","directories":{},"_nodeVersion":"24.13.1","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"shx":"^0.3.4","uvu":"^0.5.6","sinon":"^17.0.2","eslint":"^8.57.1","rollup":"^4.39.0","prettier":"^3.5.3","typescript":"^5.8.3","@types/node":"^22.14.0","@types/sinon":"^17.0.4","magic-string":"^0.30.17","playwright-test":"^14.1.9","eslint-plugin-crank":"workspace:*","eslint-plugin-react":"^7.37.5","eslint-config-prettier":"^9.1.0","eslint-plugin-prettier":"^5.2.6","@typescript-eslint/parser":"^8.29.1","rollup-plugin-typescript2":"^0.36.0","@typescript-eslint/eslint-plugin":"^8.29.1"},"_npmOperationalInternal":{"tmp":"tmp/crank_0.7.8_1772215028892_0.7781416740352218","host":"s3://npm-registry-packages-npm-production"}},"0.7.9":{"name":"@b9g/crank","version":"0.7.9","license":"MIT","_id":"@b9g/crank@0.7.9","maintainers":[{"name":"brainkim","email":"briankimpossible@gmail.com"}],"homepage":"https://crank.js.org","bugs":{"url":"https://github.com/bikeshaving/crank/issues"},"dist":{"shasum":"39a4e2c351b2e5d1de456ad14ce1477d9c496de3","tarball":"https://registry.npmjs.org/@b9g/crank/-/crank-0.7.9.tgz","fileCount":60,"integrity":"sha512-VgkYy7cUlgePrVwMP/gFgQh8bUvlsNnK0V9Lw+9Jc2QvnIifh5D7eqOdQypxwjZBVIXFk5tfpfQNGjSpZ1QT/g==","signatures":[{"sig":"MEQCIHyTIG62tqf91lnVSp1wJcyAj7YUo5DudyNeVNfv1pq8AiB/lWzkpJpOevCuwC83W7lrJyZSeuCHTcKKfwviFL3xwA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@b9g%2fcrank@0.7.9","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1875566},"main":"crank.cjs","type":"module","types":"crank.d.ts","module":"crank.js","exports":{".":{"import":"./crank.js","require":"./crank.cjs"},"./dom":{"import":"./dom.js","require":"./dom.cjs"},"./umd":{"require":"./umd.js"},"./html":{"import":"./html.js","require":"./html.cjs"},"./async":{"import":"./async.js","require":"./async.cjs"},"./crank":{"import":"./crank.js","require":"./crank.cjs"},"./dom.js":{"import":"./dom.js","require":"./dom.cjs"},"./umd.js":{"require":"./umd.js"},"./html.js":{"import":"./html.js","require":"./html.cjs"},"./jsx-tag":{"import":"./jsx-tag.js","require":"./jsx-tag.cjs"},"./async.js":{"import":"./async.js","require":"./async.cjs"},"./crank.js":{"import":"./crank.js","require":"./crank.cjs"},"./jsx-tag.js":{"import":"./jsx-tag.js","require":"./jsx-tag.cjs"},"./standalone":{"import":"./standalone.js","require":"./standalone.cjs"},"./jsx-runtime":{"import":"./jsx-runtime.js","require":"./jsx-runtime.cjs"},"./event-target":{"import":"./event-target.js","require":"./event-target.cjs"},"./package.json":"./package.json","./standalone.js":{"import":"./standalone.js","require":"./standalone.cjs"},"./jsx-runtime.js":{"import":"./jsx-runtime.js","require":"./jsx-runtime.cjs"},"./event-target.js":{"import":"./event-target.js","require":"./event-target.cjs"},"./jsx-dev-runtime":{"import":"./jsx-runtime.js","require":"./jsx-runtime.cjs"},"./jsx-dev-runtime.js":{"import":"./jsx-runtime.js","require":"./jsx-runtime.cjs"}},"gitHead":"c1069ae917699c87c5296f67e81b2bd6d7181d06","_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:8bd26adf-833d-47f4-bd3c-58689ba430be"}},"repository":{"url":"git+https://github.com/bikeshaving/crank.git","type":"git"},"workspaces":["packages/*"],"_npmVersion":"11.9.0","description":"The Just JavaScript UI Framework.","directories":{},"_nodeVersion":"24.14.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"shx":"^0.3.4","uvu":"^0.5.6","sinon":"^17.0.2","eslint":"^8.57.1","rollup":"^4.39.0","prettier":"^3.5.3","typescript":"^5.8.3","@types/node":"^22.14.0","@types/sinon":"^17.0.4","magic-string":"^0.30.17","playwright-test":"^14.1.9","eslint-plugin-crank":"workspace:*","eslint-plugin-react":"^7.37.5","eslint-config-prettier":"^9.1.0","eslint-plugin-prettier":"^5.2.6","@typescript-eslint/parser":"^8.29.1","rollup-plugin-typescript2":"^0.36.0","@typescript-eslint/eslint-plugin":"^8.29.1"},"_npmOperationalInternal":{"tmp":"tmp/crank_0.7.9_1774979038766_0.3049348967980947","host":"s3://npm-registry-packages-npm-production"}},"0.7.10":{"name":"@b9g/crank","version":"0.7.10","license":"MIT","_id":"@b9g/crank@0.7.10","maintainers":[{"name":"brainkim","email":"briankimpossible@gmail.com"}],"homepage":"https://crank.js.org","bugs":{"url":"https://github.com/bikeshaving/crank/issues"},"dist":{"shasum":"f16013faf28a6aab8ea1afa898c92a739d0c7b2d","tarball":"https://registry.npmjs.org/@b9g/crank/-/crank-0.7.10.tgz","fileCount":60,"integrity":"sha512-GLTuZ5z9UljKJ4Q5usog1PC/K526SiIgHrrYflFGKGbkYJHDqusYluCDRbqc8Vtdk1goiEmocwue9Fg8MmoAPw==","signatures":[{"sig":"MEUCIQCnzKgGdDct+oMhAuqRqtO+kVYZP6cxfCmZPQq34onOFgIgQcnsqB4lpLF+5+GGZd36iAuj1OxzaWPJnNU4ATh6hi4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@b9g%2fcrank@0.7.10","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1882314},"main":"crank.cjs","type":"module","types":"crank.d.ts","module":"crank.js","exports":{".":{"import":"./crank.js","require":"./crank.cjs"},"./dom":{"import":"./dom.js","require":"./dom.cjs"},"./umd":{"require":"./umd.js"},"./html":{"import":"./html.js","require":"./html.cjs"},"./async":{"import":"./async.js","require":"./async.cjs"},"./crank":{"import":"./crank.js","require":"./crank.cjs"},"./dom.js":{"import":"./dom.js","require":"./dom.cjs"},"./umd.js":{"require":"./umd.js"},"./html.js":{"import":"./html.js","require":"./html.cjs"},"./jsx-tag":{"import":"./jsx-tag.js","require":"./jsx-tag.cjs"},"./async.js":{"import":"./async.js","require":"./async.cjs"},"./crank.js":{"import":"./crank.js","require":"./crank.cjs"},"./jsx-tag.js":{"import":"./jsx-tag.js","require":"./jsx-tag.cjs"},"./standalone":{"import":"./standalone.js","require":"./standalone.cjs"},"./jsx-runtime":{"import":"./jsx-runtime.js","require":"./jsx-runtime.cjs"},"./event-target":{"import":"./event-target.js","require":"./event-target.cjs"},"./package.json":"./package.json","./standalone.js":{"import":"./standalone.js","require":"./standalone.cjs"},"./jsx-runtime.js":{"import":"./jsx-runtime.js","require":"./jsx-runtime.cjs"},"./event-target.js":{"import":"./event-target.js","require":"./event-target.cjs"},"./jsx-dev-runtime":{"import":"./jsx-runtime.js","require":"./jsx-runtime.cjs"},"./jsx-dev-runtime.js":{"import":"./jsx-runtime.js","require":"./jsx-runtime.cjs"}},"gitHead":"237c8631a2112ed667858a2cda64235f0a38bff8","_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:8bd26adf-833d-47f4-bd3c-58689ba430be"}},"repository":{"url":"git+https://github.com/bikeshaving/crank.git","type":"git"},"workspaces":["packages/*"],"_npmVersion":"11.17.0","description":"The Just JavaScript UI Framework.","directories":{},"_nodeVersion":"24.19.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"shx":"^0.3.4","uvu":"^0.5.6","sinon":"^17.0.2","eslint":"^8.57.1","rollup":"^4.39.0","prettier":"^3.5.3","typescript":"^5.8.3","@types/node":"^22.14.0","@types/sinon":"^17.0.4","magic-string":"^0.30.17","playwright-test":"^14.1.9","eslint-plugin-crank":"workspace:*","eslint-plugin-react":"^7.37.5","eslint-config-prettier":"^9.1.0","eslint-plugin-prettier":"^5.2.6","@typescript-eslint/parser":"^8.29.1","rollup-plugin-typescript2":"^0.36.0","@typescript-eslint/eslint-plugin":"^8.29.1"},"_npmOperationalInternal":{"tmp":"tmp/crank_0.7.10_1786555810004_0.13256391249924948","host":"s3://npm-registry-packages-npm-production"}},"0.7.11":{"name":"@b9g/crank","version":"0.7.11","license":"MIT","_id":"@b9g/crank@0.7.11","maintainers":[{"name":"brainkim","email":"briankimpossible@gmail.com"}],"homepage":"https://crank.js.org","bugs":{"url":"https://github.com/bikeshaving/crank/issues"},"dist":{"shasum":"0e8615be793cb093bfca4ed49f2c0bebe966f5b3","tarball":"https://registry.npmjs.org/@b9g/crank/-/crank-0.7.11.tgz","fileCount":60,"integrity":"sha512-kCoa9AHwEhckmwhtOSdZJYG5+JDeCgzlc0DkTfw1MIGYnMEF/A7OF+7aUv78vCSXI/AMFZ+zfZ/Jwxwp46nwYQ==","signatures":[{"sig":"MEUCIAZdb+e46F6oqykiA4vaZnRLcQQUKRD27dAUGpDT25etAiEAt7Xw6XFlFpAzk/2tooWSPaia+VW8DKCyxdhjiVv/xbA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@b9g%2fcrank@0.7.11","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1906976},"main":"crank.cjs","type":"module","types":"crank.d.ts","module":"crank.js","exports":{".":{"import":"./crank.js","require":"./crank.cjs"},"./dom":{"import":"./dom.js","require":"./dom.cjs"},"./umd":{"require":"./umd.js"},"./html":{"import":"./html.js","require":"./html.cjs"},"./async":{"import":"./async.js","require":"./async.cjs"},"./crank":{"import":"./crank.js","require":"./crank.cjs"},"./dom.js":{"import":"./dom.js","require":"./dom.cjs"},"./umd.js":{"require":"./umd.js"},"./html.js":{"import":"./html.js","require":"./html.cjs"},"./jsx-tag":{"import":"./jsx-tag.js","require":"./jsx-tag.cjs"},"./async.js":{"import":"./async.js","require":"./async.cjs"},"./crank.js":{"import":"./crank.js","require":"./crank.cjs"},"./jsx-tag.js":{"import":"./jsx-tag.js","require":"./jsx-tag.cjs"},"./standalone":{"import":"./standalone.js","require":"./standalone.cjs"},"./jsx-runtime":{"import":"./jsx-runtime.js","require":"./jsx-runtime.cjs"},"./event-target":{"import":"./event-target.js","require":"./event-target.cjs"},"./package.json":"./package.json","./standalone.js":{"import":"./standalone.js","require":"./standalone.cjs"},"./jsx-runtime.js":{"import":"./jsx-runtime.js","require":"./jsx-runtime.cjs"},"./event-target.js":{"import":"./event-target.js","require":"./event-target.cjs"},"./jsx-dev-runtime":{"import":"./jsx-runtime.js","require":"./jsx-runtime.cjs"},"./jsx-dev-runtime.js":{"import":"./jsx-runtime.js","require":"./jsx-runtime.cjs"}},"gitHead":"7f57f5a8ab43ed56623cd753eaa1f309a06e9902","_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:8bd26adf-833d-47f4-bd3c-58689ba430be"}},"repository":{"url":"git+https://github.com/bikeshaving/crank.git","type":"git"},"workspaces":["packages/*"],"_npmVersion":"11.17.0","description":"The Just JavaScript UI Framework.","directories":{},"_nodeVersion":"24.19.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"shx":"^0.3.4","uvu":"^0.5.6","sinon":"^17.0.2","eslint":"^8.57.1","rollup":"^4.39.0","prettier":"^3.5.3","typescript":"^5.8.3","@types/node":"^22.14.0","@types/sinon":"^17.0.4","magic-string":"^0.30.17","playwright-test":"^14.1.9","eslint-plugin-crank":"workspace:*","eslint-plugin-react":"^7.37.5","eslint-config-prettier":"^9.1.0","eslint-plugin-prettier":"^5.2.6","@typescript-eslint/parser":"^8.29.1","rollup-plugin-typescript2":"^0.36.0","@typescript-eslint/eslint-plugin":"^8.29.1"},"_npmOperationalInternal":{"tmp":"tmp/crank_0.7.11_1786763725531_0.12150118909662089","host":"s3://npm-registry-packages-npm-production"}},"0.7.12":{"_id":"@b9g/crank@0.7.12","bugs":{"url":"https://github.com/bikeshaving/crank/issues"},"dist":{"shasum":"4a6d963b44fb5c2010423c75e828b14a591cae60","tarball":"https://registry.npmjs.org/@b9g/crank/-/crank-0.7.12.tgz","fileCount":66,"integrity":"sha512-7sEE65JA8Hb39SsqdmpiCvgZ3z0iCPWDfF6ys8cN5WVos4857o3wSC3T3LsfTrLjWuIUe4kznrDRa4btWFztsg==","signatures":[{"sig":"MEYCIQD60yEm/x2EbqJnQAKxXZvqX6bdh/SqO22rYQGvj8vDNgIhALYxUxNgS/8qO3bO9SUnr21aRdyuxdXFJeTks6LSLC+X","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEYCIQDZFiuUMrAUfWt2NFy3ZQmtrNoNSBEuUYF0NLqAuCSz4AIhAL2n3/dAVcxx9K4EcCIteKDojLxiFzO2fCtg3hDQoIE2"}],"unpackedSize":1974953},"main":"crank.cjs","name":"@b9g/crank","type":"module","types":"crank.d.ts","module":"crank.js","exports":{".":{"import":"./crank.js","require":"./crank.cjs"},"./dom":{"import":"./dom.js","require":"./dom.cjs"},"./umd":{"require":"./umd.js"},"./html":{"import":"./html.js","require":"./html.cjs"},"./async":{"import":"./async.js","require":"./async.cjs"},"./crank":{"import":"./crank.js","require":"./crank.cjs"},"./dom.js":{"import":"./dom.js","require":"./dom.cjs"},"./umd.js":{"require":"./umd.js"},"./html.js":{"import":"./html.js","require":"./html.cjs"},"./jsx-tag":{"import":"./jsx-tag.js","require":"./jsx-tag.cjs"},"./async.js":{"import":"./async.js","require":"./async.cjs"},"./crank.js":{"import":"./crank.js","require":"./crank.cjs"},"./jsx-tag.js":{"import":"./jsx-tag.js","require":"./jsx-tag.cjs"},"./standalone":{"import":"./standalone.js","require":"./standalone.cjs"},"./jsx-runtime":{"import":"./jsx-runtime.js","require":"./jsx-runtime.cjs"},"./event-target":{"import":"./event-target.js","require":"./event-target.cjs"},"./package.json":"./package.json","./standalone.js":{"import":"./standalone.js","require":"./standalone.cjs"},"./jsx-runtime.js":{"import":"./jsx-runtime.js","require":"./jsx-runtime.cjs"},"./event-target.js":{"import":"./event-target.js","require":"./event-target.cjs"},"./jsx-dev-runtime":{"import":"./jsx-runtime.js","require":"./jsx-runtime.cjs"},"./jsx-dev-runtime.js":{"import":"./jsx-runtime.js","require":"./jsx-runtime.cjs"}},"gitHead":"b60098936313d702013e290be7ad1ce161a1f7d3","license":"MIT","version":"0.7.12","_npmUser":{"name":"brainkim","email":"briankimpossible@gmail.com"},"homepage":"https://crank.js.org","repository":{"url":"git+https://github.com/bikeshaving/crank.git","type":"git"},"workspaces":["packages/*"],"_npmVersion":"11.19.0","description":"The Just JavaScript UI Framework.","directories":{},"maintainers":[{"name":"brainkim","email":"briankimpossible@gmail.com"}],"_nodeVersion":"26.7.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"shx":"^0.3.4","uvu":"^0.5.6","sinon":"^17.0.2","eslint":"^8.57.1","rollup":"^4.39.0","prettier":"^3.5.3","typescript":"^5.8.3","@types/node":"^22.14.0","@types/sinon":"^17.0.4","magic-string":"^0.30.17","playwright-test":"^14.1.9","eslint-plugin-crank":"workspace:*","eslint-plugin-react":"^7.37.5","eslint-config-prettier":"^9.1.0","eslint-plugin-prettier":"^5.2.6","@typescript-eslint/parser":"^8.29.1","rollup-plugin-typescript2":"^0.36.0","@typescript-eslint/eslint-plugin":"^8.29.1"},"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/crank_0.7.12_1788544452327_0.10274959372100123"}}},"time":{"created":"2021-10-09T21:31:32.759Z","modified":"2026-09-04T17:54:12.579Z","0.4.0":"2021-10-09T21:31:33.019Z","0.4.1":"2021-10-29T05:41:11.547Z","0.4.2":"2021-12-21T02:39:54.648Z","0.4.3":"2022-06-25T18:25:11.724Z","0.4.4":"2022-08-08T23:03:01.491Z","0.5.0-beta.0":"2022-09-22T06:44:15.359Z","0.5.0-beta.1":"2022-09-22T07:05:18.629Z","0.5.0-debug.0":"2022-09-22T08:32:26.474Z","0.5.0-beta.2":"2022-09-22T09:00:55.352Z","0.5.0-beta.3":"2022-11-17T18:47:01.886Z","0.5.0-beta.4":"2022-11-30T18:41:32.613Z","0.5.0-beta.5":"2022-11-30T19:09:39.459Z","0.5.0-beta.6":"2022-12-02T00:54:13.841Z","0.5.0-beta.7":"2023-01-17T00:38:47.117Z","0.5.0":"2023-02-01T15:24:31.576Z","0.5.1":"2023-02-02T05:27:53.569Z","0.5.2":"2023-02-04T00:19:00.923Z","0.5.3":"2023-03-13T05:28:22.337Z","0.5.4":"2023-05-22T11:02:50.126Z","0.5.5":"2023-11-07T05:12:11.854Z","0.5.6":"2023-11-07T18:56:24.238Z","0.5.7":"2023-12-06T04:46:36.256Z","0.6.0":"2024-04-26T14:57:04.430Z","0.6.1":"2025-04-22T02:24:08.691Z","0.7.0":"2025-08-14T20:05:19.724Z","0.7.1":"2025-08-20T18:57:42.879Z","0.7.2":"2025-10-23T17:41:38.008Z","0.7.3":"2025-11-27T05:03:34.325Z","0.7.4":"2026-01-28T18:51:22.645Z","0.7.5":"2026-02-02T20:59:45.436Z","0.7.6":"2026-02-17T00:19:09.718Z","0.7.7":"2026-02-21T06:54:14.107Z","0.7.8":"2026-02-27T17:57:09.088Z","0.7.9":"2026-03-31T17:43:58.961Z","0.7.10":"2026-08-12T17:30:10.162Z","0.7.11":"2026-08-15T03:15:25.710Z","0.7.12":"2026-09-04T17:54:12.424Z"},"bugs":{"url":"https://github.com/bikeshaving/crank/issues"},"license":"MIT","homepage":"https://crank.js.org","repository":{"url":"git+https://github.com/bikeshaving/crank.git","type":"git"},"description":"The Just JavaScript UI Framework.","maintainers":[{"name":"brainkim","email":"briankimpossible@gmail.com"}],"readme":"<div align=\"center\">\n<img src=\"logo.svg\" alt=\"Crank.js Logo\" width=\"200\" height=\"200\" />\n\n# Crank.js\nThe Just JavaScript UI Framework\n</div>\n\n## Get Started\n\nScaffold a new project:\n\n```shell\nnpm create crank\n```\n\nOr try it instantly in the [online playground](https://crank.js.org/playground).\n\nOther links:\n- [crank.js.org](https://crank.js.org)\n- [NPM](https://www.npmjs.com/package/@b9g/crank)\n- [Introducing Crank.js](https://crank.js.org/blog/introducing-crank/)\n- [Examples](https://github.com/bikeshaving/crank/tree/main/examples)\n- [Crank for Python](https://github.com/bikeshaving/crankpy)\n- [Deep Wiki](https://deepwiki.com/bikeshaving/crank)\n\n## Motivation\n**A framework that feels like JavaScript.**\n\n```javascript\n// State is defined with generator components\nfunction* Timer() {\n  // setup goes here\n  let seconds = 0;\n  const interval = setInterval(() => this.refresh(() => seconds++), 1000);\n\n  for ({} of this) {\n    yield <div>Seconds: {seconds}</div>;\n  }\n\n  clearInterval(interval); // Cleanup just works\n}\n\nrenderer.render(<Timer />, document.body);\n\n// Async components just work on client and server\nasync function UserProfile({userId}) {\n  const user = await fetchUser(userId);\n  return <div>Hello, {user.name}!</div>;\n}\n\nawait renderer.render(<UserProfile />, document.body);\n```\n\n### Why Crank?\n\nCrank leans on the language instead of reinventing it. State is a local\nvariable, held in a generator’s scope. Updates are re-execution: calling\n`refresh()` runs the loop again. A loading state is an `async` function,\nawaited. Setup is the code before the loop; cleanup is the code after it.\nThere are no hooks, no dependency arrays, no compiler, and no rules about\nwhat you can call where — control flow is the lifecycle.\n\nBecause components are plain functions and generators, everything you already\nknow about JavaScript applies. Closures hold state, modules share logic, and\n`try`/`finally` handles teardown. If you can read JavaScript, you can read a\nCrank component.\n\n## Installation\n\nThe Crank package is available on [NPM](https://npmjs.org/@b9g/crank) through\nthe [@b9g organization](https://www.npmjs.com/org/b9g) (short for\nb*ikeshavin*g).\n\n```shell\nnpm i @b9g/crank\n```\n\n### Importing Crank with the **automatic** JSX transform.\n\n```jsx live\n/** @jsxImportSource @b9g/crank */\nimport {renderer} from \"@b9g/crank/dom\";\n\nrenderer.render(\n  <p>This paragraph element is transpiled with the automatic transform.</p>,\n  document.body,\n);\n```\n\n### Importing the JSX template tag.\n\nStarting in version `0.5`, the Crank package ships a [tagged template\nfunction](/guides/jsx-template-tag) which provides similar syntax and semantics\nas the JSX transform. This allows you to write Crank components in vanilla\nJavaScript.\n\n```js live\nimport {jsx} from \"@b9g/crank/standalone\";\nimport {renderer} from \"@b9g/crank/dom\";\n\nrenderer.render(jsx`\n  <p>No transpilation is necessary with the JSX template tag.</p>\n`, document.body);\n```\n\n### ECMAScript Module CDNs\nCrank is also available on CDNs like [jsDelivr](https://www.jsdelivr.com)\n(https://cdn.jsdelivr.net/npm/@b9g/crank/) and [esm.sh](https://esm.sh)\n(https://esm.sh/@b9g/crank) for usage in ESM-ready environments.\n\n```jsx live\n/** @jsx createElement */\nimport {createElement} from \"https://cdn.jsdelivr.net/npm/@b9g/crank/crank.js\";\nimport {renderer} from \"https://cdn.jsdelivr.net/npm/@b9g/crank/dom.js\";\n\nrenderer.render(\n  <div id=\"hello\">\n    Running on <a href=\"https://www.jsdelivr.com\">jsDelivr</a>\n  </div>,\n  document.body,\n);\n```\n\n## Key Examples\n\n### A Simple Component\n\n```jsx live\nimport {renderer} from \"@b9g/crank/dom\";\n\nfunction Greeting({name = \"World\"}) {\n  return (\n    <div>Hello {name}</div>\n  );\n}\n\nrenderer.render(<Greeting />, document.body);\n```\n\n### A Stateful Component\n\n```jsx live\nfunction *Timer(this: Context) {\n  let seconds = 0;\n  const interval = setInterval(() => this.refresh(() => seconds++), 1000);\n  for ({} of this) {\n    yield <div>Seconds: {seconds}</div>;\n  }\n\n  clearInterval(interval);\n}\n```\n\n### An Async Component\n\n```jsx live\nimport {renderer} from \"@b9g/crank/dom\";\nasync function Definition({word}) {\n  // API courtesy https://dictionaryapi.dev\n  const res = await fetch(`https://api.dictionaryapi.dev/api/v2/entries/en/${word}`);\n  const data = await res.json();\n  if (!Array.isArray(data)) {\n    return <p>No definition found for {word}</p>;\n  }\n\n  const {phonetic, meanings} = data[0];\n  const {partOfSpeech, definitions} = meanings[0];\n  const {definition} = definitions[0];\n  return <>\n    <p>{word} <code>{phonetic}</code></p>\n    <p><b>{partOfSpeech}.</b>{\" \"}{definition}</p>\n  </>;\n}\n\nawait renderer.render(<Definition word=\"framework\" />, document.body);\n```\n\n### A Loading Component\n\n```jsx live\nimport {Fragment} from \"@b9g/crank\";\nimport {renderer} from \"@b9g/crank/dom\";\n\nasync function LoadingIndicator() {\n  await new Promise(resolve => setTimeout(resolve, 1000));\n  return (\n    <div>\n      🐕 Fetching a good boy...\n    </div>\n  );\n}\n\nasync function RandomDog({throttle = false}) {\n  const res = await fetch(\"https://dog.ceo/api/breeds/image/random\");\n  const data = await res.json();\n  if (throttle) {\n    await new Promise(resolve => setTimeout(resolve, 2000));\n  }\n\n  return (\n    <div>\n      <a href={data.message} target=\"_blank\" style=\"text-decoration: none; color: inherit;\">\n        <img\n          src={data.message}\n          alt=\"A Random Dog\"\n          width=\"300\"\n        />\n        <div>\n          Click to view full size\n        </div>\n      </a>\n    </div>\n  );\n}\n\nasync function *RandomDogLoader({throttle}) {\n  // for await can be used to race component trees\n  for await ({throttle} of this) {\n    yield <LoadingIndicator />;\n    yield <RandomDog throttle={throttle} />;\n  }\n}\n\nfunction *RandomDogApp() {\n  let throttle = false;\n  this.addEventListener(\"click\", (ev) => {\n    if (ev.target.tagName === \"BUTTON\") {\n      this.refresh(() => throttle = !throttle);\n    }\n  });\n\n  for ({} of this) {\n    yield (\n      <div>\n        <RandomDogLoader throttle={throttle} />\n        <div>\n          <button>\n            Show me another dog!\n          </button>\n          <div>\n            {throttle ? \"Slow mode\" : \"Fast mode\"}\n          </div>\n        </div>\n      </div>\n    );\n  }\n}\n\nrenderer.render(<RandomDogApp />, document.body);\n```\n\n## Common tool configurations\nThe following is an incomplete list of configurations to get started with Crank.\n\n### [TypeScript](https://www.typescriptlang.org)\n\nTypeScript is a typed superset of JavaScript.\n\nHere’s the configuration you will need to set up automatic JSX transpilation.\n\n```tsconfig.json\n{\n  \"compilerOptions\": {\n    \"jsx\": \"react-jsx\",\n    \"jsxImportSource\": \"@b9g/crank\"\n  }\n}\n```\n\nCrank is written in TypeScript and comes with types. Refer to [the guide on\nTypeScript](https://crank.js.org/guides/working-with-typescript) for more\ninformation about Crank types.\n\n```tsx\nimport type {Context} from \"@b9g/crank\";\nfunction *Timer(this: Context<typeof Timer>) {\n  let seconds = 0;\n  const interval = setInterval(() => this.refresh(() => seconds++), 1000);\n  for ({} of this) {\n    yield <div>Seconds: {seconds}</div>;\n  }\n\n  clearInterval(interval);\n}\n```\n\n### [Babel](https://babeljs.io)\n\nBabel is a popular open-source JavaScript compiler which allows you to write code with modern syntax (including JSX) and run it in environments which do not support the syntax.\n\nHere is how to get Babel to transpile JSX for Crank.\n\nAutomatic transform:\n```.babelrc.json\n{\n  \"plugins\": [\n    \"@babel/plugin-syntax-jsx\",\n    [\n      \"@babel/plugin-transform-react-jsx\",\n      {\n        \"runtime\": \"automatic\",\n        \"importSource\": \"@b9g/crank\",\n\n        \"throwIfNamespace\": false,\n        \"useSpread\": true\n      }\n    ]\n  ]\n}\n```\n\n### [ESLint](https://eslint.org)\n\nESLint is a popular open-source tool for analyzing and detecting problems in JavaScript code.\n\nCrank provides a configuration preset for working with ESLint under the package name `eslint-plugin-crank`.\n\n```bash\nnpm i eslint eslint-plugin-crank\n```\n\nIn your eslint configuration:\n\n```.eslintrc.json\n{\n  \"extends\": [\"plugin:crank/recommended\"]\n}\n```\n\n### [Astro](https://astro.build)\n\nAstro.js is a modern static site builder and framework.\n\nCrank provides an [Astro integration](https://docs.astro.build/en/guides/integrations-guide/) to enable server-side rendering and client-side hydration with Astro.\n\n```bash\nnpm i astro-crank\n```\n\nIn your `astro.config.mjs`.\n\n```astro.config.mjs\nimport {defineConfig} from \"astro/config\";\nimport crank from \"astro-crank\";\n\n// https://astro.build/config\nexport default defineConfig({\n  integrations: [crank()],\n});\n```\n\n## API Reference\n\n### Core Exports\n\n```javascript\nimport {\n  createElement,\n  Fragment,\n  Copy,\n  Portal,\n  Raw,\n  Text,\n  Context\n} from \"@b9g/crank\";\n\nimport {renderer} from \"@b9g/crank/dom\"; // Browser DOM\nimport {renderer} from \"@b9g/crank/html\"; // Server-side HTML\n\nimport {jsx, html} from \"@b9g/crank/standalone\"; // Template tag (no build)\n\nimport {Suspense, SuspenseList, lazy} from \"@b9g/crank/async\";\n```\n\n---\n\n### Component Types\n\n**Function Component** - Stateless\n```javascript\nfunction Greeting({name = \"World\"}) {\n  return <div>Hello {name}</div>;\n}\n```\n\n**Generator Component** - Stateful with `function*`\n```javascript\nfunction* Counter() {\n  let count = 0;\n  const onclick = () => this.refresh(() => count++);\n\n  for ({} of this) {\n    yield <button onclick={onclick}>Count: {count}</button>;\n  }\n}\n```\n\n**Async Component** - Uses `async` for promises\n```javascript\nasync function UserProfile({userId}) {\n  const user = await fetch(`/api/users/${userId}`).then(r => r.json());\n  return <div>Hello, {user.name}!</div>;\n}\n```\n\n**Async Generator Component** - Stateful + async\n```javascript\nasync function* DataLoader({url}) {\n  for ({url} of this) {\n    const data = await fetch(url).then(r => r.json());\n    yield <div>{data.message}</div>;\n  }\n}\n```\n\n---\n\n### Context API\n\nThe context is available as `this` in components (or as 2nd parameter).\n\n```javascript\nfunction Component(props, ctx) {\n  console.log(this === ctx); // true\n  return props.children;\n}\n```\n\n#### Properties\n\n**`this.props`** - Current props (readonly)\n\n**`this.isExecuting`** - Whether the component is currently executing\n\n**`this.isUnmounted`** - Whether the component is unmounted\n\n#### Methods\n\n**`this.refresh(callback?)`** - Trigger re-execution\n```javascript\nthis.refresh();                    // Simple refresh\nthis.refresh(() => count++);       // With state update (v0.7+)\n```\n\n**`this.schedule(callback?)`** - Execute after DOM is rendered\n```javascript\n// el is whatever the component returns Node/Text/HTMLElement/null, an array of dom nodes, etc\nthis.schedule((el) => {\n  console.log(\"Component rendered\", el.innerHTML);\n});\n```\n\n**`this.after(callback?)`** - Execute after DOM is live\n```javascript\n// this runs after the DOM nodes have finally entered the DOM\n// this is where you put things like autofocus\nthis.after((el) => {\n  console.log(el.isConnected); // true\n});\n```\n\n**`this.cleanup(callback?)`** - Execute on unmount\n```javascript\nfunction* Component() {\n  const interval = setInterval(() => this.refresh(), 1000);\n  this.cleanup(() => clearInterval(interval));\n\n  for ({} of this) {\n    yield <div>Tick</div>;\n  }\n}\n```\n\n**`this.addEventListener(type, listener, options?)`** - Listen to events\n```javascript\nthis.addEventListener(\"click\", (e) => console.log(\"Clicked!\"));\n```\n\n**`this.dispatchEvent(event)`** - Dispatch events\n```javascript\nthis.dispatchEvent(new CustomEvent(\"mybuttonclick\", {\n  bubbles: true,\n  detail: {id: props.id}\n}));\n```\n\n**`this.provide(key, value)`** / **`this.consume(key)`** - Context API\n```javascript\n// Provider\nfunction* ThemeProvider() {\n  this.provide(\"theme\", \"dark\");\n  for ({} of this) {\n    yield this.props.children;\n  }\n}\n\n// Consumer\nfunction ThemedButton() {\n  const theme = this.consume(\"theme\");\n  return <button class={theme}>Click me</button>;\n}\n```\n\n#### Iteration\n\n**`for ({} of this)`** - Render loop (sync)\n```javascript\nfunction* Component() {\n  for ({} of this) {\n    yield <div>{this.props.message}</div>;\n  }\n}\n```\n\n**`for await ({} of this)`** - Async render loop for racing trees\n```javascript\nasync function* AsyncComponent() {\n  for await ({} of this) {\n    // Multiple yields race - whichever completes first shows\n    yield <Loading />;\n    yield <Content />;\n  }\n}\n```\n\n---\n\n### Special Props\n\n**`key`** - Unique identifier for reconciliation\n```javascript\n<ul>{items.map(item => <li key={item.id}>{item.name}</li>)}</ul>\n```\n\n**`ref`** - Access rendered DOM element\n```javascript\n<audio ref={(el) => (audio = el)} />\n\n// Forward refs through components\nfunction MyInput({ref, ...props}) {\n  return <input ref={ref} {...props} />;\n}\n```\n\n**`copy`** - Prevent/control re-rendering\n```javascript\n// Boolean: prevent rendering when truthy\n<li copy={!el.hasChanged}>{el.value}</li>\n\n// string: copy specific props\n<input copy=\"!value\" type=\"text\" />        // Copy all except value\n<div copy=\"class id\" />                    // Copy only class and id\n<div copy=\"children\" />                    // Copy children\n```\n\n**`hydrate`** - Control SSR hydration\n```javascript\n<div hydrate={false}>                      // Skip hydration\n<Portal hydrate={true}>                    // Force hydration\n<input hydrate=\"!value\" />                 // Hydrate all except value\n```\n\n**`class`** - String or object (v0.7+)\n```javascript\n<button class=\"btn active\" />\n\n<button class={{\n  btn: true,\n  'btn-active': isActive,\n  'btn-disabled': isDisabled\n}} />\n```\n\n**`style`** - CSS string or object\n```javascript\n<div style=\"color: red; font-size: 16px\" />\n<div style={{\"font-size\": \"16px\", color: \"blue\"}} />\n```\n\n**`innerHTML`** - Raw HTML string (⚠️ XSS risk)\n```javascript\n<div innerHTML=\"<strong>Bold</strong>\" />\n```\n\n**Event Props** - Lowercase event handlers\n```javascript\n<button onclick={handler} />\n<input onchange={handler} oninput={handler} />\n<form onsubmit={handler} />\n```\n\n**Prop Naming** - HTML-friendly names supported\n```javascript\n<label class=\"my-label\" for=\"my-id\">Label</label>\n// Instead of className and htmlFor\n```\n\n---\n\n### Special Element Tags\n\n**`<Fragment>`** - Render children without wrapper\n```javascript\nimport {Fragment} from \"@b9g/crank\";\n\n<Fragment>\n  <div>Child 1</div>\n  <div>Child 2</div>\n</Fragment>\n\n// Or use: <>...</>\n// The Fragment tag is the empty string\n```\n\n**`<Copy />`** - Prevent element re-rendering\n```javascript\nimport {Copy} from \"@b9g/crank\";\n\nfunction memo(Component) {\n  return function* Wrapped(props) {\n    yield <Component {...props} />;\n    for (const newProps of this) {\n      if (equals(props, newProps)) {\n        yield <Copy />;  // Reuse previous render\n      } else {\n        yield <Component {...newProps} />;\n      }\n      props = newProps;\n    }\n  };\n}\n```\n\n**`<Portal>`** - Render into different DOM node\n```javascript\nimport {Portal} from \"@b9g/crank\";\n\nconst modalRoot = document.getElementById(\"modal-root\");\n\nfunction Modal({children}) {\n  return (\n    <Portal root={modalRoot}>\n      <div class=\"modal\">\n        {children}\n      </div>\n    </Portal>\n  );\n}\n```\n\n**`<Raw>`** - Insert raw HTML or DOM nodes\n```javascript\nimport {Raw} from \"@b9g/crank\";\n\nfunction MarkdownViewer({markdown}) {\n  const html = marked(markdown);\n  return <div><Raw value={html} /></div>;\n}\n\n// Or insert DOM node\n<Raw value={domNode} />\n```\n\n**`<Text>`** - Explicit text node creation (v0.7+)\n```javascript\nimport {Text} from \"@b9g/crank\";\n\n<Text value=\"Hello world\" />\n\n// Access Text nodes in lifecycle\nfunction* Component() {\n  this.schedule((node) => {\n    if (node instanceof Text) {\n      console.log(\"Text node:\", node);\n    }\n  });\n  for ({} of this) {\n    yield \"Text content\";  // Becomes a Text node\n  }\n}\n```\n\n---\n\n### Async Utilities (v0.7+)\n\n**`lazy(loader)`** - Lazy-load components\n```javascript\nimport {lazy} from \"@b9g/crank/async\";\n\nconst LazyComponent = lazy(() => import(\"./MyComponent.js\"));\n\n<Suspense fallback={<div>Loading...</div>}>\n  <LazyComponent />\n</Suspense>\n```\n\n**`Suspense`** - Declarative loading states\n```javascript\nimport {Suspense} from \"@b9g/crank/async\";\n\n<Suspense fallback={<div>Loading...</div>}>\n  <AsyncComponent />\n</Suspense>\n```\n\n**`SuspenseList`** - Coordinate multiple async components\n```javascript\nimport {SuspenseList} from \"@b9g/crank/async\";\n\n<SuspenseList>\n  <Suspense fallback={<div>Loading 1...</div>}>\n    <Item1 />\n  </Suspense>\n  <Suspense fallback={<div>Loading 2...</div>}>\n    <Item2 />\n  </Suspense>\n</SuspenseList>\n```\n\n---\n\n### Lifecycle Patterns\n\n**Mount** - Code before first `yield`\n```javascript\nfunction* Component() {\n  console.log(\"Mounting...\");\n  const interval = setInterval(() => this.refresh(), 1000);\n\n  for ({} of this) {\n    yield <div>Tick</div>;\n  }\n\n  clearInterval(interval);  // Cleanup\n}\n```\n\n**Update** - Code inside render loop\n```javascript\nfunction* Component() {\n  for ({} of this) {\n    console.log(\"Updated with:\", this.props);\n    yield <div>{this.props.message}</div>;\n  }\n}\n```\n\n**Cleanup** - Code after loop or via `this.cleanup()`\n```javascript\nfunction* Component() {\n  const interval = setInterval(() => this.refresh(), 1000);\n  this.cleanup(() => clearInterval(interval));\n\n  for ({} of this) {\n    yield <div>Tick</div>;\n  }\n}\n```\n\n---\n\n### Advanced Patterns\n\n**Higher-Order Components**\n```javascript\nfunction withLogger(Component) {\n  return function* WrappedComponent(props) {\n    console.log(\"Rendering with:\", props);\n    for ({} of this) {\n      yield <Component {...props} />;\n    }\n  };\n}\n```\n\n**Hooks**\n```javascript\nfunction useInterval(ctx, callback, delay) {\n  let interval = setInterval(callback, delay);\n  ctx.cleanup(() => clearInterval(interval));\n  return (newDelay) => {\n    delay = newDelay;\n    clearInterval(interval);\n    interval = setInterval(callback, delay);\n  };\n}\n```\n\n**Context Extensions** (⚠️ Prefer hooks over global extensions)\n```javascript\nimport {Context} from \"@b9g/crank\";\n\nContext.prototype.setInterval = function(callback, delay) {\n  const interval = setInterval(callback, delay);\n  this.cleanup(() => clearInterval(interval));\n};\n\n// Use in components\nfunction* Timer() {\n  let seconds = 0;\n  this.setInterval(() => this.refresh(() => seconds++), 1000);\n\n  for ({} of this) {\n    yield <div>Seconds: {seconds}</div>;\n  }\n}\n```\n\n**Racing Components**\n```javascript\nasync function* DataComponent({url}) {\n  for await ({url} of this) {\n    // This is the equivalent of calling\n    //   renderer.render(<Spinner />, document.body);\n    //   renderer.render(<Data />, document.body);\n    // but in a component.\n    yield <Spinner />;\n    yield <Data />;\n  }\n}\n```\n\nComponents race to render. Useful for fallback states.\n\n---\n\n### TypeScript Support\n\n```typescript\nimport type {Context} from \"@b9g/crank\";\nimport {ComponentProps} from \"@b9g/crank\";  // v0.7+\n\n// Component with typed props\ninterface Props {\n  name: string;\n  age?: number;\n}\n\nfunction Greeting({name, age}: Props) {\n  return <div>Hello {name}, age {age}</div>;\n}\n\n// Generator with typed context\nfunction* Greeting(this: Context<typeof Greeting>, {name}: {name: string}) {\n  for ({name} of this) {\n    yield <div>Hello {name}</div>;\n  }\n}\n\n// Extract component props type\nfunction Button({variant}: {variant: \"primary\" | \"secondary\"}) {\n  return <button class={`btn-${variant}`}>Click</button>;\n}\n\ntype ButtonProps = ComponentProps<typeof Button>;\n```\n\nFor comprehensive guides and documentation, visit [crank.js.org](https://crank.js.org)\n\n","readmeFilename":"README.md"}