{"_id":"hwy","_rev":"312-2ee04c51cbf2e052f72dbd7b0d01170f","name":"hwy","dist-tags":{"latest":"0.14.2","beta":"0.0.0-beta.73","pre":"0.14.0-pre.3"},"versions":{"0.0.0":{"name":"hwy","version":"0.0.0","main":"index.ts","description":"Under active development. Stay tuned!","_id":"hwy@0.0.0","_nodeVersion":"18.12.1","_npmVersion":"9.1.1","dist":{"integrity":"sha512-qROs9WuXSVxeJd5uTFOfBpmnIhVXPlo3U0Rc3PX7bafNXMZTrHqUye0s3iI8yLRhggxPXvD5hIAYyWOMs3+yRQ==","shasum":"ff1e35cc29a1928b58c62401d7dbda44f8ada751","tarball":"https://registry.npmjs.org/hwy/-/hwy-0.0.0.tgz","fileCount":3,"unpackedSize":222,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCpX6x7+YFsaiiWnAjF4UZG4A2VJ4gKrUrZmi/t6pWwvAIhAMYOkenv4dkTE4Gdz3IHwdHj+T/V5/U/AdVxuuOiuYz+"}]},"_npmUser":{"name":"sjc5","email":"email@samcook.cc"},"directories":{},"maintainers":[{"name":"sjc5","email":"email@samcook.cc"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/hwy_0.0.0_1689812188514_0.07325019660481091"},"_hasShrinkwrap":false},"0.0.1":{"name":"hwy","sideEffects":false,"version":"0.0.1","type":"module","main":"dist/index.js","scripts":{"build":"rimraf dist && tsup-node index.ts --format esm --dts","dev":"rimraf dist && tsup-node index.ts --format esm --dts --watch --sourcemap"},"bin":{"hwy-start":"scripts/start.sh"},"devDependencies":{"@hono/node-server":"^1.1.1","@types/node":"^20.5.7","@hwy-js/dev":"workspace:*","hono":"^3.5.0","rimraf":"^5.0.1","tsup":"^7.2.0"},"types":"./dist/index.d.ts","gitHead":"f8a96cb2e2e16fd87a3d05f03e80234b4d9e5bc9","description":"","_id":"hwy@0.0.1","_nodeVersion":"18.17.1","_npmVersion":"9.6.7","dist":{"integrity":"sha512-mHAcCzjqzcP3TcHRuLJwV4bO0MysUlAhcTTqq8FlqfSthEr1ICKukE3x2LEq14rT53zCYtILWyDOhVdSgSvJgQ==","shasum":"d0aed5b376d9053db6e79e9ecddb05edf3061a74","tarball":"https://registry.npmjs.org/hwy/-/hwy-0.0.1.tgz","fileCount":5,"unpackedSize":17706,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDZMPt2WadyMNIwVvigDQO3W/N879lb9UfD6LI9+Xmu8QIgCZ49oxO9bj9jGd2WtaEhi+QHNLVKmfgJHtIX5CQRtZo="}]},"_npmUser":{"name":"sjc5","email":"email@samcook.cc"},"directories":{},"maintainers":[{"name":"sjc5","email":"email@samcook.cc"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/hwy_0.0.1_1693776957288_0.7126807935301769"},"_hasShrinkwrap":false},"0.0.2-beta.0":{"name":"hwy","sideEffects":false,"version":"0.0.2-beta.0","type":"module","main":"dist/index.js","scripts":{"build":"rimraf dist && tsup-node index.ts --format esm --dts","dev":"rimraf dist && tsup-node index.ts --format esm --dts --watch --sourcemap"},"bin":{"hwy-start":"scripts/start.sh"},"devDependencies":{"@hono/node-server":"^1.1.1","@types/node":"^20.5.7","@hwy-js/dev":"workspace:*","hono":"^3.5.0","rimraf":"^5.0.1","tsup":"^7.2.0"},"types":"./dist/index.d.ts","readme":"# hwy\n","readmeFilename":"README.md","gitHead":"3487aab00f882a4d3de0928451eeed848a102702","description":"","_id":"hwy@0.0.2-beta.0","_nodeVersion":"18.17.1","_npmVersion":"9.6.7","dist":{"integrity":"sha512-1qpssIdMYDAjQtmVRYa9iV2ePpQRYWtF+PNX5Z7nuf1qeMPI/HdRkbUC53+woNeEMplhWTYa7MZaEGp4qDq/sg==","shasum":"f7bf92d018235ce54e17513e8bca2817b5da7d1a","tarball":"https://registry.npmjs.org/hwy/-/hwy-0.0.2-beta.0.tgz","fileCount":5,"unpackedSize":17873,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQC2tS2keqGCx5vC6weVomRmAMgcyBl+IK9tLx1C7MbCeAIgLkVRFvEd1UDZku5LG9LKOBtqT2pOZ+A3M4bbUf8M2bs="}]},"_npmUser":{"name":"sjc5","email":"email@samcook.cc"},"directories":{},"maintainers":[{"name":"sjc5","email":"email@samcook.cc"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/hwy_0.0.2-beta.0_1693793152796_0.22195252371657337"},"_hasShrinkwrap":false},"0.0.2-beta.1":{"name":"hwy","sideEffects":false,"version":"0.0.2-beta.1","type":"module","main":"dist/index.js","scripts":{"build":"rimraf dist && tsup-node index.ts --format esm --dts","dev":"rimraf dist && tsup-node index.ts --format esm --dts --watch --sourcemap","publish-beta":"npm publish --tag beta"},"bin":{"hwy-start":"scripts/start.sh"},"devDependencies":{"@hono/node-server":"^1.1.1","@types/node":"^20.5.7","@hwy-js/dev":"workspace:*","hono":"^3.5.0","rimraf":"^5.0.1","tsup":"^7.2.0"},"types":"./dist/index.d.ts","readme":"# hwy\n","readmeFilename":"README.md","gitHead":"5c46dc4b4a74bf2a9b0efdf05e8e1d8af3a9123e","description":"","_id":"hwy@0.0.2-beta.1","_nodeVersion":"18.17.1","_npmVersion":"9.6.7","dist":{"integrity":"sha512-0JYyp1yxxX7LD6ud6SV9gpgS0D9Cv/2g3VRdLQW4LYaRUsAM10aFcvnLKEH14CpyAyNHV54QNwkLx1xnryAuTw==","shasum":"2affdfe2c81cee14878a38208c8c44206861dd64","tarball":"https://registry.npmjs.org/hwy/-/hwy-0.0.2-beta.1.tgz","fileCount":5,"unpackedSize":17931,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIF985HT202cW0b3Wgz1IUnOWrZG6wqDrvQWnZNh+tuNGAiEAnXHjgWGY+bExaP5K+QtFNRkHXpDifOJz/F8XrAWfUsE="}]},"_npmUser":{"name":"sjc5","email":"email@samcook.cc"},"directories":{},"maintainers":[{"name":"sjc5","email":"email@samcook.cc"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/hwy_0.0.2-beta.1_1693794280560_0.10889874370348607"},"_hasShrinkwrap":false},"0.0.2-beta.2":{"name":"hwy","sideEffects":false,"version":"0.0.2-beta.2","type":"module","main":"dist/index.js","scripts":{"build":"rimraf dist && tsup-node index.ts --format esm --dts","dev":"rimraf dist && tsup-node index.ts --format esm --dts --watch --sourcemap","publish-beta":"npm publish --tag beta"},"bin":{"hwy-start":"scripts/start.sh"},"devDependencies":{"@hono/node-server":"^1.1.1","@types/node":"^20.5.7","@hwy-js/dev":"workspace:*","hono":"^3.5.0","rimraf":"^5.0.1","tsup":"^7.2.0"},"types":"./dist/index.d.ts","readme":"# hwy\n","readmeFilename":"README.md","gitHead":"59cd8d22c97d11d134fa14df6cc0c262a578bb17","description":"","_id":"hwy@0.0.2-beta.2","_nodeVersion":"18.17.1","_npmVersion":"9.6.7","dist":{"integrity":"sha512-1Tfd4noJzMhajgzZxNec9/BCyjK9yC6OqdecBflUJxAuC1aTUOjQTQ8/pTM+/G1b8JMA8IJHJ707CsbD5OjSUQ==","shasum":"08c6f558af7cb2e3f3e28202f2d4532ca7c53461","tarball":"https://registry.npmjs.org/hwy/-/hwy-0.0.2-beta.2.tgz","fileCount":5,"unpackedSize":18148,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDGzVqTvfHUiw+u4MEmioMoB9s+opouHxQ3CN5U8WX+xQIgbo1+aT1VqlNJKTAuhURDuLBWbfVh+E1++l3aWPjm8nk="}]},"_npmUser":{"name":"sjc5","email":"email@samcook.cc"},"directories":{},"maintainers":[{"name":"sjc5","email":"email@samcook.cc"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/hwy_0.0.2-beta.2_1693794716054_0.9103045435334192"},"_hasShrinkwrap":false},"0.0.2-beta.3":{"name":"hwy","sideEffects":false,"version":"0.0.2-beta.3","type":"module","main":"dist/index.js","scripts":{"build":"rimraf dist && tsup-node index.ts --format esm --dts","dev":"rimraf dist && tsup-node index.ts --format esm --dts --watch --sourcemap","publish-beta":"npm publish --tag beta"},"bin":{"hwy-start":"scripts/start.sh"},"devDependencies":{"@hono/node-server":"^1.1.1","@types/node":"^20.5.7","@hwy-js/dev":"workspace:*","hono":"^3.5.0","rimraf":"^5.0.1","tsup":"^7.2.0"},"types":"./dist/index.d.ts","readme":"# hwy\n","readmeFilename":"README.md","gitHead":"e80a3ec714fb80883d140d36bb3e51346ca8ce81","description":"","_id":"hwy@0.0.2-beta.3","_nodeVersion":"18.17.1","_npmVersion":"9.6.7","dist":{"integrity":"sha512-bYw3B5iiaCYED8UcKcBN3wLMm1uwpXgtGbxvdKkmoustaJvyOcXhKP4tzEVIc7Z21C481uEKGDVEY9x4hZUTmw==","shasum":"1a492ca42fefb1ac6e7c79c4aff5564aa48171da","tarball":"https://registry.npmjs.org/hwy/-/hwy-0.0.2-beta.3.tgz","fileCount":5,"unpackedSize":18339,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDITagmRomSlyTc22L9fXPkHn3xzxvwNDJKHeSehv6SWgIhAL+2Dxi5a9W0/xmu+OIAJdNFJ+L3a0lX8Xk0CNRhYbVl"}]},"_npmUser":{"name":"sjc5","email":"email@samcook.cc"},"directories":{},"maintainers":[{"name":"sjc5","email":"email@samcook.cc"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/hwy_0.0.2-beta.3_1693795460379_0.09881326104783938"},"_hasShrinkwrap":false},"0.0.2-4":{"name":"hwy","sideEffects":false,"version":"0.0.2-4","type":"module","main":"dist/index.js","scripts":{"build":"rimraf dist && tsup-node index.ts --format esm --dts","dev":"rimraf dist && tsup-node index.ts --format esm --dts --watch --sourcemap","publish-beta":"npm publish --tag beta"},"bin":{"hwy-start":"scripts/start.sh"},"devDependencies":{"@hono/node-server":"^1.1.1","@types/node":"^20.5.7","@hwy-js/dev":"workspace:*","hono":"^3.5.0","rimraf":"^5.0.1","tsup":"^7.2.0"},"types":"./dist/index.d.ts","readme":"# hwy\n","readmeFilename":"README.md","gitHead":"d9bdecdb44ebc24e74687f7f9b90044e47812501","description":"","_id":"hwy@0.0.2-4","_nodeVersion":"18.17.1","_npmVersion":"9.6.7","dist":{"integrity":"sha512-xZYVieQRP9geOJ50pcnlTkHjA7RT+dsjcv5ZBaXd3KkvziIM3eCXRPgo6bJQNmH0Sc7arSVOLHXAzI5mPJ170Q==","shasum":"947609ca2e601d5d0cc5d9b5514d2b2831adcfca","tarball":"https://registry.npmjs.org/hwy/-/hwy-0.0.2-4.tgz","fileCount":5,"unpackedSize":18041,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIEF0p1NJMBIhprxVIXhxJpd4hW2kmqXnv6ySqNBzDsm3AiEAq5g5V9r3c1PS30kWF6C46TiX+4WC0pWjfAL/0CFXNKQ="}]},"_npmUser":{"name":"sjc5","email":"email@samcook.cc"},"directories":{},"maintainers":[{"name":"sjc5","email":"email@samcook.cc"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/hwy_0.0.2-4_1693796410457_0.04984540033703966"},"_hasShrinkwrap":false},"0.0.2-beta.4":{"name":"hwy","sideEffects":false,"version":"0.0.2-beta.4","type":"module","main":"dist/index.js","scripts":{"build":"rimraf dist && tsup-node index.ts --format esm --dts","dev":"rimraf dist && tsup-node index.ts --format esm --dts --watch --sourcemap","publish-beta":"npm publish --tag beta"},"bin":{"hwy-start":"scripts/start.sh"},"devDependencies":{"@hono/node-server":"^1.1.1","@types/node":"^20.5.7","@hwy-js/dev":"workspace:*","hono":"^3.5.0","rimraf":"^5.0.1","tsup":"^7.2.0"},"types":"./dist/index.d.ts","readme":"# hwy\n","readmeFilename":"README.md","gitHead":"d9bdecdb44ebc24e74687f7f9b90044e47812501","description":"","_id":"hwy@0.0.2-beta.4","_nodeVersion":"18.17.1","_npmVersion":"9.6.7","dist":{"integrity":"sha512-JGjSVgtRrQoTJsR+FKtPxQdQ4lYtK7ViLSP6Qurs+6ZH1NZcAqCItMaqPXv7e/8OmvluG4FpKfdr3d7OkPAGXg==","shasum":"aa3683ed3ebb864b4d68063e61a7d19b009721f3","tarball":"https://registry.npmjs.org/hwy/-/hwy-0.0.2-beta.4.tgz","fileCount":5,"unpackedSize":18046,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIHLUomPXyRzkk5xs7F7qEHOLSlH040HSJ6VO6IjVMtOtAiEA7mmNd/gugnJbgKIKKP9zGY6D9PP5VjSlXRATwEODeO8="}]},"_npmUser":{"name":"sjc5","email":"email@samcook.cc"},"directories":{},"maintainers":[{"name":"sjc5","email":"email@samcook.cc"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/hwy_0.0.2-beta.4_1693796463485_0.22951833687718315"},"_hasShrinkwrap":false},"0.0.2-beta.5":{"name":"hwy","sideEffects":false,"version":"0.0.2-beta.5","type":"module","main":"dist/index.js","scripts":{"build":"rimraf dist && tsup-node index.ts --format esm --dts","dev":"rimraf dist && tsup-node index.ts --format esm --dts --watch --sourcemap","publish-beta":"npm publish --tag beta"},"bin":{"hwy-start":"scripts/start.sh"},"devDependencies":{"@hono/node-server":"^1.1.1","@types/node":"^20.5.7","@hwy-js/dev":"workspace:*","hono":"^3.5.0","rimraf":"^5.0.1","tsup":"^7.2.0"},"types":"./dist/index.d.ts","readme":"# hwy\n","readmeFilename":"README.md","gitHead":"5464c0b8703359714afe0d1c72258eb6bf0cfc0b","description":"","_id":"hwy@0.0.2-beta.5","_nodeVersion":"18.17.1","_npmVersion":"9.6.7","dist":{"integrity":"sha512-MyjbylqjEXO06du6aORsZ/3oE1LtQIX5aQB7Phsir/q7D9qpJ2ejz9ynlgkToVE0s/z3YCTjvGhYZRHsS6rteg==","shasum":"d029558c1cbe5d232b4cd3eee84e10667907a7b5","tarball":"https://registry.npmjs.org/hwy/-/hwy-0.0.2-beta.5.tgz","fileCount":5,"unpackedSize":18046,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIDKKIwVLZVgd9F2tmL24IK6U94TR11r+2/qqAOdY5UHiAiAefdUZG+30H+Gxj2p3sPz+p4Bqarv3JDZIECrabP4VYQ=="}]},"_npmUser":{"name":"sjc5","email":"email@samcook.cc"},"directories":{},"maintainers":[{"name":"sjc5","email":"email@samcook.cc"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/hwy_0.0.2-beta.5_1693797196817_0.9996826997003196"},"_hasShrinkwrap":false},"0.0.2-beta.6":{"name":"hwy","sideEffects":false,"version":"0.0.2-beta.6","type":"module","main":"dist/index.js","scripts":{"build":"rimraf dist && tsup-node index.ts --format esm --dts","dev":"rimraf dist && tsup-node index.ts --format esm --dts --watch --sourcemap","publish-beta":"npm publish --tag beta"},"bin":{"hwy-start":"scripts/start.sh"},"devDependencies":{"@hono/node-server":"^1.1.1","@types/node":"^20.5.7","@hwy-js/dev":"workspace:*","hono":"^3.5.0","rimraf":"^5.0.1","tsup":"^7.2.0"},"types":"./dist/index.d.ts","readme":"# hwy\n","readmeFilename":"README.md","gitHead":"5464c0b8703359714afe0d1c72258eb6bf0cfc0b","description":"","_id":"hwy@0.0.2-beta.6","_nodeVersion":"18.17.1","_npmVersion":"9.6.7","dist":{"integrity":"sha512-CXkQE66HojjSlNVnDfBpcbALQB549d/qry4kEqUdXpFnPvcrf5QW2UugBABLWNzFEdtZB6D4H7TXHSl6U3wKtQ==","shasum":"a778e74af68540bedbd39f1f624210ed5c0c5ec1","tarball":"https://registry.npmjs.org/hwy/-/hwy-0.0.2-beta.6.tgz","fileCount":5,"unpackedSize":18046,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIBXnGb1d/As1r1RWISiC2/CskJ2WdhevmJMEgiOFRHMDAiEAqfTs/HrzCZIeGXImsKwtTeR6NodXsdebucbKuvzkhUM="}]},"_npmUser":{"name":"sjc5","email":"email@samcook.cc"},"directories":{},"maintainers":[{"name":"sjc5","email":"email@samcook.cc"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/hwy_0.0.2-beta.6_1693799057129_0.7230017273210689"},"_hasShrinkwrap":false},"0.0.2-beta.7":{"name":"hwy","sideEffects":false,"version":"0.0.2-beta.7","type":"module","main":"dist/index.js","scripts":{"build":"rimraf dist && tsup-node index.ts --format esm --dts","dev":"rimraf dist && tsup-node index.ts --format esm --dts --watch --sourcemap","publish-beta":"npm publish --tag beta"},"bin":{"hwy-start":"scripts/start.sh"},"devDependencies":{"@hono/node-server":"^1.1.1","@types/node":"^20.5.7","@hwy-js/dev":"workspace:*","hono":"^3.5.0","rimraf":"^5.0.1","tsup":"^7.2.0"},"types":"./dist/index.d.ts","readme":"# hwy\n","readmeFilename":"README.md","gitHead":"8d00e6b3dd38cbc3922ee5d7f2d1fb62bee11d8c","description":"","_id":"hwy@0.0.2-beta.7","_nodeVersion":"18.17.1","_npmVersion":"9.6.7","dist":{"integrity":"sha512-hIeNhqZisERB2qsuhwwk6m0XnLGU+j/dWXIBn7nEHP9+m5yuVfaggAIBD+lAfB5hHEZUZK8sI9piQ3YiMrF6CQ==","shasum":"dbd6cf00d1ed7fcd4ca386f9f8d61aff4cd0d939","tarball":"https://registry.npmjs.org/hwy/-/hwy-0.0.2-beta.7.tgz","fileCount":5,"unpackedSize":18276,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIFyMWLDUcD2gjdqWVW9qd+o/9y14W4kevXyiJaD15wLCAiAo2JJ3AUXy8/1s5hgPhk051xOgFt9XO7e6iEPPn48Ukg=="}]},"_npmUser":{"name":"sjc5","email":"email@samcook.cc"},"directories":{},"maintainers":[{"name":"sjc5","email":"email@samcook.cc"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/hwy_0.0.2-beta.7_1693806625203_0.23587121046500337"},"_hasShrinkwrap":false},"0.0.2-beta.8":{"name":"hwy","sideEffects":false,"version":"0.0.2-beta.8","type":"module","main":"dist/index.js","scripts":{"build":"rimraf dist && tsup-node index.ts --format esm --dts","dev":"rimraf dist && tsup-node index.ts --format esm --dts --watch --sourcemap","publish-beta":"npm publish --tag beta"},"bin":{"hwy-start":"scripts/start.sh"},"devDependencies":{"@hono/node-server":"^1.1.1","@types/node":"^20.5.7","@hwy-js/dev":"workspace:*","hono":"^3.5.0","rimraf":"^5.0.1","tsup":"^7.2.0"},"types":"./dist/index.d.ts","readme":"# hwy\n","readmeFilename":"README.md","gitHead":"d4f27bebf848a3df31e1546d32f783b67eee97a3","description":"","_id":"hwy@0.0.2-beta.8","_nodeVersion":"18.17.1","_npmVersion":"9.6.7","dist":{"integrity":"sha512-76pzMbY21JFOpNBLVTMEtGRUFHoBHHIlsvVsUMXeVHHFaQsuCfgHvNs144FTIjqbrCm3ZugmDHFEmeH6ZN7wTA==","shasum":"a5e7b643d1013cd34739bc4f5fec91336ac9d7d9","tarball":"https://registry.npmjs.org/hwy/-/hwy-0.0.2-beta.8.tgz","fileCount":5,"unpackedSize":18276,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIBsurmoW36CHjorpa0NisSSppsslLFjeCFRcGHZnt8zxAiA+4bNok1ywPBR8RkTsvOM+tvjFF5yejIZlwyTQ2RPeTQ=="}]},"_npmUser":{"name":"sjc5","email":"email@samcook.cc"},"directories":{},"maintainers":[{"name":"sjc5","email":"email@samcook.cc"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/hwy_0.0.2-beta.8_1693897130940_0.44224228784608544"},"_hasShrinkwrap":false},"0.0.2-beta.9":{"name":"hwy","sideEffects":false,"version":"0.0.2-beta.9","type":"module","main":"dist/index.js","scripts":{"build":"rimraf dist && tsup-node index.ts --format esm --dts","dev":"rimraf dist && tsup-node index.ts --format esm --dts --watch --sourcemap","publish-beta":"npm publish --tag beta"},"bin":{"hwy-start":"scripts/start.sh"},"devDependencies":{"@hono/node-server":"^1.1.1","@hwy-js/dev":"workspace:*","@types/node":"^20.5.9","hono":"^3.5.8","rimraf":"^5.0.1","tsup":"^7.2.0"},"types":"./dist/index.d.ts","readme":"# hwy\n","readmeFilename":"README.md","gitHead":"cee857e1c4f11ef73b8a32a16601620000e82482","description":"","_id":"hwy@0.0.2-beta.9","_nodeVersion":"18.17.1","_npmVersion":"9.6.7","dist":{"integrity":"sha512-/ldAWB7wyh5Q0KA/70gJQiRIFa7XDbzcQX6pO5f+sOh506sJ9LKyQZQ0vKfJDw6mge7XBvvU1u4oEPFqxCMz+A==","shasum":"43da546958834b751343751b6de02a3b42e2bd2f","tarball":"https://registry.npmjs.org/hwy/-/hwy-0.0.2-beta.9.tgz","fileCount":5,"unpackedSize":18022,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCeoqBMfWTxtSehtbtZpdIXfQUXavH4phr8rhWXR4ICHQIhAN5W7xSiGuCgr1M//NHtTnAjALmXoTS+DeRPVxJ3a/q1"}]},"_npmUser":{"name":"sjc5","email":"email@samcook.cc"},"directories":{},"maintainers":[{"name":"sjc5","email":"email@samcook.cc"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/hwy_0.0.2-beta.9_1693955516512_0.694507251954501"},"_hasShrinkwrap":false},"0.0.2-beta.10":{"name":"hwy","sideEffects":false,"version":"0.0.2-beta.10","type":"module","main":"dist/index.js","scripts":{"build":"rimraf dist && tsup-node index.ts --format esm --dts","dev":"rimraf dist && tsup-node index.ts --format esm --dts --watch --sourcemap","publish-beta":"npm publish --tag beta"},"bin":{"hwy-start":"scripts/start.sh"},"devDependencies":{"@hono/node-server":"^1.1.1","@hwy-js/dev":"workspace:*","@types/node":"^20.5.9","hono":"^3.5.8","rimraf":"^5.0.1","tsup":"^7.2.0"},"types":"./dist/index.d.ts","readme":"# hwy\n","readmeFilename":"README.md","gitHead":"2113ff02a4a91c25bca6fb9a951d74e1efdaa463","description":"","_id":"hwy@0.0.2-beta.10","_nodeVersion":"18.16.0","_npmVersion":"9.5.1","dist":{"integrity":"sha512-tGtWn2mI8aZKjSbi50mdNHzwqKLVFGKLVDzGV1MZp5JsoN3uD313bDuPwUnYXHzx680jDDbO7QKk6Q2GGanpWQ==","shasum":"d42630b617447c2c95342f486af95e25ef2037ce","tarball":"https://registry.npmjs.org/hwy/-/hwy-0.0.2-beta.10.tgz","fileCount":5,"unpackedSize":18023,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIBiRyi3ulLBl2GUysrFHldIcbYLsKa2nzvdCf0NDHw3BAiADifXdTbIbWkSD41nbUZoBd5uK6YOAwwk5ke63LU028Q=="}]},"_npmUser":{"name":"sjc5","email":"email@samcook.cc"},"directories":{},"maintainers":[{"name":"sjc5","email":"email@samcook.cc"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/hwy_0.0.2-beta.10_1693966462538_0.5173293754245141"},"_hasShrinkwrap":false},"0.0.2-beta.11":{"name":"hwy","sideEffects":false,"version":"0.0.2-beta.11","type":"module","main":"dist/index.js","scripts":{"build":"rimraf dist && tsup-node index.ts --format esm --dts","dev":"rimraf dist && tsup-node index.ts --format esm --dts --watch --sourcemap","publish-beta":"npm publish --tag beta"},"devDependencies":{"@hono/node-server":"^1.1.1","@hwy-js/dev":"workspace:*","@types/node":"^20.5.9","hono":"^3.5.8","rimraf":"^5.0.1","tsup":"^7.2.0"},"types":"./dist/index.d.ts","readme":"# hwy\n","readmeFilename":"README.md","gitHead":"9cfa99f67b8dbdde693060b83304f5525cae3cbf","description":"","_id":"hwy@0.0.2-beta.11","_nodeVersion":"18.17.1","_npmVersion":"9.6.7","dist":{"integrity":"sha512-uMAfPavEN9/t7bZGhqTdVWOJNIZFLZvknKC3b+tvGlLucEhvEkNDXU1JvMcNehrR+8xQgHLLgVn1+A1asMGCBQ==","shasum":"839c57b5c944522a88f731f78b2be5819565374a","tarball":"https://registry.npmjs.org/hwy/-/hwy-0.0.2-beta.11.tgz","fileCount":4,"unpackedSize":17942,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQC/M8nPOnmfpaNkYbr00eue7xoFFHy0DOiSEOr6PJVlqwIgME9LRcXI/3yUdQiyEzoMSHAd//sz01TO1xcRapxVvDI="}]},"_npmUser":{"name":"sjc5","email":"email@samcook.cc"},"directories":{},"maintainers":[{"name":"sjc5","email":"email@samcook.cc"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/hwy_0.0.2-beta.11_1693974817337_0.4176499380572345"},"_hasShrinkwrap":false},"0.0.2-beta.12":{"name":"hwy","sideEffects":false,"version":"0.0.2-beta.12","type":"module","main":"dist/index.js","scripts":{"build":"rimraf dist && tsup-node index.ts --format esm --dts","dev":"rimraf dist && tsup-node index.ts --format esm --dts --watch --sourcemap","publish-beta":"npm publish --tag beta"},"devDependencies":{"@hono/node-server":"^1.1.1","@hwy-js/dev":"workspace:*","@types/node":"^20.5.9","hono":"^3.5.8","rimraf":"^5.0.1","tsup":"^7.2.0"},"types":"./dist/index.d.ts","readme":"# hwy\n","readmeFilename":"README.md","gitHead":"9cfa99f67b8dbdde693060b83304f5525cae3cbf","description":"","_id":"hwy@0.0.2-beta.12","_nodeVersion":"18.17.1","_npmVersion":"9.6.7","dist":{"integrity":"sha512-eMmer6sGjJJu1T4PTMs1f8fBYx+pCAU2HKCsOGWb445RvZyYQdzMGOuM39K4Krmubr0uehb/uUfZj3ri4Gx3Eg==","shasum":"2b38d3840719499ea26e1d2614f07cc2124e20f2","tarball":"https://registry.npmjs.org/hwy/-/hwy-0.0.2-beta.12.tgz","fileCount":4,"unpackedSize":17942,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQC9f1IKVQ00CGPua5B3o+8zHJgpmkNv8flB7XT2FQu1DgIgGrJBg4dtQPWMGX3bA5DuU6kItzFC5r6jwekHIbyY3dM="}]},"_npmUser":{"name":"sjc5","email":"email@samcook.cc"},"directories":{},"maintainers":[{"name":"sjc5","email":"email@samcook.cc"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/hwy_0.0.2-beta.12_1693975219817_0.027139757310870483"},"_hasShrinkwrap":false},"0.0.2-beta.13":{"name":"hwy","sideEffects":false,"version":"0.0.2-beta.13","type":"module","main":"dist/index.js","scripts":{"build":"rimraf dist && tsup-node index.ts --format esm --dts","dev":"rimraf dist && tsup-node index.ts --format esm --dts --watch --sourcemap","publish-beta":"npm publish --tag beta"},"devDependencies":{"@hono/node-server":"^1.1.1","@hwy-js/dev":"workspace:*","@types/node":"^20.5.9","hono":"^3.5.8","rimraf":"^5.0.1","tsup":"^7.2.0"},"types":"./dist/index.d.ts","readme":"# hwy\n","readmeFilename":"README.md","gitHead":"d13ec7532648a84c5c37bef66bd3f439f4f898fb","description":"","_id":"hwy@0.0.2-beta.13","_nodeVersion":"18.17.1","_npmVersion":"9.6.7","dist":{"integrity":"sha512-RwUAhVqiXM2iX+nX+94oWFwK4+WWPfXlmzXnSE4wpbAYb78a5H48G0dFVY7YwyhoY55U67qy6FhQqJHiq5Uslg==","shasum":"1220415f6424cf3df2996fc619bbf77e3010d577","tarball":"https://registry.npmjs.org/hwy/-/hwy-0.0.2-beta.13.tgz","fileCount":4,"unpackedSize":17942,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIE0r7wDmUU8aqbBFivJ6j/Eu3Ypm/PBZOoBurV1d5Q3EAiBlkeXH4TxucZ77UYocYITWewz9Kpwd1M/vXM4SLOLB5g=="}]},"_npmUser":{"name":"sjc5","email":"email@samcook.cc"},"directories":{},"maintainers":[{"name":"sjc5","email":"email@samcook.cc"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/hwy_0.0.2-beta.13_1693975832485_0.8042923163949787"},"_hasShrinkwrap":false},"0.0.2-beta.14":{"name":"hwy","sideEffects":false,"version":"0.0.2-beta.14","type":"module","main":"dist/index.js","scripts":{"build":"rimraf dist && tsup-node index.ts --format esm --dts","dev":"rimraf dist && tsup-node index.ts --format esm --dts --watch --sourcemap","publish-beta":"npm publish --tag beta"},"devDependencies":{"@hono/node-server":"^1.1.1","@hwy-js/dev":"workspace:*","@types/node":"^20.5.9","hono":"^3.5.8","rimraf":"^5.0.1","tsup":"^7.2.0"},"types":"./dist/index.d.ts","readme":"# hwy\n","readmeFilename":"README.md","gitHead":"b66582158fb6653e18be3973e4bbea52958e282d","description":"","_id":"hwy@0.0.2-beta.14","_nodeVersion":"18.17.1","_npmVersion":"9.6.7","dist":{"integrity":"sha512-NauCWC9DLSDQ8O3nyawpntn9JhYLY7rNak280g37O8UyNr4+tV/WfHd/JiFFYbHRcBlAbekqJp1qWJXTnqTbsA==","shasum":"b895fbd4c865bd24070d46032c206083e7352cfc","tarball":"https://registry.npmjs.org/hwy/-/hwy-0.0.2-beta.14.tgz","fileCount":4,"unpackedSize":18250,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIAYnrisww71q1lPOyV0Zw6wJYBo26+Qu4noZcgxKKnj9AiBBUsHmd0Tuq5hQF0BE2nIp/DXkfHXvokYPMD467sem9A=="}]},"_npmUser":{"name":"sjc5","email":"email@samcook.cc"},"directories":{},"maintainers":[{"name":"sjc5","email":"email@samcook.cc"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/hwy_0.0.2-beta.14_1694061689125_0.04776944212457157"},"_hasShrinkwrap":false},"0.0.2-beta.15":{"name":"hwy","sideEffects":false,"version":"0.0.2-beta.15","type":"module","main":"dist/index.js","scripts":{"build":"rimraf dist && tsup-node index.ts --format esm --dts","dev":"rimraf dist && tsup-node index.ts --format esm --dts --watch --sourcemap","publish-beta":"npm publish --tag beta"},"devDependencies":{"@hono/node-server":"^1.1.1","@hwy-js/dev":"workspace:*","@types/node":"^20.5.9","hono":"^3.5.8","rimraf":"^5.0.1","tsup":"^7.2.0"},"types":"./dist/index.d.ts","readme":"# hwy\n","readmeFilename":"README.md","gitHead":"4f292021ceff8b97322b00566370a54f802efcca","description":"","_id":"hwy@0.0.2-beta.15","_nodeVersion":"18.17.1","_npmVersion":"9.6.7","dist":{"integrity":"sha512-GOZFqr3RYjdJhuGK5UvDV+BVV7TOywlnY8gc7ge5j24cvkp6/qZNqlsuNrlp9aBR5goP7Q2Nryp65T5aC6b7Cw==","shasum":"91c13ecc7a9bce5bf88c44933f0050129cf520de","tarball":"https://registry.npmjs.org/hwy/-/hwy-0.0.2-beta.15.tgz","fileCount":4,"unpackedSize":18250,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIDB4Nzgfmk+7CSQT+tKWHwgjkCUzNO3+ZJsf0t4t5De5AiBxb4s+Tl1Rb547VuX45yVevoZViK2DNFabkiS/gu7vVw=="}]},"_npmUser":{"name":"sjc5","email":"email@samcook.cc"},"directories":{},"maintainers":[{"name":"sjc5","email":"email@samcook.cc"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/hwy_0.0.2-beta.15_1694068612168_0.21415614383819737"},"_hasShrinkwrap":false},"0.0.2-beta.16":{"name":"hwy","sideEffects":false,"version":"0.0.2-beta.16","type":"module","main":"dist/index.js","scripts":{"build":"rimraf dist && tsup-node index.ts --format esm --dts","dev":"rimraf dist && tsup-node index.ts --format esm --dts --watch --sourcemap","publish-beta":"npm publish --tag beta"},"devDependencies":{"@hono/node-server":"^1.1.1","@hwy-js/dev":"workspace:*","@types/node":"^20.5.9","hono":"^3.5.8","rimraf":"^5.0.1","tsup":"^7.2.0"},"types":"./dist/index.d.ts","readme":"# hwy\n","readmeFilename":"README.md","gitHead":"e514ec8bd2896db79e63f18e43080506fad7a676","description":"","_id":"hwy@0.0.2-beta.16","_nodeVersion":"18.17.1","_npmVersion":"9.6.7","dist":{"integrity":"sha512-KdhHXZj7gYIHYXwL3NRiMsKa62HpaABTM9QTY8qNvEJtGoLcVs8MI8DM+l1HQEzf+0SR2nWmeEXb9dR3W11jJw==","shasum":"4f215c45f61eb30cbb5e3240455640bdb5cb8a96","tarball":"https://registry.npmjs.org/hwy/-/hwy-0.0.2-beta.16.tgz","fileCount":4,"unpackedSize":18250,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIENzvcUWDlIwpQxKSZpXSZ8+xZE1E02ztB2AXLEI/DW0AiEA32Tm4IjGkEp5mehp6xzT4qn8b8HkE0pAg9rY/sA2ELg="}]},"_npmUser":{"name":"sjc5","email":"email@samcook.cc"},"directories":{},"maintainers":[{"name":"sjc5","email":"email@samcook.cc"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/hwy_0.0.2-beta.16_1694070308213_0.20755783950017315"},"_hasShrinkwrap":false},"0.0.2-beta.17":{"name":"hwy","sideEffects":false,"version":"0.0.2-beta.17","type":"module","main":"dist/index.js","scripts":{"build":"rimraf dist && tsup-node index.ts --format esm --dts","dev":"rimraf dist && tsup-node index.ts --format esm --dts --watch --sourcemap","publish-beta":"npm publish --tag beta"},"devDependencies":{"@hono/node-server":"^1.1.1","@hwy-js/dev":"workspace:*","@types/node":"^20.5.9","hono":"^3.5.8","rimraf":"^5.0.1","tsup":"^7.2.0"},"types":"./dist/index.d.ts","readme":"# hwy\n","readmeFilename":"README.md","gitHead":"156c4a2c35493fa4adaeb210bcfbd4a33ccfe9a9","description":"","_id":"hwy@0.0.2-beta.17","_nodeVersion":"18.17.1","_npmVersion":"9.6.7","dist":{"integrity":"sha512-9jQCLxw8cyuGt/RP/hQ2OZWNVttO34BviWB1al9o0LuabZiK5GwN0yYFh9pBkk5F/l8FUJ2vZSFud/aJ1gnxJA==","shasum":"b6b94cebc7576b1a9903af67fd0ed8e9b0b81bbf","tarball":"https://registry.npmjs.org/hwy/-/hwy-0.0.2-beta.17.tgz","fileCount":4,"unpackedSize":17834,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCPNKlv6wKH/OnayWiADqj3WjcOg7JpvqB9sdtCBE6OuQIhAKNoD8PPhCS3NVkZM9UuT/2Hb2T7o/Qzs5QSDHmSPZvN"}]},"_npmUser":{"name":"sjc5","email":"email@samcook.cc"},"directories":{},"maintainers":[{"name":"sjc5","email":"email@samcook.cc"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/hwy_0.0.2-beta.17_1694138556524_0.0484441129405615"},"_hasShrinkwrap":false},"0.0.2-beta.18":{"name":"hwy","sideEffects":false,"version":"0.0.2-beta.18","type":"module","main":"dist/index.js","scripts":{"build":"rimraf dist && tsup-node index.ts --format esm --dts","dev":"rimraf dist && tsup-node index.ts --format esm --dts --watch --sourcemap","publish-beta":"npm publish --tag beta"},"devDependencies":{"@hono/node-server":"^1.1.1","@hwy-js/dev":"workspace:*","@types/node":"^20.5.9","hono":"^3.5.8","rimraf":"^5.0.1","tsup":"^7.2.0"},"types":"./dist/index.d.ts","readme":"# hwy\n","readmeFilename":"README.md","gitHead":"95c5632a1994d8c30e985b8d322b6db9d9b69452","description":"","_id":"hwy@0.0.2-beta.18","_nodeVersion":"18.17.1","_npmVersion":"9.6.7","dist":{"integrity":"sha512-3d3Es+ItmUNjOdOzMLGRhtgi7QiT7rLqRsL/vvE9l7kNWgGCHri7g2umTCWNc1qEY2fmw4xIkFniyBCAgDWCgg==","shasum":"f5b6383ab3b1813ff0f2deef454226ee6fab4eb1","tarball":"https://registry.npmjs.org/hwy/-/hwy-0.0.2-beta.18.tgz","fileCount":4,"unpackedSize":17320,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDJvO2q8EaZBR4J5IOYFB6/CRwJp47la9H/NJ7zHsh42gIgYMeFe7/GSpyLAn0lwy4yJ3cA0SHSdOznbMP+7qmE2x0="}]},"_npmUser":{"name":"sjc5","email":"email@samcook.cc"},"directories":{},"maintainers":[{"name":"sjc5","email":"email@samcook.cc"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/hwy_0.0.2-beta.18_1694139715872_0.5417592642247435"},"_hasShrinkwrap":false},"0.0.2-beta.19":{"name":"hwy","sideEffects":false,"version":"0.0.2-beta.19","type":"module","main":"dist/index.js","scripts":{"build":"rimraf dist && tsup-node index.ts --format esm --dts","dev":"rimraf dist && tsup-node index.ts --format esm --dts --watch --sourcemap","publish-beta":"npm publish --tag beta"},"devDependencies":{"@hono/node-server":"^1.1.1","@hwy-js/dev":"workspace:*","@types/node":"^20.5.9","hono":"^3.5.8","rimraf":"^5.0.1","tsup":"^7.2.0"},"types":"./dist/index.d.ts","readme":"# hwy\n","readmeFilename":"README.md","gitHead":"4ab007f6b333d266486cbc118b92d73fa74dcc79","description":"","_id":"hwy@0.0.2-beta.19","_nodeVersion":"18.17.1","_npmVersion":"9.6.7","dist":{"integrity":"sha512-4Vxfz2vXOnrQU8exYeZBujtzMA5JNeCetC2wuWlvonT3jQWTHeIAIlyDW3dtCWqBbKj/kjD/9erFpKa4BSWNBA==","shasum":"14554020d00dbb696efa5ac0d2c75334254d2438","tarball":"https://registry.npmjs.org/hwy/-/hwy-0.0.2-beta.19.tgz","fileCount":4,"unpackedSize":17385,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIAgNR3A9Fq0t/WJzu18faHwDChC2wGJbm0L1Ip4FS4waAiAViE5gRv4p9m6LvJa4SjzfRbIvV6bKQNbcSQzGWjNxHQ=="}]},"_npmUser":{"name":"sjc5","email":"email@samcook.cc"},"directories":{},"maintainers":[{"name":"sjc5","email":"email@samcook.cc"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/hwy_0.0.2-beta.19_1694140874777_0.6629383352216682"},"_hasShrinkwrap":false},"0.0.2-beta.20":{"name":"hwy","sideEffects":false,"version":"0.0.2-beta.20","type":"module","main":"dist/index.js","scripts":{"build":"rimraf dist && tsup-node index.ts --format esm --dts","dev":"rimraf dist && tsup-node index.ts --format esm --dts --watch --sourcemap","publish-beta":"npm publish --tag beta"},"devDependencies":{"@hono/node-server":"^1.1.1","@hwy-js/dev":"workspace:*","@types/node":"^20.5.9","hono":"^3.5.8","rimraf":"^5.0.1","tsup":"^7.2.0"},"types":"./dist/index.d.ts","readme":"# hwy\n","readmeFilename":"README.md","gitHead":"6e3407b450099ee375de27d3e918c4d9edd912d3","description":"","_id":"hwy@0.0.2-beta.20","_nodeVersion":"18.17.1","_npmVersion":"9.6.7","dist":{"integrity":"sha512-txwLw5yuQ2yX2Q4TW5A+vV4d3iSIP7TXkUipoIig0yNBIc08q3qeJlReymGkMsjMiC+/y3XEiiDts6BvwkFHHw==","shasum":"4bdad0274cda0c5e290908c6ce3b0fde575b2d14","tarball":"https://registry.npmjs.org/hwy/-/hwy-0.0.2-beta.20.tgz","fileCount":4,"unpackedSize":17699,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCwDIJeHHeLVMD3Wcg5yTNuj/rezxkleu/J+4C8q9dZUwIgPb27ni1DW+ldhGQlisx/UnCnnCodYF9dfFL/0zp4V7g="}]},"_npmUser":{"name":"sjc5","email":"email@samcook.cc"},"directories":{},"maintainers":[{"name":"sjc5","email":"email@samcook.cc"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/hwy_0.0.2-beta.20_1694142803721_0.8964737726239986"},"_hasShrinkwrap":false},"0.0.2-beta.21":{"name":"hwy","sideEffects":false,"version":"0.0.2-beta.21","type":"module","main":"dist/index.js","scripts":{"build":"rimraf dist && tsup-node index.ts --format esm --dts","dev":"rimraf dist && tsup-node index.ts --format esm --dts --watch --sourcemap","publish-beta":"npm publish --tag beta"},"devDependencies":{"@hono/node-server":"^1.1.1","@hwy-js/dev":"workspace:*","@types/node":"^20.5.9","hono":"^3.5.8","rimraf":"^5.0.1","tsup":"^7.2.0"},"types":"./dist/index.d.ts","readme":"# hwy\n","readmeFilename":"README.md","gitHead":"0511fafedad0b090510ec16e04f0a5c93f28ad99","description":"","_id":"hwy@0.0.2-beta.21","_nodeVersion":"18.17.1","_npmVersion":"9.6.7","dist":{"integrity":"sha512-6+MJ7gsxcrPTxpFcRyUKy2C7XIW+am5/voMUF7UdVvISy6Qi+d5V7vTOS6II7400xm+y3+3ULXMt1tMpK9y7FA==","shasum":"19597e3f9b47b0b9094b51c89c493679396013cf","tarball":"https://registry.npmjs.org/hwy/-/hwy-0.0.2-beta.21.tgz","fileCount":4,"unpackedSize":17580,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQD78v0jf0B+DBGM6n2GHNrMxjlaQBvAlcRtkdBCKj21dAIhAItjtCUUijiDaDDVAwAznOayOjdJiCOcL0PluP97JH+S"}]},"_npmUser":{"name":"sjc5","email":"email@samcook.cc"},"directories":{},"maintainers":[{"name":"sjc5","email":"email@samcook.cc"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/hwy_0.0.2-beta.21_1694144553772_0.7567324511939875"},"_hasShrinkwrap":false},"0.0.2-beta.22":{"name":"hwy","sideEffects":false,"version":"0.0.2-beta.22","type":"module","main":"dist/index.js","scripts":{"build":"rimraf dist && tsup-node index.ts --format esm --dts","dev":"rimraf dist && tsup-node index.ts --format esm --dts --watch --sourcemap","publish-beta":"npm publish --tag beta"},"devDependencies":{"@hono/node-server":"^1.1.1","@hwy-js/dev":"workspace:*","@types/node":"^20.5.9","hono":"^3.5.8","rimraf":"^5.0.1","tsup":"^7.2.0"},"_id":"hwy@0.0.2-beta.22","readme":"# hwy\n","readmeFilename":"README.md","gitHead":"fd21eeded5570a814fbe36dcad7751b834ede54c","types":"./dist/index.d.ts","description":"","_nodeVersion":"18.17.1","_npmVersion":"10.0.0","dist":{"integrity":"sha512-g6neT2HgPZtj7bTmRp2YhYwUJTSQd4hl1l+sGKFiIs6Q9idFnB6WUaSzkMByrubUwqQ9lEPG9kB4lbHgztKZpw==","shasum":"fb9e713bba4bbc8e1c63063f705e8d2637f55813","tarball":"https://registry.npmjs.org/hwy/-/hwy-0.0.2-beta.22.tgz","fileCount":4,"unpackedSize":17525,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCc5KfKYAm/HhDt3rOJmp2Ue4C0tEe90O64rXQbvpr2yAIhAMTqzB05vxBPwsMMa/WGL9mrOTXgE9QXIbo0aTRPmj7c"}]},"_npmUser":{"name":"sjc5","email":"email@samcook.cc"},"directories":{},"maintainers":[{"name":"sjc5","email":"email@samcook.cc"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/hwy_0.0.2-beta.22_1694145453886_0.6192065929377879"},"_hasShrinkwrap":false},"0.0.2-beta.23":{"name":"hwy","sideEffects":false,"version":"0.0.2-beta.23","type":"module","main":"dist/index.js","scripts":{"build":"rimraf dist && tsup-node index.ts --format esm --dts","dev":"rimraf dist && tsup-node index.ts --format esm --dts --watch --sourcemap","publish-beta":"npm publish --tag beta"},"devDependencies":{"@hono/node-server":"^1.1.1","@hwy-js/dev":"workspace:*","@types/node":"^20.5.9","hono":"^3.5.8","rimraf":"^5.0.1","tsup":"^7.2.0"},"_id":"hwy@0.0.2-beta.23","readme":"# hwy\n","readmeFilename":"README.md","gitHead":"b62365e4854b2cfa9b7565106fd3101ab5f195f4","types":"./dist/index.d.ts","description":"","_nodeVersion":"18.17.1","_npmVersion":"10.0.0","dist":{"integrity":"sha512-bLflXOwzHKKj0Mk+twiu0UQ5pL5BDRfyypwzVdWA5cyekeH99h6EiwUlEWBsEegYThlKtPEdRYnjWAuZFVtGRA==","shasum":"c1775d0e4a1946b2823d36570671f620ea396ff8","tarball":"https://registry.npmjs.org/hwy/-/hwy-0.0.2-beta.23.tgz","fileCount":4,"unpackedSize":18085,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIDywORfMBwuuEpah+xnvAD3i7OB33OV3puRzLF/lxaRMAiEAgN8HVlVb9aOmqrqaYeYWs/rM5y8x8kQQ099E7pKaiJE="}]},"_npmUser":{"name":"sjc5","email":"email@samcook.cc"},"directories":{},"maintainers":[{"name":"sjc5","email":"email@samcook.cc"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/hwy_0.0.2-beta.23_1694149123171_0.23038211149917198"},"_hasShrinkwrap":false},"0.0.2-beta.24":{"name":"hwy","sideEffects":false,"version":"0.0.2-beta.24","type":"module","main":"dist/index.js","scripts":{"build":"rimraf dist && tsup-node index.ts --format esm --dts","dev":"rimraf dist && tsup-node index.ts --format esm --dts --watch --sourcemap","publish-beta":"npm publish --tag beta"},"devDependencies":{"@hono/node-server":"^1.1.1","@hwy-js/dev":"workspace:*","@types/node":"^20.5.9","hono":"^3.5.8","rimraf":"^5.0.1","tsup":"^7.2.0"},"_id":"hwy@0.0.2-beta.24","readme":"# hwy\n","readmeFilename":"README.md","gitHead":"f8bab2561d0bf8ebe969087b53a5f1dac0e7a09d","types":"./dist/index.d.ts","description":"","_nodeVersion":"18.17.1","_npmVersion":"10.0.0","dist":{"integrity":"sha512-Fc5FUO7fnbOC9CQJiqdD96oEWfVeFdqiicC7ATZl7DrtvGfh7sCKouOuApX3kaehMxv7CUb52MnIDEioqA9QNg==","shasum":"a7e65af1377b1d5ffc24e87feeae3cb15f2bca3b","tarball":"https://registry.npmjs.org/hwy/-/hwy-0.0.2-beta.24.tgz","fileCount":4,"unpackedSize":18085,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDACwrp9r2O7eY+ukpPOkaNkKtP/ZpRdgDm9hMZLJ2KNAIhAOQ/CyNhtcAWbIia8OMQS8kDugFpvNZXVzV8cl1zBt4A"}]},"_npmUser":{"name":"sjc5","email":"email@samcook.cc"},"directories":{},"maintainers":[{"name":"sjc5","email":"email@samcook.cc"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/hwy_0.0.2-beta.24_1694149621701_0.199814861152404"},"_hasShrinkwrap":false},"0.0.2-beta.25":{"name":"hwy","sideEffects":false,"version":"0.0.2-beta.25","type":"module","main":"dist/index.js","scripts":{"build":"rimraf dist && tsup-node index.ts --format esm --dts","dev":"rimraf dist && tsup-node index.ts --format esm --dts --watch --sourcemap","publish-beta":"npm publish --tag beta"},"devDependencies":{"@hono/node-server":"^1.1.1","@hwy-js/dev":"workspace:*","@types/node":"^20.5.9","hono":"^3.5.8","rimraf":"^5.0.1","tsup":"^7.2.0"},"_id":"hwy@0.0.2-beta.25","readme":"# hwy\n","readmeFilename":"README.md","gitHead":"7b0eb14f769d670f0ca762a794f2ad85e53b21c2","types":"./dist/index.d.ts","description":"","_nodeVersion":"18.17.1","_npmVersion":"10.0.0","dist":{"integrity":"sha512-EMrUAc+dsAl8/iO8+3+3Ho+3ABa2ROZFN/An7WkAzWEX3qJeDJFdfS9tzKwa4dO0wE4pwk4s1YxPNd0xyJUCUw==","shasum":"814d680e222d31986d8af18ea7efb3144afa8fec","tarball":"https://registry.npmjs.org/hwy/-/hwy-0.0.2-beta.25.tgz","fileCount":4,"unpackedSize":21406,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIBP6CVLh6cL9ieGICSIDfOkNOuAoZadM9/OppAlYTa57AiEAgkZx6Aii9RLjce07A1f/Y3mB9/hPKxV8rXp1qG29qFY="}]},"_npmUser":{"name":"sjc5","email":"email@samcook.cc"},"directories":{},"maintainers":[{"name":"sjc5","email":"email@samcook.cc"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/hwy_0.0.2-beta.25_1694215378617_0.4786570813562707"},"_hasShrinkwrap":false},"0.0.2-beta.26":{"name":"hwy","sideEffects":false,"version":"0.0.2-beta.26","type":"module","main":"dist/index.js","scripts":{"build":"rimraf dist && tsup-node index.ts --format esm --dts","dev":"rimraf dist && tsup-node index.ts --format esm --dts --watch --sourcemap","publish-beta":"npm publish --tag beta"},"devDependencies":{"@hono/node-server":"^1.1.1","@hwy-js/dev":"workspace:*","@types/node":"^20.5.9","hono":"^3.5.8","rimraf":"^5.0.1","tsup":"^7.2.0"},"_id":"hwy@0.0.2-beta.26","readme":"# hwy\n","readmeFilename":"README.md","gitHead":"7b0eb14f769d670f0ca762a794f2ad85e53b21c2","types":"./dist/index.d.ts","description":"","_nodeVersion":"18.17.1","_npmVersion":"10.0.0","dist":{"integrity":"sha512-+3B67QvdSfzUDKqfUOS4U5OCJagOE8djwwAgaPe1g4xGlVLY6YmtPlux7ZHzhJQGmIbG9830uWJD/kD25ukB6g==","shasum":"fd7622dd608f1249d37a46ff342fff6a70bea922","tarball":"https://registry.npmjs.org/hwy/-/hwy-0.0.2-beta.26.tgz","fileCount":4,"unpackedSize":21348,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCICtus1VUueeZuOtEAW5Tc98r/5zur6vhaRV4ygLrswwQAiEA9XRlttyhYkFn34/m0bQ3bDkcHZcR0C2KtXOFL+kzYE0="}]},"_npmUser":{"name":"sjc5","email":"email@samcook.cc"},"directories":{},"maintainers":[{"name":"sjc5","email":"email@samcook.cc"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/hwy_0.0.2-beta.26_1694215542157_0.7486816256605733"},"_hasShrinkwrap":false},"0.0.2-beta.27":{"name":"hwy","sideEffects":false,"version":"0.0.2-beta.27","type":"module","main":"dist/index.js","scripts":{"build":"rimraf dist && tsup-node index.ts --format esm --dts","dev":"rimraf dist && tsup-node index.ts --format esm --dts --watch --sourcemap","publish-beta":"npm publish --tag beta"},"devDependencies":{"@hono/node-server":"^1.1.1","@hwy-js/dev":"workspace:*","@types/node":"^20.5.9","hono":"^3.5.8","rimraf":"^5.0.1","tsup":"^7.2.0"},"_id":"hwy@0.0.2-beta.27","readme":"# hwy\n","readmeFilename":"README.md","gitHead":"ef4fb69007530aafa756db33313fbcea9b33f34b","types":"./dist/index.d.ts","description":"","_nodeVersion":"18.17.1","_npmVersion":"10.0.0","dist":{"integrity":"sha512-Hu47DBSr9wcQjiKJU7S6fDmImgshTG00BcU09ia/SVCQn65lgvz9Dkgq3F4CQKVvQKyjKlu7iBKGREIcutBj/g==","shasum":"40edf297a8e8dd4c906f7ed9957dab29fbe49614","tarball":"https://registry.npmjs.org/hwy/-/hwy-0.0.2-beta.27.tgz","fileCount":4,"unpackedSize":22107,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIDfSxJGRyAmdMkfNdyP44w19cSPCw7NCp8lkjBuA29UrAiEAlL1kzwUa0s31OY0Gu+8RlQ+60CCFRKT/+YKs6NtkJgA="}]},"_npmUser":{"name":"sjc5","email":"email@samcook.cc"},"directories":{},"maintainers":[{"name":"sjc5","email":"email@samcook.cc"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/hwy_0.0.2-beta.27_1694243772768_0.3144775635998054"},"_hasShrinkwrap":false},"0.0.2-beta.28":{"name":"hwy","sideEffects":false,"version":"0.0.2-beta.28","type":"module","main":"dist/index.js","scripts":{"build":"rimraf dist && tsup-node index.ts --format esm --dts","dev":"rimraf dist && tsup-node index.ts --format esm --dts --watch --sourcemap","publish-beta":"npm publish --tag beta"},"devDependencies":{"@hono/node-server":"^1.1.1","@hwy-js/dev":"workspace:*","@types/node":"^20.5.9","hono":"^3.5.8","rimraf":"^5.0.1","tsup":"^7.2.0"},"_id":"hwy@0.0.2-beta.28","readme":"# hwy\n","readmeFilename":"README.md","gitHead":"24bc4314ffaa4844fcfb7abe922b164e685f0000","types":"./dist/index.d.ts","description":"","_nodeVersion":"18.17.1","_npmVersion":"10.0.0","dist":{"integrity":"sha512-Y5lK1x8kneqr5ydKK7fD7f2OSG2Kx5Qeov9iJfKoxIe+mpCIjwmFufY21+WoGOFRB5p9NSI79YltpSuT85dhmw==","shasum":"4d67bf01315fd66fa3cd54018d91d711a852b060","tarball":"https://registry.npmjs.org/hwy/-/hwy-0.0.2-beta.28.tgz","fileCount":4,"unpackedSize":23401,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIGsvBZghCQfNIUUZZ+xeiUuSDtl091lilGZnk+VHNC+6AiEAxWwARO4KyulrBhI5lp6++cFOZy45I/mIoe76QSjI3FE="}]},"_npmUser":{"name":"sjc5","email":"email@samcook.cc"},"directories":{},"maintainers":[{"name":"sjc5","email":"email@samcook.cc"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/hwy_0.0.2-beta.28_1694292934179_0.133412743627485"},"_hasShrinkwrap":false},"0.0.2-beta.29":{"name":"hwy","sideEffects":false,"version":"0.0.2-beta.29","type":"module","main":"dist/index.js","scripts":{"build":"rimraf dist && tsup-node index.ts --format esm --dts","dev":"rimraf dist && tsup-node index.ts --format esm --dts --watch --sourcemap","publish-beta":"npm publish --tag beta"},"devDependencies":{"@hono/node-server":"^1.1.1","@hwy-js/dev":"workspace:*","@types/node":"^20.5.9","hono":"^3.5.8","rimraf":"^5.0.1","tsup":"^7.2.0"},"_id":"hwy@0.0.2-beta.29","readme":"# hwy\n","readmeFilename":"README.md","gitHead":"d1716b81248427173f42ee74636767b60e461670","types":"./dist/index.d.ts","description":"","_nodeVersion":"18.17.1","_npmVersion":"10.0.0","dist":{"integrity":"sha512-R106px4apjaq16P5a1iQca/l6n+jhqSCv7gxMesmFGEWU9lay5EugQinfjtlAfkq6X97sQuPNbGSnT3bxLxluA==","shasum":"7affdb6ec4580700d0d4184c415637120816c8ec","tarball":"https://registry.npmjs.org/hwy/-/hwy-0.0.2-beta.29.tgz","fileCount":4,"unpackedSize":23401,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIGyWvlZ5EmE84VBjiD9At78/WBu5tplc2LB8dCUmRSTsAiEA3wPuQSN+8QqQm0WXjkXDe2a21kSRnGHc+0kvFZBBzAo="}]},"_npmUser":{"name":"sjc5","email":"email@samcook.cc"},"directories":{},"maintainers":[{"name":"sjc5","email":"email@samcook.cc"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/hwy_0.0.2-beta.29_1694294487876_0.02444700141140488"},"_hasShrinkwrap":false},"0.0.2-beta.30":{"name":"hwy","sideEffects":false,"version":"0.0.2-beta.30","type":"module","main":"dist/index.js","scripts":{"build":"rimraf dist && tsup-node index.ts --format esm --dts","dev":"rimraf dist && tsup-node index.ts --format esm --dts --watch --sourcemap","publish-beta":"npm publish --tag beta"},"devDependencies":{"@hono/node-server":"^1.1.1","@hwy-js/dev":"workspace:*","@types/node":"^20.5.9","hono":"^3.5.8","rimraf":"^5.0.1","tsup":"^7.2.0"},"_id":"hwy@0.0.2-beta.30","readme":"# hwy\n","readmeFilename":"README.md","gitHead":"83d9068ddecb5843830ceadee23c0153b8a8c761","types":"./dist/index.d.ts","description":"","_nodeVersion":"18.17.1","_npmVersion":"10.0.0","dist":{"integrity":"sha512-xvYHvRsgkTN+8G+lc+8pXWcfdgosygmllQX+2B9HLOO+30lxEVxis7y77aOiusADaiiPgQ2zJ9cpPYTnT43dWQ==","shasum":"cb4dac55f8208c05cdb4d4b4f11f50a28061c9bc","tarball":"https://registry.npmjs.org/hwy/-/hwy-0.0.2-beta.30.tgz","fileCount":4,"unpackedSize":24795,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDnldXBlrhTBMufYU5THFpuETQnmQGGX6SOQHYq32G+BAIgOBYM6ZJJ0Ao0aC7PfRyssON7WAx/+1XQhHb2FYKCgH0="}]},"_npmUser":{"name":"sjc5","email":"email@samcook.cc"},"directories":{},"maintainers":[{"name":"sjc5","email":"email@samcook.cc"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/hwy_0.0.2-beta.30_1694325740652_0.0928048261232588"},"_hasShrinkwrap":false},"0.0.2-beta.31":{"name":"hwy","sideEffects":false,"version":"0.0.2-beta.31","type":"module","main":"dist/index.js","scripts":{"build":"rimraf dist && tsup-node index.ts --format esm --dts","dev":"rimraf dist && tsup-node index.ts --format esm --dts --watch --sourcemap","publish-beta":"npm publish --tag beta"},"devDependencies":{"@hono/node-server":"^1.1.1","@hwy-js/dev":"workspace:*","@types/node":"^20.5.9","hono":"^3.5.8","rimraf":"^5.0.1","tsup":"^7.2.0"},"_id":"hwy@0.0.2-beta.31","readme":"# hwy\n","readmeFilename":"README.md","gitHead":"6fef7ec1e14b920ed5d0ce9bf061404ea5f49945","types":"./dist/index.d.ts","description":"","_nodeVersion":"18.17.1","_npmVersion":"10.0.0","dist":{"integrity":"sha512-QBZ/Nh7D3JgtkXaL//FK9Spm1NVJtWbm/aowynXkk6XwZYCZ1C4LOimWqydn6xWYE/P9sltf/M4Tj/JoVbYIQg==","shasum":"2d20834b0f7deef2e20e2e7a691dcb2a51e2e1d8","tarball":"https://registry.npmjs.org/hwy/-/hwy-0.0.2-beta.31.tgz","fileCount":4,"unpackedSize":24702,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDIQnNN9uhh3Ix7CseUWAP931s3vhvDEqADLOi45NOa+wIhAMIC0rg11W0zJMRtlhEQLhlaQrLXIqBMpQTbRMMS9LEr"}]},"_npmUser":{"name":"sjc5","email":"email@samcook.cc"},"directories":{},"maintainers":[{"name":"sjc5","email":"email@samcook.cc"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/hwy_0.0.2-beta.31_1694329667824_0.2074530141920483"},"_hasShrinkwrap":false},"0.0.2-beta.32":{"name":"hwy","sideEffects":false,"version":"0.0.2-beta.32","type":"module","main":"dist/index.js","scripts":{"build":"rimraf dist && tsup-node index.ts --format esm --dts","dev":"rimraf dist && tsup-node index.ts --format esm --dts --watch --sourcemap","publish-beta":"npm publish --tag beta"},"devDependencies":{"@hono/node-server":"^1.1.1","@hwy-js/dev":"workspace:*","@types/node":"^20.5.9","hono":"^3.5.8","rimraf":"^5.0.1","tsup":"^7.2.0"},"_id":"hwy@0.0.2-beta.32","readme":"# hwy\n","readmeFilename":"README.md","gitHead":"6fef7ec1e14b920ed5d0ce9bf061404ea5f49945","types":"./dist/index.d.ts","description":"","_nodeVersion":"18.17.1","_npmVersion":"10.0.0","dist":{"integrity":"sha512-pxA94kvtvsXP7+s2IU3kTO7u3Iz9Zwet3oFkxm14IjWQJiDYBHLdH01MLaJCfsojxIwDFebgpraEGRFcUsz8GQ==","shasum":"b862a61850cb918037666b1fa4cf51128bfe385f","tarball":"https://registry.npmjs.org/hwy/-/hwy-0.0.2-beta.32.tgz","fileCount":4,"unpackedSize":24702,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCICpaXuJJUdlBP5b7PYpxIJTrEPCJGjhdzFu3m26lwLT+AiBDY10KCFP+kIVtU6v1n2y+xI6u8ytFkUutl66od0ds8A=="}]},"_npmUser":{"name":"sjc5","email":"email@samcook.cc"},"directories":{},"maintainers":[{"name":"sjc5","email":"email@samcook.cc"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/hwy_0.0.2-beta.32_1694331408613_0.6223981821412408"},"_hasShrinkwrap":false},"0.0.2-beta.33":{"name":"hwy","sideEffects":false,"version":"0.0.2-beta.33","type":"module","main":"dist/index.js","scripts":{"build":"rimraf dist && tsup-node index.ts --format esm --dts","dev":"rimraf dist && tsup-node index.ts --format esm --dts --watch --sourcemap","publish-beta":"npm publish --tag beta"},"devDependencies":{"@hono/node-server":"^1.1.1","@hwy-js/dev":"workspace:*","@hwy-js/utils":"workspace:*","@types/node":"^20.5.9","hono":"^3.5.8","rimraf":"^5.0.1","tsup":"^7.2.0"},"_id":"hwy@0.0.2-beta.33","readme":"# hwy\n","readmeFilename":"README.md","gitHead":"a2026265aea0c266e05f6287d5329f00d012018d","types":"./dist/index.d.ts","description":"","_nodeVersion":"18.17.1","_npmVersion":"10.0.0","dist":{"integrity":"sha512-S2IQra8h6R+itnH7+wpchf3fsuYrRamE7wap+jILPm6Y0SOx4MWsfKJlD3GUgcIzjK2+3rqNpTPHBIgi+viVEg==","shasum":"0b6e5f0af92a7efc9af1e808f10522e23ab3b680","tarball":"https://registry.npmjs.org/hwy/-/hwy-0.0.2-beta.33.tgz","fileCount":4,"unpackedSize":24271,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDf5t/4GsPreogMZKun5MnCGYowRsLKeLFCMr9Tc6FOagIhAO14n03FBNe5Zcnp0d3JwQZOWJ+xt6K94YnCGejcaJRS"}]},"_npmUser":{"name":"sjc5","email":"email@samcook.cc"},"directories":{},"maintainers":[{"name":"sjc5","email":"email@samcook.cc"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/hwy_0.0.2-beta.33_1694413360239_0.8441978072175027"},"_hasShrinkwrap":false},"0.0.2-beta.34":{"name":"hwy","sideEffects":false,"version":"0.0.2-beta.34","type":"module","main":"dist/index.js","scripts":{"build":"rimraf dist && tsup-node index.ts --format esm --dts","dev":"rimraf dist && tsup-node index.ts --format esm --dts --watch --sourcemap","publish-beta":"npm publish --tag beta"},"dependencies":{"@hwy-js/utils":"workspace:*"},"devDependencies":{"@hono/node-server":"^1.1.1","@hwy-js/dev":"workspace:*","@types/node":"^20.5.9","hono":"^3.5.8","rimraf":"^5.0.1","tsup":"^7.2.0"},"_id":"hwy@0.0.2-beta.34","readme":"# hwy\n","readmeFilename":"README.md","gitHead":"a2026265aea0c266e05f6287d5329f00d012018d","types":"./dist/index.d.ts","description":"","_nodeVersion":"18.17.1","_npmVersion":"10.0.0","dist":{"integrity":"sha512-jDqJcAf1n9YmbzXv1uoHnllZFmXx6MuOlt5hx2S8Zjzo93CYypwUA/guR+c0bMXqeCPhWS91f5cO/5/N2rzVDQ==","shasum":"beb9e770c91466f09b8d86e43dbecae4ba894ea3","tarball":"https://registry.npmjs.org/hwy/-/hwy-0.0.2-beta.34.tgz","fileCount":4,"unpackedSize":24295,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIB1qxnFe4JA7mfQEbWs6GPY2jRdFJFmxI5yhmau2v58LAiEA1vMTrj9LtlRYdf53OCG1AeVTWoQRBRx6AkkBNnqdHTg="}]},"_npmUser":{"name":"sjc5","email":"email@samcook.cc"},"directories":{},"maintainers":[{"name":"sjc5","email":"email@samcook.cc"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/hwy_0.0.2-beta.34_1694413879264_0.24772132023848759"},"_hasShrinkwrap":false},"0.0.2-beta.35":{"name":"hwy","sideEffects":false,"version":"0.0.2-beta.35","type":"module","main":"dist/index.js","scripts":{"build":"rimraf dist && tsup-node index.ts --format esm --dts","dev":"rimraf dist && tsup-node index.ts --format esm --dts --watch --sourcemap","publish-beta":"npm publish --tag beta"},"devDependencies":{"@hono/node-server":"^1.1.1","@hwy-js/dev":"workspace:*","@hwy-js/utils":"^0.0.2-beta.34","@types/node":"^20.5.9","hono":"^3.5.8","rimraf":"^5.0.1","tsup":"^7.2.0"},"_id":"hwy@0.0.2-beta.35","readme":"# hwy\n","readmeFilename":"README.md","gitHead":"a2026265aea0c266e05f6287d5329f00d012018d","types":"./dist/index.d.ts","description":"","_nodeVersion":"18.17.1","_npmVersion":"10.0.0","dist":{"integrity":"sha512-SKCHG1Jr05aRxlNSMd03R/VBU/JFRkGVsvhXpkLfMNuVy/p6mx9LGABJulbsbA1opIbEl8ozNsM6GOvXNHnZew==","shasum":"a578cf4d067294b709129f073d4ed91fc0836d51","tarball":"https://registry.npmjs.org/hwy/-/hwy-0.0.2-beta.35.tgz","fileCount":4,"unpackedSize":24274,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIHNRk0e1rRWHxheG12uMgRSKfQgRA67qtdNkIebe+Y2/AiEA14wJBsRcdGKfVf951jPZOIdaCG4Rfm/grSt4pNUdqIk="}]},"_npmUser":{"name":"sjc5","email":"email@samcook.cc"},"directories":{},"maintainers":[{"name":"sjc5","email":"email@samcook.cc"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/hwy_0.0.2-beta.35_1694414141814_0.25660215073835513"},"_hasShrinkwrap":false},"0.0.2-beta.36":{"name":"hwy","sideEffects":false,"version":"0.0.2-beta.36","type":"module","main":"dist/index.js","scripts":{"build":"rimraf dist && tsup-node index.ts --format esm --dts","dev":"rimraf dist && tsup-node index.ts --format esm --dts --watch --sourcemap","publish-beta":"npm publish --tag beta"},"dependencies":{"@hwy-js/utils":"^0.0.2-beta.34"},"devDependencies":{"@hono/node-server":"^1.1.1","@hwy-js/dev":"workspace:*","@types/node":"^20.5.9","hono":"^3.5.8","rimraf":"^5.0.1","tsup":"^7.2.0"},"_id":"hwy@0.0.2-beta.36","readme":"# hwy\n","readmeFilename":"README.md","gitHead":"a2026265aea0c266e05f6287d5329f00d012018d","types":"./dist/index.d.ts","description":"","_nodeVersion":"18.17.1","_npmVersion":"10.0.0","dist":{"integrity":"sha512-Jcq4ikxitq0OK2r3sp0iL3X2Sw+vhGDJXu9FHCQK8oq0C/h6Z6efkvCQL00KwkFpMtwcgJ3CPVOwjE2SGWuHYw==","shasum":"d224eba0a353f25c872c56e9e80b4a4a7d1d6a3a","tarball":"https://registry.npmjs.org/hwy/-/hwy-0.0.2-beta.36.tgz","fileCount":4,"unpackedSize":24298,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDGnfKPM/ojFKClFUs4X95jC1bWJ2fQOOSBy4dwCtoB8QIgeyfO00G1lJH7bzaOVYao4W1AUmg+1kY+OeQfM/N6tPM="}]},"_npmUser":{"name":"sjc5","email":"email@samcook.cc"},"directories":{},"maintainers":[{"name":"sjc5","email":"email@samcook.cc"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/hwy_0.0.2-beta.36_1694414347546_0.7400840685399557"},"_hasShrinkwrap":false},"0.0.2-beta.37":{"name":"hwy","sideEffects":false,"version":"0.0.2-beta.37","type":"module","main":"dist/index.js","scripts":{"build":"rimraf dist && tsup-node index.ts --format esm --dts","dev":"rimraf dist && tsup-node index.ts --format esm --dts --watch --sourcemap","publish-beta":"npm publish --tag beta"},"devDependencies":{"@hono/node-server":"^1.1.1","@hwy-js/dev":"workspace:*","@types/node":"^20.5.9","hono":"^3.5.8","rimraf":"^5.0.1","tsup":"^7.2.0"},"_id":"hwy@0.0.2-beta.37","readme":"# hwy\n","readmeFilename":"README.md","gitHead":"b6a8395f79f3c94fac72def6b0b541a731103b4e","types":"./dist/index.d.ts","description":"","_nodeVersion":"18.17.1","_npmVersion":"10.0.0","dist":{"integrity":"sha512-w0Ym0M4dI1h/DrcQLRCIc/mRQCRN3d6QZllajpbp9kkrrvh7ngrSl7v4NcDasztzS1jkQzU4PkhMLBo3XgOB1A==","shasum":"c69e23e23c9a595a459695890856093e04036312","tarball":"https://registry.npmjs.org/hwy/-/hwy-0.0.2-beta.37.tgz","fileCount":4,"unpackedSize":24451,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCID7bt10ySKN2YJ8HopKG+/7f84hKA0IczGHNxee0KXZ9AiBy9cZeXJp3aXm9Rm4UbiKhpWvBNaZkokCB5BACx/XOVQ=="}]},"_npmUser":{"name":"sjc5","email":"email@samcook.cc"},"directories":{},"maintainers":[{"name":"sjc5","email":"email@samcook.cc"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/hwy_0.0.2-beta.37_1694487411430_0.7481939508104285"},"_hasShrinkwrap":false},"0.0.2-beta.38":{"name":"hwy","sideEffects":false,"version":"0.0.2-beta.38","type":"module","main":"dist/index.js","scripts":{"build":"rimraf dist && tsup-node index.ts --format esm --dts","dev":"rimraf dist && tsup-node index.ts --format esm --dts --watch --sourcemap","publish-beta":"npm publish --tag beta"},"devDependencies":{"@hono/node-server":"^1.1.1","@hwy-js/dev":"workspace:*","@types/node":"^20.5.9","hono":"^3.5.8","rimraf":"^5.0.1","tsup":"^7.2.0"},"_id":"hwy@0.0.2-beta.38","readme":"# hwy\n","readmeFilename":"README.md","gitHead":"b6a8395f79f3c94fac72def6b0b541a731103b4e","types":"./dist/index.d.ts","description":"","_nodeVersion":"18.17.1","_npmVersion":"10.0.0","dist":{"integrity":"sha512-M97JRBgKGvShnB5PMhjUAFMy6q+E+b/+AzwskkgtAhRxuHjAeOS8UnOu/TzL6fR9kjeuA8pWb1an5FHc3n5B3A==","shasum":"04fc6a0d0bf436ff03b64fa380ac09f231b943e4","tarball":"https://registry.npmjs.org/hwy/-/hwy-0.0.2-beta.38.tgz","fileCount":4,"unpackedSize":24783,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCuRJ6cVZZWMw1KIcrz9AtyPXqGfbCroH7sG4GGb6MVjwIhALgsW8q2h2atbXt5xqguZdknnivXzv203lfBjF50gba3"}]},"_npmUser":{"name":"sjc5","email":"email@samcook.cc"},"directories":{},"maintainers":[{"name":"sjc5","email":"email@samcook.cc"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/hwy_0.0.2-beta.38_1694499596960_0.016538066086556613"},"_hasShrinkwrap":false},"0.0.4":{"name":"hwy","sideEffects":false,"version":"0.0.4","type":"module","main":"dist/index.js","scripts":{"build":"rimraf dist && tsup-node index.ts --format esm --dts","dev":"rimraf dist && tsup-node index.ts --format esm --dts --watch --sourcemap","publish-beta":"npm publish --tag beta"},"devDependencies":{"@hono/node-server":"^1.1.1","@hwy-js/dev":"workspace:*","@types/node":"^20.5.9","hono":"^3.5.8","rimraf":"^5.0.1","tsup":"^7.2.0"},"_id":"hwy@0.0.4","gitHead":"e2c06692f45571e8cbbe61e6952e2d1478961736","types":"./dist/index.d.ts","description":"","_nodeVersion":"18.17.1","_npmVersion":"10.0.0","dist":{"integrity":"sha512-TzDH3QK+JHxzFjkQbp4iosepfes+QEkwCyNZf21dzL12onXjgsmbWtjGZ6G3RrxN6JKHdb5i2m1SyebW0qx4Zw==","shasum":"36da3530955c0a755c88c54c1dda799d87e1df9e","tarball":"https://registry.npmjs.org/hwy/-/hwy-0.0.4.tgz","fileCount":4,"unpackedSize":25828,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIGqvvQa21EmzsZy1CQpaMmVR2sVsnR0Xxp3dgKWL7rFHAiEAouoA22kqdaptX3FRfYFLkzsSsxkg1Fi9tUatytCeSK8="}]},"_npmUser":{"name":"sjc5","email":"email@samcook.cc"},"directories":{},"maintainers":[{"name":"sjc5","email":"email@samcook.cc"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/hwy_0.0.4_1694561223495_0.11757041574385463"},"_hasShrinkwrap":false},"0.0.5":{"name":"hwy","sideEffects":false,"version":"0.0.5","type":"module","main":"dist/index.js","scripts":{"build":"rimraf dist && tsup-node index.ts --format esm --dts","dev":"rimraf dist && tsup-node index.ts --format esm --dts --watch --sourcemap","publish-beta":"npm publish --tag beta"},"devDependencies":{"@hono/node-server":"^1.1.1","@hwy-js/dev":"workspace:*","@types/node":"^20.5.9","hono":"^3.5.8","rimraf":"^5.0.1","tsup":"^7.2.0"},"_id":"hwy@0.0.5","gitHead":"c17553ac13ea3bcb62d4d9b863329a28d8c36c61","types":"./dist/index.d.ts","description":"","_nodeVersion":"20.6.1","_npmVersion":"9.8.1","dist":{"integrity":"sha512-8vd0ZW7PVessTrj+32pceV68bZZ9qNcfO5aDyLDPYIbyy26gzx9x7GLg/jWqP3lR1uBvtGbPm9HS4nUv96LTnQ==","shasum":"09c68c5d6f9ca1522be0daf533e29b815e0d8581","tarball":"https://registry.npmjs.org/hwy/-/hwy-0.0.5.tgz","fileCount":4,"unpackedSize":25872,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIG+w7MVjlpG8WbC5NS8htCX2XWtq4k4yqlnOvtgcmns/AiEAnypAztHKhhj5jz1DDjQbPllXJEsbJlQ+S+orCq/ihUE="}]},"_npmUser":{"name":"sjc5","email":"email@samcook.cc"},"directories":{},"maintainers":[{"name":"sjc5","email":"email@samcook.cc"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/hwy_0.0.5_1694673405346_0.12348244179588219"},"_hasShrinkwrap":false},"0.0.6":{"name":"hwy","sideEffects":false,"version":"0.0.6","description":"Lightweight, flexible, and powerful alternative to NextJS, based on HTMX instead of React","repository":{"type":"git","url":"git+https://github.com/hwy-js/hwy.git","directory":"packages/core"},"type":"module","main":"dist/index.js","scripts":{"build":"rimraf dist && tsup-node index.ts --format esm --dts","dev":"rimraf dist && tsup-node index.ts --format esm --dts --watch --sourcemap","publish-beta":"npm publish --tag beta"},"devDependencies":{"@hono/node-server":"^1.1.1","@hwy-js/dev":"workspace:*","@types/node":"^20.5.9","hono":"^3.5.8","rimraf":"^5.0.1","tsup":"^7.2.0"},"keywords":["framework","metaframework","typescript","htmx","hono","nested routing","jsx","nextjs","remix"],"_id":"hwy@0.0.6","gitHead":"7e523c821177a7e076c668da27d7a28a4033ee96","types":"./dist/index.d.ts","bugs":{"url":"https://github.com/hwy-js/hwy/issues"},"homepage":"https://github.com/hwy-js/hwy#readme","_nodeVersion":"18.17.1","_npmVersion":"10.0.0","dist":{"integrity":"sha512-kHSJXG4g6GEaeTnmgGqI1itwLl9i6eUrcMuhwl1NtOnjBF3Ogn0x+ldROTIrNye66xiuTn0OqVmnMya6w3gR/g==","shasum":"0ac2d09c70436581c1dc61aeb9f955fc3fbc45f1","tarball":"https://registry.npmjs.org/hwy/-/hwy-0.0.6.tgz","fileCount":5,"unpackedSize":67486,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCICIPIJMwd3uRo23XbIYC/VLMyKhbxK+/UcP91PF6l+oDAiEA0sED7GQndi5UvFBjDhOx4+NDN/IBjPn/zf2MZJbWO3Y="}]},"_npmUser":{"name":"sjc5","email":"email@samcook.cc"},"directories":{},"maintainers":[{"name":"sjc5","email":"email@samcook.cc"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/hwy_0.0.6_1694908754160_0.3601114620649062"},"_hasShrinkwrap":false},"0.0.7":{"name":"hwy","sideEffects":false,"version":"0.0.7","description":"Lightweight, flexible, and powerful alternative to NextJS, based on HTMX instead of React","repository":{"type":"git","url":"git+https://github.com/hwy-js/hwy.git","directory":"packages/core"},"type":"module","main":"dist/index.js","scripts":{"build":"rimraf dist && tsup-node index.ts --format esm --dts","dev":"rimraf dist && tsup-node index.ts --format esm --dts --watch --sourcemap","publish-beta":"npm publish --tag beta"},"devDependencies":{"@hono/node-server":"^1.1.1","@hwy-js/dev":"workspace:*","@types/node":"^20.5.9","hono":"^3.5.8","rimraf":"^5.0.1","tsup":"^7.2.0"},"keywords":["framework","metaframework","typescript","htmx","hono","nested routing","jsx","nextjs","remix"],"_id":"hwy@0.0.7","gitHead":"bfe88ea34c6dc18c9d8e4b64e8fda4b901a265b0","types":"./dist/index.d.ts","bugs":{"url":"https://github.com/hwy-js/hwy/issues"},"homepage":"https://github.com/hwy-js/hwy#readme","_nodeVersion":"18.17.1","_npmVersion":"10.0.0","dist":{"integrity":"sha512-aEp5fg/tG0IOZqLYECeMerg1nuqlIC33zshaNbsZ2d4X4hal/z7rAcIrTSxK4hPf4rqQBIUKwdi89Qv/iv/yrA==","shasum":"2a1435ad5b00dee867e0a5dd98e4391cbaf9fb44","tarball":"https://registry.npmjs.org/hwy/-/hwy-0.0.7.tgz","fileCount":4,"unpackedSize":30273,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDPGQgU9PCBt61m6y9OZ7nBU09+7jvtfLj3vnLCASolqwIhALHo1+eD/qh7inuMFI2SCdnI5O/kcZQQzbMowv1MkEEq"}]},"_npmUser":{"name":"sjc5","email":"email@samcook.cc"},"directories":{},"maintainers":[{"name":"sjc5","email":"email@samcook.cc"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/hwy_0.0.7_1695011823457_0.49015000588119917"},"_hasShrinkwrap":false},"0.1.0":{"name":"hwy","sideEffects":false,"version":"0.1.0","description":"Lightweight, flexible, and powerful alternative to NextJS, based on HTMX instead of React","repository":{"type":"git","url":"git+https://github.com/hwy-js/hwy.git","directory":"packages/core"},"type":"module","main":"dist/index.js","scripts":{"build":"rimraf dist && tsup-node index.ts --format esm --dts","dev":"rimraf dist && tsup-node index.ts --format esm --dts --watch --sourcemap","publish-beta":"npm publish --tag beta"},"devDependencies":{"@hono/node-server":"^1.1.1","@hwy-js/dev":"workspace:*","@types/node":"^20.5.9","hono":"^3.6.3","rimraf":"^5.0.1","tsup":"^7.2.0"},"keywords":["framework","metaframework","typescript","htmx","hono","nested routing","jsx","nextjs","remix"],"_id":"hwy@0.1.0","gitHead":"2ec55c9f5f7c280c9865259700fd24b05870fd83","types":"./dist/index.d.ts","bugs":{"url":"https://github.com/hwy-js/hwy/issues"},"homepage":"https://github.com/hwy-js/hwy#readme","_nodeVersion":"18.17.1","_npmVersion":"10.0.0","dist":{"integrity":"sha512-tsqW7ceiG4wFY/NXtS9Bj6Yfj+ZVjXicWVtLT/Oqg2rZFQf0uBgWLTwmz26MQhjVAj6qaxjmD6pPXXaN41y4yQ==","shasum":"3efcdaf2bd4ba79b85d25db6c8167ff55688133b","tarball":"https://registry.npmjs.org/hwy/-/hwy-0.1.0.tgz","fileCount":4,"unpackedSize":30416,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCZ9NpsOtCG8WbdCEc727KAsjtIb7tbdBCvqnx/23XdKgIgQVE1ENYJhRBtN+XeDP4jbd9jqxtNrF80nprwB6W8NWU="}]},"_npmUser":{"name":"sjc5","email":"email@samcook.cc"},"directories":{},"maintainers":[{"name":"sjc5","email":"email@samcook.cc"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/hwy_0.1.0_1695161133037_0.29190426402379344"},"_hasShrinkwrap":false},"0.1.1":{"name":"hwy","version":"0.1.1","author":{"name":"Samuel J. Cook"},"license":"MIT","description":"Lightweight, flexible, and powerful alternative to NextJS, based on HTMX instead of React","type":"module","main":"dist/index.js","scripts":{"build":"rimraf dist && tsup-node index.ts --format esm --dts","dev":"rimraf dist && tsup-node index.ts --format esm --dts --watch --sourcemap","publish-beta":"npm publish --tag beta"},"devDependencies":{"@hono/node-server":"^1.1.1","@hwy-js/dev":"workspace:*","@types/node":"^20.5.9","hono":"^3.6.3","rimraf":"^5.0.1","tsup":"^7.2.0"},"repository":{"type":"git","url":"git+https://github.com/hwy-js/hwy.git","directory":"packages/core"},"homepage":"https://hwy.dev","bugs":{"url":"https://github.com/hwy-js/hwy/issues"},"keywords":["framework","typescript","htmx","hono","router","jsx","nextjs","remix"],"sideEffects":false,"_id":"hwy@0.1.1","gitHead":"6b967cdc36d9a375770d4975e6c94b3265eedd80","types":"./dist/index.d.ts","_nodeVersion":"18.17.1","_npmVersion":"10.0.0","dist":{"integrity":"sha512-YYUEuZcMTSVaRpSQTrnAKIn2KbgmwCBq66OrffsLpYYaYPQPN/aVPuGJXGXwgWUvtU047KWGYO4fKEsxz36eXw==","shasum":"19b6f4ec04f8e7e806349bee750de5d76b2ecb76","tarball":"https://registry.npmjs.org/hwy/-/hwy-0.1.1.tgz","fileCount":4,"unpackedSize":33568,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCID3qIesB3ygrYjLIG4tJ3Ugg8nEutd1OsFjACWD1GDnSAiAZRXTfoqAcHp2Xmv0uPXP1DLLs3vkGASFJYF+IisU6Qg=="}]},"_npmUser":{"name":"sjc5","email":"email@samcook.cc"},"directories":{},"maintainers":[{"name":"sjc5","email":"email@samcook.cc"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/hwy_0.1.1_1695171707821_0.4128847152102779"},"_hasShrinkwrap":false},"0.1.2":{"name":"hwy","version":"0.1.2","author":{"name":"Samuel J. Cook"},"license":"MIT","description":"Lightweight, flexible, and powerful alternative to NextJS, based on HTMX instead of React","type":"module","main":"dist/index.js","scripts":{"build":"rimraf dist && tsup-node index.ts --format esm --dts","dev":"rimraf dist && tsup-node index.ts --format esm --dts --watch --sourcemap","publish-beta":"npm publish --tag beta"},"devDependencies":{"@hono/node-server":"^1.1.1","@hwy-js/dev":"workspace:*","@types/node":"^20.5.9","hono":"^3.6.3","rimraf":"^5.0.1","tsup":"^7.2.0"},"repository":{"type":"git","url":"git+https://github.com/hwy-js/hwy.git","directory":"packages/core"},"homepage":"https://hwy.dev","bugs":{"url":"https://github.com/hwy-js/hwy/issues"},"keywords":["framework","typescript","htmx","hono","router","jsx","nextjs","remix"],"sideEffects":false,"_id":"hwy@0.1.2","gitHead":"7cfa1d328f18d508e81d352d6531da164be51a66","types":"./dist/index.d.ts","_nodeVersion":"18.17.1","_npmVersion":"10.0.0","dist":{"integrity":"sha512-7htlGU3yF2ZPZ8P5KaTMBIvIVBVLUmkQzYoaKhJnZMEVEvKQI+0d4fwaTNjA/djFaK0dv+PQp/v48ReMd8KLIg==","shasum":"6d54a2ac4a94442adb8ad460554b69e6c92c7ab5","tarball":"https://registry.npmjs.org/hwy/-/hwy-0.1.2.tgz","fileCount":4,"unpackedSize":34241,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIB0Q32a5pXFAhEVUudvcaSmpGVcGYn532+wOsC3pDBHZAiEAnhbwn9I6hmvnu7djF0igQNDY/7pAI02wS0wtK3VwDYc="}]},"_npmUser":{"name":"sjc5","email":"email@samcook.cc"},"directories":{},"maintainers":[{"name":"sjc5","email":"email@samcook.cc"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/hwy_0.1.2_1695181101654_0.9398131350332832"},"_hasShrinkwrap":false},"0.1.3":{"name":"hwy","version":"0.1.3","author":{"name":"Samuel J. Cook"},"license":"MIT","description":"Lightweight, flexible, and powerful alternative to NextJS, based on HTMX instead of React","type":"module","main":"dist/index.js","scripts":{"build":"rimraf dist && tsup-node index.ts --format esm --dts","dev":"rimraf dist && tsup-node index.ts --format esm --dts --watch --sourcemap","publish-beta":"npm publish --tag beta"},"devDependencies":{"@hono/node-server":"^1.1.1","@hwy-js/dev":"workspace:*","@types/node":"^20.5.9","hono":"^3.6.3","rimraf":"^5.0.1","tsup":"^7.2.0"},"repository":{"type":"git","url":"git+https://github.com/hwy-js/hwy.git","directory":"packages/core"},"homepage":"https://hwy.dev","bugs":{"url":"https://github.com/hwy-js/hwy/issues"},"keywords":["framework","typescript","htmx","hono","router","jsx","nextjs","remix"],"sideEffects":false,"_id":"hwy@0.1.3","gitHead":"7cfa1d328f18d508e81d352d6531da164be51a66","types":"./dist/index.d.ts","_nodeVersion":"18.17.1","_npmVersion":"10.0.0","dist":{"integrity":"sha512-Cr8Ve3Cny+oPAsEkC0cYspo+DZmkL8p7XygZ0U1X6a/5W2zoUmQmDzD2sw2K3v5/GFoPUI9vmWyRVwS9K+6btw==","shasum":"0101a15af7b2b994fad2f373c5dbafc780580504","tarball":"https://registry.npmjs.org/hwy/-/hwy-0.1.3.tgz","fileCount":4,"unpackedSize":34381,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIAaOTGVXE/SMK95HILvglGB0oQ1VoaYue9pN5Xd/nqJmAiEA4vKQsrAsNTibtkPJrGyUohVjayZh03CWFtmG2DCs6cI="}]},"_npmUser":{"name":"sjc5","email":"email@samcook.cc"},"directories":{},"maintainers":[{"name":"sjc5","email":"email@samcook.cc"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/hwy_0.1.3_1695184575972_0.01245360273512408"},"_hasShrinkwrap":false},"0.2.0-beta.0":{"name":"hwy","version":"0.2.0-beta.0","author":{"name":"Samuel J. Cook"},"license":"MIT","description":"Lightweight, flexible, and powerful alternative to NextJS, based on HTMX instead of React","type":"module","main":"dist/index.js","scripts":{"build":"rimraf dist && tsup-node index.ts --format esm --dts","dev":"rimraf dist && tsup-node index.ts --format esm --dts --watch --sourcemap","publish-beta":"npm publish --tag beta"},"devDependencies":{"@hono/node-server":"^1.2.0","@hwy-js/dev":"workspace:*","@types/node":"^20.6.3","hono":"^3.7.1","rimraf":"^5.0.1","tsup":"^7.2.0"},"repository":{"type":"git","url":"git+https://github.com/hwy-js/hwy.git","directory":"packages/core"},"homepage":"https://hwy.dev","bugs":{"url":"https://github.com/hwy-js/hwy/issues"},"keywords":["framework","typescript","htmx","hono","router","jsx","nextjs","remix"],"sideEffects":false,"_id":"hwy@0.2.0-beta.0","readme":"# Hwy\n\nHwy is a lightweight, flexible, and powerful alternative to NextJS, based on HTMX instead of React.\n\n## Quick Start\n\n```bash\nnpx create-hwy@latest\n```\n\n## What is Hwy?\n\nHwy is a lot like NextJS or Remix, but it uses **_HTMX_** instead of React on the frontend.\n\nHwy lets you write **_React-style JSX_** in **_nested, file-based routes_**, with **_Remix-style actions and parallel loaders_**.\n\nPage components are async, so you can even **_fetch data in JSX_** if you want to (just be careful with waterfalls).\n\nThe backend server is built on **_Hono_**, so you have access to a rich, growing ecosystem with lots of middleware and wonderful docs.\n\nHwy is **_100% server-rendered_**, but with the HTMX defaults Hwy sets up for you out of the box, your app still **_feels like an SPA_**.\n\nLinks and forms are automatically **_progressively enhanced_** thanks to HTMX's `hx-boost` feature. Just use normal anchor tags and traditional form attributes.\n\nBecause Hwy replaces the **_full page_** on transitions by default, everything stays **_simple_**. You don't have to return different components from different endpoints (unless you want to).\n\nAnd best of all, **_anything you can do with Hono or HTMX, you can do with Hwy_**.\n\n## Features\n\n- Server-rendered JSX / TSX\n- Nested, file-based routing\n- Remix-style actions and parallel loaders\n- Async page components\n- Rich Hono middleware ecosystem\n- 100% type-safe\n- Server built on Hono\n- Client built on HTMX\n- Built-in critical CSS inlining\n- Live browser refresh during development\n- And more...\n\n## Guiding Principles\n\n- No speed limits\n- Numerous off-ramps\n- Smooth, safe roads\n- Clear traffic signs\n\n## Simple usage\n\nBelow is an example of a simple Hwy page. You'll notice it looks a lot like Remix, and you're right! Hwy is heavily inspired by Remix, but it uses HTMX instead of React.\n\n```tsx\n// src/pages/user/$user_id.page.tsx\n\nimport type { DataFunctionArgs, PageProps } from 'hwy'\nimport { UserProfile, getUser } from './somewhere.js'\n\nexport async function loader({ params }: DataFunctionArgs) {\n  return await getUser(params.user_id)\n}\n\nexport default async function ({ loaderData }: PageProps<typeof loader>) {\n  return <UserProfile user={loaderData} />\n}\n```\n\nOr, if you prefer to fetch inside your components:\n\n```tsx\nexport default async function ({ params }: PageProps) {\n  const user = await getUser(params.user_id)\n\n  return <UserProfile user={user} />\n}\n```\n\n## Get Started\n\nIf you want to dive right in, just open a terminal and run `npx create-hwy@latest` and follow the prompts.\n\nIf you'd prefer to read more first, take a peek at [our docs](https://hwy.dev/docs).\n\n## Acknowledgements\n\nHwy's APIs are obviously inspired by Remix. If Remix didn't exist, Hwy likely wouldn't exist either. Hwy doesn't use any Remix code, but it still owes a big thanks to the Remix team (past and present) for their top-tier patterns design. If you're building something huge and important today, use Remix.\n\n## Disclaimer\n\nHwy is in beta! Act accordingly.\n\n## License\n\nMIT License\n\nCopyright (c) 2023 Samuel J. Cook\n","readmeFilename":"README.md","gitHead":"513361ca47e29356521b2b6a09c97f325e6475cd","types":"./dist/index.d.ts","_nodeVersion":"18.17.1","_npmVersion":"10.0.0","dist":{"integrity":"sha512-d4vpoJiucxnLaRl/0N+zDKQyEDULqU+RlRQ7wJq9nKI6vGxFpNFJVonic23EWK2SJXYOuClSoVbV3yAp++R1og==","shasum":"447f7fa06b49faff28eaa1b9503bd21ea6d06940","tarball":"https://registry.npmjs.org/hwy/-/hwy-0.2.0-beta.0.tgz","fileCount":4,"unpackedSize":34475,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIG1PQRTZxPMqU/BRxfYQxpPgNyId+wTLODhjBEWQZnnWAiEA1A2J5zcIr8zkgJddgY++b6RsGlJYBDm30OuVqXwdLU8="}]},"_npmUser":{"name":"sjc5","email":"email@samcook.cc"},"directories":{},"maintainers":[{"name":"sjc5","email":"email@samcook.cc"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/hwy_0.2.0-beta.0_1695427815033_0.8226503543719914"},"_hasShrinkwrap":false},"0.2.0-beta.3":{"name":"hwy","version":"0.2.0-beta.3","author":{"name":"Samuel J. Cook"},"license":"MIT","description":"Lightweight, flexible, and powerful alternative to NextJS, based on HTMX instead of React","type":"module","main":"dist/index.js","scripts":{"build":"rimraf dist && tsup-node index.ts --format esm --dts","dev":"rimraf dist && tsup-node index.ts --format esm --dts --watch --sourcemap","publish-beta":"npm publish --tag beta"},"devDependencies":{"@hono/node-server":"^1.2.0","@hwy-js/dev":"workspace:*","@types/node":"^20.6.3","hono":"^3.7.1","rimraf":"^5.0.1","tsup":"^7.2.0"},"repository":{"type":"git","url":"git+https://github.com/hwy-js/hwy.git","directory":"packages/core"},"homepage":"https://hwy.dev","bugs":{"url":"https://github.com/hwy-js/hwy/issues"},"keywords":["framework","typescript","htmx","hono","router","jsx","nextjs","remix"],"sideEffects":false,"_id":"hwy@0.2.0-beta.3","readme":"# Hwy\n\nHwy is a lightweight, flexible, and powerful alternative to NextJS, based on HTMX instead of React.\n\n## Quick Start\n\n```bash\nnpx create-hwy@latest\n```\n\n## What is Hwy?\n\nHwy is a lot like NextJS or Remix, but it uses **_HTMX_** instead of React on the frontend.\n\nHwy lets you write **_React-style JSX_** in **_nested, file-based routes_**, with **_Remix-style actions and parallel loaders_**.\n\nPage components are async, so you can even **_fetch data in JSX_** if you want to (just be careful with waterfalls).\n\nThe backend server is built on **_Hono_**, so you have access to a rich, growing ecosystem with lots of middleware and wonderful docs.\n\nHwy is **_100% server-rendered_**, but with the HTMX defaults Hwy sets up for you out of the box, your app still **_feels like an SPA_**.\n\nLinks and forms are automatically **_progressively enhanced_** thanks to HTMX's `hx-boost` feature. Just use normal anchor tags and traditional form attributes.\n\nBecause Hwy replaces the **_full page_** on transitions by default, everything stays **_simple_**. You don't have to return different components from different endpoints (unless you want to).\n\nAnd best of all, **_anything you can do with Hono or HTMX, you can do with Hwy_**.\n\n## Features\n\n- Server-rendered JSX / TSX\n- Nested, file-based routing\n- Remix-style actions and parallel loaders\n- Async page components\n- Rich Hono middleware ecosystem\n- 100% type-safe\n- Server built on Hono\n- Client built on HTMX\n- Built-in critical CSS inlining\n- Live browser refresh during development\n- And more...\n\n## Guiding Principles\n\n- No speed limits\n- Numerous off-ramps\n- Smooth, safe roads\n- Clear traffic signs\n\n## Simple usage\n\nBelow is an example of a simple Hwy page. You'll notice it looks a lot like Remix, and you're right! Hwy is heavily inspired by Remix, but it uses HTMX instead of React.\n\n```tsx\n// src/pages/user/$user_id.page.tsx\n\nimport type { DataFunctionArgs, PageProps } from 'hwy'\nimport { UserProfile, getUser } from './somewhere.js'\n\nexport async function loader({ params }: DataFunctionArgs) {\n  return await getUser(params.user_id)\n}\n\nexport default async function ({ loaderData }: PageProps<typeof loader>) {\n  return <UserProfile user={loaderData} />\n}\n```\n\nOr, if you prefer to fetch inside your components:\n\n```tsx\nexport default async function ({ params }: PageProps) {\n  const user = await getUser(params.user_id)\n\n  return <UserProfile user={user} />\n}\n```\n\n## Get Started\n\nIf you want to dive right in, just open a terminal and run `npx create-hwy@latest` and follow the prompts.\n\nIf you'd prefer to read more first, take a peek at [our docs](https://hwy.dev/docs).\n\n## Acknowledgements\n\nHwy's APIs are obviously inspired by Remix. If Remix didn't exist, Hwy likely wouldn't exist either. Hwy doesn't use any Remix code, but it still owes a big thanks to the Remix team (past and present) for their top-tier patterns design. If you're building something huge and important today, use Remix.\n\n## Disclaimer\n\nHwy is in beta! Act accordingly.\n\n## License\n\nMIT License\n\nCopyright (c) 2023 Samuel J. Cook\n","readmeFilename":"README.md","gitHead":"513361ca47e29356521b2b6a09c97f325e6475cd","types":"./dist/index.d.ts","_nodeVersion":"18.17.1","_npmVersion":"10.0.0","dist":{"integrity":"sha512-GhH9OrkU3KtBVcEzPUEe0kGGGxQN2wEJFet3+F3cXJ7GiupMnZNHaE0AauC8KM8aJ5plGa5sUozEYDbebQ6VJw==","shasum":"a1c496991865672cd8ba87063d5d968315760bc9","tarball":"https://registry.npmjs.org/hwy/-/hwy-0.2.0-beta.3.tgz","fileCount":4,"unpackedSize":34491,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCB8zpvOtvINHKx2zRQIcTKwO5eGWcJEEUN9O0f+j2vIAIhANHFPIH7QG4O9sXp5xfmYvxEXA9dY0kj4BEwoWU5ayrs"}]},"_npmUser":{"name":"sjc5","email":"email@samcook.cc"},"directories":{},"maintainers":[{"name":"sjc5","email":"email@samcook.cc"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/hwy_0.2.0-beta.3_1695430283199_0.29434378249918924"},"_hasShrinkwrap":false},"0.2.0-beta.4":{"name":"hwy","version":"0.2.0-beta.4","author":{"name":"Samuel J. Cook"},"license":"MIT","description":"Lightweight, flexible, and powerful alternative to NextJS, based on HTMX instead of React","type":"module","main":"dist/index.js","scripts":{"build":"rimraf dist && tsup-node index.ts --format esm --dts","dev":"rimraf dist && tsup-node index.ts --format esm --dts --watch --sourcemap","publish-beta":"npm publish --tag beta"},"devDependencies":{"@hono/node-server":"^1.2.0","@hwy-js/dev":"workspace:*","@types/node":"^20.6.3","hono":"^3.7.1","rimraf":"^5.0.1","tsup":"^7.2.0"},"repository":{"type":"git","url":"git+https://github.com/hwy-js/hwy.git","directory":"packages/core"},"homepage":"https://hwy.dev","bugs":{"url":"https://github.com/hwy-js/hwy/issues"},"keywords":["framework","typescript","htmx","hono","router","jsx","nextjs","remix"],"sideEffects":false,"_id":"hwy@0.2.0-beta.4","readme":"# Hwy\n\nHwy is a lightweight, flexible, and powerful alternative to NextJS, based on HTMX instead of React.\n\n## Quick Start\n\n```bash\nnpx create-hwy@latest\n```\n\n## What is Hwy?\n\nHwy is a lot like NextJS or Remix, but it uses **_HTMX_** instead of React on the frontend.\n\nHwy lets you write **_React-style JSX_** in **_nested, file-based routes_**, with **_Remix-style actions and parallel loaders_**.\n\nPage components are async, so you can even **_fetch data in JSX_** if you want to (just be careful with waterfalls).\n\nThe backend server is built on **_Hono_**, so you have access to a rich, growing ecosystem with lots of middleware and wonderful docs.\n\nHwy is **_100% server-rendered_**, but with the HTMX defaults Hwy sets up for you out of the box, your app still **_feels like an SPA_**.\n\nLinks and forms are automatically **_progressively enhanced_** thanks to HTMX's `hx-boost` feature. Just use normal anchor tags and traditional form attributes.\n\nBecause Hwy replaces the **_full page_** on transitions by default, everything stays **_simple_**. You don't have to return different components from different endpoints (unless you want to).\n\nAnd best of all, **_anything you can do with Hono or HTMX, you can do with Hwy_**.\n\n## Features\n\n- Server-rendered JSX / TSX\n- Nested, file-based routing\n- Remix-style actions and parallel loaders\n- Async page components\n- Rich Hono middleware ecosystem\n- 100% type-safe\n- Server built on Hono\n- Client built on HTMX\n- Built-in critical CSS inlining\n- Live browser refresh during development\n- And more...\n\n## Guiding Principles\n\n- No speed limits\n- Numerous off-ramps\n- Smooth, safe roads\n- Clear traffic signs\n\n## Simple usage\n\nBelow is an example of a simple Hwy page. You'll notice it looks a lot like Remix, and you're right! Hwy is heavily inspired by Remix, but it uses HTMX instead of React.\n\n```tsx\n// src/pages/user/$user_id.page.tsx\n\nimport type { DataFunctionArgs, PageProps } from 'hwy'\nimport { UserProfile, getUser } from './somewhere.js'\n\nexport async function loader({ params }: DataFunctionArgs) {\n  return await getUser(params.user_id)\n}\n\nexport default async function ({ loaderData }: PageProps<typeof loader>) {\n  return <UserProfile user={loaderData} />\n}\n```\n\nOr, if you prefer to fetch inside your components:\n\n```tsx\nexport default async function ({ params }: PageProps) {\n  const user = await getUser(params.user_id)\n\n  return <UserProfile user={user} />\n}\n```\n\n## Get Started\n\nIf you want to dive right in, just open a terminal and run `npx create-hwy@latest` and follow the prompts.\n\nIf you'd prefer to read more first, take a peek at [our docs](https://hwy.dev/docs).\n\n## Acknowledgements\n\nHwy's APIs are obviously inspired by Remix. If Remix didn't exist, Hwy likely wouldn't exist either. Hwy doesn't use any Remix code, but it still owes a big thanks to the Remix team (past and present) for their top-tier patterns design. If you're building something huge and important today, use Remix.\n\n## Disclaimer\n\nHwy is in beta! Act accordingly.\n\n## License\n\nMIT License\n\nCopyright (c) 2023 Samuel J. Cook\n","readmeFilename":"README.md","gitHead":"58e81c1566b6ca57dd966ee1e925d7fe01c14090","types":"./dist/index.d.ts","_nodeVersion":"18.17.1","_npmVersion":"10.0.0","dist":{"integrity":"sha512-Lw121m+DMAbUbpkf5wdMfIwK4oEPFM/7zVLFUzN3gqhVbdPoEDIs4WeW+IeVqKg60Apcdufdgp0STSTDyG0FmQ==","shasum":"2212372d35aba1fbd23b2e7882dceada0469a3dc","tarball":"https://registry.npmjs.org/hwy/-/hwy-0.2.0-beta.4.tgz","fileCount":4,"unpackedSize":34491,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIFxcTzN29LS7Ux9nSSesQNhts+2K73AGWcsmh/P2EyZxAiEAqeCzic6vL8vtkqwtkUH8s+pTmiNQR+t2EupO3ZPuVwo="}]},"_npmUser":{"name":"sjc5","email":"email@samcook.cc"},"directories":{},"maintainers":[{"name":"sjc5","email":"email@samcook.cc"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/hwy_0.2.0-beta.4_1695430912428_0.3897103897908356"},"_hasShrinkwrap":false},"0.2.0-beta.5":{"name":"hwy","version":"0.2.0-beta.5","author":{"name":"Samuel J. Cook"},"license":"MIT","description":"Lightweight, flexible, and powerful alternative to NextJS, based on HTMX instead of React","type":"module","main":"dist/index.js","scripts":{"build":"rimraf dist && tsup-node index.ts --format esm --dts","dev":"rimraf dist && tsup-node index.ts --format esm --dts --watch --sourcemap","publish-beta":"npm publish --tag beta"},"devDependencies":{"@hono/node-server":"^1.2.0","@hwy-js/dev":"workspace:*","@types/node":"^20.6.3","hono":"^3.7.1","rimraf":"^5.0.1","tsup":"^7.2.0"},"repository":{"type":"git","url":"git+https://github.com/hwy-js/hwy.git","directory":"packages/core"},"homepage":"https://hwy.dev","bugs":{"url":"https://github.com/hwy-js/hwy/issues"},"keywords":["framework","typescript","htmx","hono","router","jsx","nextjs","remix"],"sideEffects":false,"_id":"hwy@0.2.0-beta.5","readme":"# Hwy\n\nHwy is a lightweight, flexible, and powerful alternative to NextJS, based on HTMX instead of React.\n\n## Quick Start\n\n```bash\nnpx create-hwy@latest\n```\n\n## What is Hwy?\n\nHwy is a lot like NextJS or Remix, but it uses **_HTMX_** instead of React on the frontend.\n\nHwy lets you write **_React-style JSX_** in **_nested, file-based routes_**, with **_Remix-style actions and parallel loaders_**.\n\nPage components are async, so you can even **_fetch data in JSX_** if you want to (just be careful with waterfalls).\n\nThe backend server is built on **_Hono_**, so you have access to a rich, growing ecosystem with lots of middleware and wonderful docs.\n\nHwy is **_100% server-rendered_**, but with the HTMX defaults Hwy sets up for you out of the box, your app still **_feels like an SPA_**.\n\nLinks and forms are automatically **_progressively enhanced_** thanks to HTMX's `hx-boost` feature. Just use normal anchor tags and traditional form attributes.\n\nBecause Hwy replaces the **_full page_** on transitions by default, everything stays **_simple_**. You don't have to return different components from different endpoints (unless you want to).\n\nAnd best of all, **_anything you can do with Hono or HTMX, you can do with Hwy_**.\n\n## Features\n\n- Server-rendered JSX / TSX\n- Nested, file-based routing\n- Remix-style actions and parallel loaders\n- Async page components\n- Rich Hono middleware ecosystem\n- 100% type-safe\n- Server built on Hono\n- Client built on HTMX\n- Built-in critical CSS inlining\n- Live browser refresh during development\n- And more...\n\n## Guiding Principles\n\n- No speed limits\n- Numerous off-ramps\n- Smooth, safe roads\n- Clear traffic signs\n\n## Simple usage\n\nBelow is an example of a simple Hwy page. You'll notice it looks a lot like Remix, and you're right! Hwy is heavily inspired by Remix, but it uses HTMX instead of React.\n\n```tsx\n// src/pages/user/$user_id.page.tsx\n\nimport type { DataFunctionArgs, PageProps } from 'hwy'\nimport { UserProfile, getUser } from './somewhere.js'\n\nexport async function loader({ params }: DataFunctionArgs) {\n  return await getUser(params.user_id)\n}\n\nexport default async function ({ loaderData }: PageProps<typeof loader>) {\n  return <UserProfile user={loaderData} />\n}\n```\n\nOr, if you prefer to fetch inside your components:\n\n```tsx\nexport default async function ({ params }: PageProps) {\n  const user = await getUser(params.user_id)\n\n  return <UserProfile user={user} />\n}\n```\n\n## Get Started\n\nIf you want to dive right in, just open a terminal and run `npx create-hwy@latest` and follow the prompts.\n\nIf you'd prefer to read more first, take a peek at [our docs](https://hwy.dev/docs).\n\n## Acknowledgements\n\nHwy's APIs are obviously inspired by Remix. If Remix didn't exist, Hwy likely wouldn't exist either. Hwy doesn't use any Remix code, but it still owes a big thanks to the Remix team (past and present) for their top-tier patterns design. If you're building something huge and important today, use Remix.\n\n## Disclaimer\n\nHwy is in beta! Act accordingly.\n\n## License\n\nMIT License\n\nCopyright (c) 2023 Samuel J. Cook\n","readmeFilename":"README.md","gitHead":"58e81c1566b6ca57dd966ee1e925d7fe01c14090","types":"./dist/index.d.ts","_nodeVersion":"18.17.1","_npmVersion":"10.0.0","dist":{"integrity":"sha512-s6bF099gqxnoYy42ztx8z+aA0iGAQ4B0VTvUBYXC76GDRuqcbLEl5uWQyj71C+9gqYLgUZRKU16BNxtVRLIiog==","shasum":"ba8d785f86926291b41538eceee3ac55bd98e16b","tarball":"https://registry.npmjs.org/hwy/-/hwy-0.2.0-beta.5.tgz","fileCount":4,"unpackedSize":34491,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIGw4pdnZ48AIy4DlVHpN5J7zdFQiJRiSVC01fr6T0eUcAiAuGV4WuFVWDNucYNBWxLzWe168wbh2vorKs1kZt7viKQ=="}]},"_npmUser":{"name":"sjc5","email":"email@samcook.cc"},"directories":{},"maintainers":[{"name":"sjc5","email":"email@samcook.cc"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/hwy_0.2.0-beta.5_1695431159999_0.7807198033053304"},"_hasShrinkwrap":false},"0.2.0-beta.6":{"name":"hwy","version":"0.2.0-beta.6","author":{"name":"Samuel J. Cook"},"license":"MIT","description":"Lightweight, flexible, and powerful alternative to NextJS, based on HTMX instead of React","type":"module","main":"dist/index.js","scripts":{"build":"rimraf dist && tsup-node index.ts --format esm --dts","dev":"rimraf dist && tsup-node index.ts --format esm --dts --watch --sourcemap","publish-beta":"npm publish --tag beta"},"devDependencies":{"@hono/node-server":"^1.2.0","@hwy-js/dev":"workspace:*","@types/node":"^20.6.3","hono":"^3.7.1","rimraf":"^5.0.1","tsup":"^7.2.0"},"repository":{"type":"git","url":"git+https://github.com/hwy-js/hwy.git","directory":"packages/core"},"homepage":"https://hwy.dev","bugs":{"url":"https://github.com/hwy-js/hwy/issues"},"keywords":["framework","typescript","htmx","hono","router","jsx","nextjs","remix"],"sideEffects":false,"_id":"hwy@0.2.0-beta.6","readme":"# Hwy\n\nHwy is a lightweight, flexible, and powerful alternative to NextJS, based on HTMX instead of React.\n\n## Quick Start\n\n```bash\nnpx create-hwy@latest\n```\n\n## What is Hwy?\n\nHwy is a lot like NextJS or Remix, but it uses **_HTMX_** instead of React on the frontend.\n\nHwy lets you write **_React-style JSX_** in **_nested, file-based routes_**, with **_Remix-style actions and parallel loaders_**.\n\nPage components are async, so you can even **_fetch data in JSX_** if you want to (just be careful with waterfalls).\n\nThe backend server is built on **_Hono_**, so you have access to a rich, growing ecosystem with lots of middleware and wonderful docs.\n\nHwy is **_100% server-rendered_**, but with the HTMX defaults Hwy sets up for you out of the box, your app still **_feels like an SPA_**.\n\nLinks and forms are automatically **_progressively enhanced_** thanks to HTMX's `hx-boost` feature. Just use normal anchor tags and traditional form attributes.\n\nBecause Hwy replaces the **_full page_** on transitions by default, everything stays **_simple_**. You don't have to return different components from different endpoints (unless you want to).\n\nAnd best of all, **_anything you can do with Hono or HTMX, you can do with Hwy_**.\n\n## Features\n\n- Server-rendered JSX / TSX\n- Nested, file-based routing\n- Remix-style actions and parallel loaders\n- Async page components\n- Rich Hono middleware ecosystem\n- 100% type-safe\n- Server built on Hono\n- Client built on HTMX\n- Built-in critical CSS inlining\n- Live browser refresh during development\n- And more...\n\n## Guiding Principles\n\n- No speed limits\n- Numerous off-ramps\n- Smooth, safe roads\n- Clear traffic signs\n\n## Simple usage\n\nBelow is an example of a simple Hwy page. You'll notice it looks a lot like Remix, and you're right! Hwy is heavily inspired by Remix, but it uses HTMX instead of React.\n\n```tsx\n// src/pages/user/$user_id.page.tsx\n\nimport type { DataFunctionArgs, PageProps } from 'hwy'\nimport { UserProfile, getUser } from './somewhere.js'\n\nexport async function loader({ params }: DataFunctionArgs) {\n  return await getUser(params.user_id)\n}\n\nexport default async function ({ loaderData }: PageProps<typeof loader>) {\n  return <UserProfile user={loaderData} />\n}\n```\n\nOr, if you prefer to fetch inside your components:\n\n```tsx\nexport default async function ({ params }: PageProps) {\n  const user = await getUser(params.user_id)\n\n  return <UserProfile user={user} />\n}\n```\n\n## Get Started\n\nIf you want to dive right in, just open a terminal and run `npx create-hwy@latest` and follow the prompts.\n\nIf you'd prefer to read more first, take a peek at [our docs](https://hwy.dev/docs).\n\n## Acknowledgements\n\nHwy's APIs are obviously inspired by Remix. If Remix didn't exist, Hwy likely wouldn't exist either. Hwy doesn't use any Remix code, but it still owes a big thanks to the Remix team (past and present) for their top-tier patterns design. If you're building something huge and important today, use Remix.\n\n## Disclaimer\n\nHwy is in beta! Act accordingly.\n\n## License\n\nMIT License\n\nCopyright (c) 2023 Samuel J. Cook\n","readmeFilename":"README.md","gitHead":"58e81c1566b6ca57dd966ee1e925d7fe01c14090","types":"./dist/index.d.ts","_nodeVersion":"18.17.1","_npmVersion":"10.0.0","dist":{"integrity":"sha512-fTrVXEbDblEmBp/R21OG3YTA16v0lV8h/lOOz8jMqgxqLd1hJmFlYtX1moS7Q7j6gT9vrC3vTMQCzmJsLme+Hw==","shasum":"8eac3e0e6bf1bab0d93778b0cb6dd8102119bd37","tarball":"https://registry.npmjs.org/hwy/-/hwy-0.2.0-beta.6.tgz","fileCount":4,"unpackedSize":34491,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCUdeP9WZgJYTMyP+gEY+zI38hbH8aQ760CIq0WM/hTggIhANmOjFqSwF8a/Gwy3P8NMC0d9iP37ydTtCnIGgJKHC5x"}]},"_npmUser":{"name":"sjc5","email":"email@samcook.cc"},"directories":{},"maintainers":[{"name":"sjc5","email":"email@samcook.cc"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/hwy_0.2.0-beta.6_1695431299746_0.5130824028204346"},"_hasShrinkwrap":false},"0.2.0-beta.7":{"name":"hwy","version":"0.2.0-beta.7","author":{"name":"Samuel J. Cook"},"license":"MIT","description":"Lightweight, flexible, and powerful alternative to NextJS, based on HTMX instead of React","type":"module","main":"dist/index.js","scripts":{"build":"rimraf dist && tsup-node index.ts --format esm --dts","dev":"rimraf dist && tsup-node index.ts --format esm --dts --watch --sourcemap","publish-beta":"npm publish --tag beta"},"devDependencies":{"@hono/node-server":"^1.2.0","@hwy-js/dev":"workspace:*","@types/node":"^20.6.3","hono":"^3.7.1","rimraf":"^5.0.1","tsup":"^7.2.0"},"repository":{"type":"git","url":"git+https://github.com/hwy-js/hwy.git","directory":"packages/core"},"homepage":"https://hwy.dev","bugs":{"url":"https://github.com/hwy-js/hwy/issues"},"keywords":["framework","typescript","htmx","hono","router","jsx","nextjs","remix"],"sideEffects":false,"_id":"hwy@0.2.0-beta.7","readme":"# Hwy\n\nHwy is a lightweight, flexible, and powerful alternative to NextJS, based on HTMX instead of React.\n\n## Quick Start\n\n```bash\nnpx create-hwy@latest\n```\n\n## What is Hwy?\n\nHwy is a lot like NextJS or Remix, but it uses **_HTMX_** instead of React on the frontend.\n\nHwy lets you write **_React-style JSX_** in **_nested, file-based routes_**, with **_Remix-style actions and parallel loaders_**.\n\nPage components are async, so you can even **_fetch data in JSX_** if you want to (just be careful with waterfalls).\n\nThe backend server is built on **_Hono_**, so you have access to a rich, growing ecosystem with lots of middleware and wonderful docs.\n\nHwy is **_100% server-rendered_**, but with the HTMX defaults Hwy sets up for you out of the box, your app still **_feels like an SPA_**.\n\nLinks and forms are automatically **_progressively enhanced_** thanks to HTMX's `hx-boost` feature. Just use normal anchor tags and traditional form attributes.\n\nBecause Hwy replaces the **_full page_** on transitions by default, everything stays **_simple_**. You don't have to return different components from different endpoints (unless you want to).\n\nAnd best of all, **_anything you can do with Hono or HTMX, you can do with Hwy_**.\n\n## Features\n\n- Server-rendered JSX / TSX\n- Nested, file-based routing\n- Remix-style actions and parallel loaders\n- Async page components\n- Rich Hono middleware ecosystem\n- 100% type-safe\n- Server built on Hono\n- Client built on HTMX\n- Built-in critical CSS inlining\n- Live browser refresh during development\n- And more...\n\n## Guiding Principles\n\n- No speed limits\n- Numerous off-ramps\n- Smooth, safe roads\n- Clear traffic signs\n\n## Simple usage\n\nBelow is an example of a simple Hwy page. You'll notice it looks a lot like Remix, and you're right! Hwy is heavily inspired by Remix, but it uses HTMX instead of React.\n\n```tsx\n// src/pages/user/$user_id.page.tsx\n\nimport type { DataFunctionArgs, PageProps } from 'hwy'\nimport { UserProfile, getUser } from './somewhere.js'\n\nexport async function loader({ params }: DataFunctionArgs) {\n  return await getUser(params.user_id)\n}\n\nexport default async function ({ loaderData }: PageProps<typeof loader>) {\n  return <UserProfile user={loaderData} />\n}\n```\n\nOr, if you prefer to fetch inside your components:\n\n```tsx\nexport default async function ({ params }: PageProps) {\n  const user = await getUser(params.user_id)\n\n  return <UserProfile user={user} />\n}\n```\n\n## Get Started\n\nIf you want to dive right in, just open a terminal and run `npx create-hwy@latest` and follow the prompts.\n\nIf you'd prefer to read more first, take a peek at [our docs](https://hwy.dev/docs).\n\n## Acknowledgements\n\nHwy's APIs are obviously inspired by Remix. If Remix didn't exist, Hwy likely wouldn't exist either. Hwy doesn't use any Remix code, but it still owes a big thanks to the Remix team (past and present) for their top-tier patterns design. If you're building something huge and important today, use Remix.\n\n## Disclaimer\n\nHwy is in beta! Act accordingly.\n\n## License\n\nMIT License\n\nCopyright (c) 2023 Samuel J. Cook\n","readmeFilename":"README.md","gitHead":"17e1ae1e874a28296aeee854aed46aff7245b64c","types":"./dist/index.d.ts","_nodeVersion":"18.17.1","_npmVersion":"10.0.0","dist":{"integrity":"sha512-IBxga8tPvuJQRf3WF2vd5OENSlSkp4VDmzOWh/Mp3M/41nVoMcGZPfaPvZQdSJntuSbwah7NOq31FBTBZfcCHg==","shasum":"d79abe61c1ba70a6e21af8e87977b232d188a8b7","tarball":"https://registry.npmjs.org/hwy/-/hwy-0.2.0-beta.7.tgz","fileCount":4,"unpackedSize":34491,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQC/+GJGSY/KDz393tzwBK40t4qNMdKcV7UjJ2EG5m5M2QIhAKgtq9dR6gyDLAB8FYXuznr0CbzBGNBD3hg0DIDAFzax"}]},"_npmUser":{"name":"sjc5","email":"email@samcook.cc"},"directories":{},"maintainers":[{"name":"sjc5","email":"email@samcook.cc"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/hwy_0.2.0-beta.7_1695584376207_0.754096043120593"},"_hasShrinkwrap":false},"0.2.0-beta.8":{"name":"hwy","version":"0.2.0-beta.8","author":{"name":"Samuel J. Cook"},"license":"MIT","description":"Lightweight, flexible, and powerful alternative to NextJS, based on HTMX instead of React","type":"module","main":"dist/index.js","scripts":{"build":"rimraf dist && tsup-node index.ts --format esm --dts","dev":"rimraf dist && tsup-node index.ts --format esm --dts --watch --sourcemap","publish-beta":"npm publish --tag beta"},"devDependencies":{"@hono/node-server":"^1.2.0","@hwy-js/dev":"workspace:*","@types/node":"^20.6.3","hono":"^3.7.1","rimraf":"^5.0.1","tsup":"^7.2.0"},"repository":{"type":"git","url":"git+https://github.com/hwy-js/hwy.git","directory":"packages/core"},"homepage":"https://hwy.dev","bugs":{"url":"https://github.com/hwy-js/hwy/issues"},"keywords":["framework","typescript","htmx","hono","router","jsx","nextjs","remix"],"sideEffects":false,"_id":"hwy@0.2.0-beta.8","readme":"# Hwy\n\nHwy is a lightweight, flexible, and powerful alternative to NextJS, based on HTMX instead of React.\n\n## Quick Start\n\n```bash\nnpx create-hwy@latest\n```\n\n## What is Hwy?\n\nHwy is a lot like NextJS or Remix, but it uses **_HTMX_** instead of React on the frontend.\n\nHwy lets you write **_React-style JSX_** in **_nested, file-based routes_**, with **_Remix-style actions and parallel loaders_**.\n\nPage components are async, so you can even **_fetch data in JSX_** if you want to (just be careful with waterfalls).\n\nThe backend server is built on **_Hono_**, so you have access to a rich, growing ecosystem with lots of middleware and wonderful docs.\n\nHwy is **_100% server-rendered_**, but with the HTMX defaults Hwy sets up for you out of the box, your app still **_feels like an SPA_**.\n\nLinks and forms are automatically **_progressively enhanced_** thanks to HTMX's `hx-boost` feature. Just use normal anchor tags and traditional form attributes.\n\nBecause Hwy replaces the **_full page_** on transitions by default, everything stays **_simple_**. You don't have to return different components from different endpoints (unless you want to).\n\nAnd best of all, **_anything you can do with Hono or HTMX, you can do with Hwy_**.\n\n## Features\n\n- Server-rendered JSX / TSX\n- Nested, file-based routing\n- Remix-style actions and parallel loaders\n- Async page components\n- Rich Hono middleware ecosystem\n- 100% type-safe\n- Server built on Hono\n- Client built on HTMX\n- Built-in critical CSS inlining\n- Live browser refresh during development\n- And more...\n\n## Guiding Principles\n\n- No speed limits\n- Numerous off-ramps\n- Smooth, safe roads\n- Clear traffic signs\n\n## Simple usage\n\nBelow is an example of a simple Hwy page. You'll notice it looks a lot like Remix, and you're right! Hwy is heavily inspired by Remix, but it uses HTMX instead of React.\n\n```tsx\n// src/pages/user/$user_id.page.tsx\n\nimport type { DataFunctionArgs, PageProps } from 'hwy'\nimport { UserProfile, getUser } from './somewhere.js'\n\nexport async function loader({ params }: DataFunctionArgs) {\n  return await getUser(params.user_id)\n}\n\nexport default async function ({ loaderData }: PageProps<typeof loader>) {\n  return <UserProfile user={loaderData} />\n}\n```\n\nOr, if you prefer to fetch inside your components:\n\n```tsx\nexport default async function ({ params }: PageProps) {\n  const user = await getUser(params.user_id)\n\n  return <UserProfile user={user} />\n}\n```\n\n## Get Started\n\nIf you want to dive right in, just open a terminal and run `npx create-hwy@latest` and follow the prompts.\n\nIf you'd prefer to read more first, take a peek at [our docs](https://hwy.dev/docs).\n\n## Acknowledgements\n\nHwy's APIs are obviously inspired by Remix. If Remix didn't exist, Hwy likely wouldn't exist either. Hwy doesn't use any Remix code, but it still owes a big thanks to the Remix team (past and present) for their top-tier patterns design. If you're building something huge and important today, use Remix.\n\n## Disclaimer\n\nHwy is in beta! Act accordingly.\n\n## License\n\nMIT License\n\nCopyright (c) 2023 Samuel J. Cook\n","readmeFilename":"README.md","gitHead":"8750d8c8e5c1dbecccf23c3aa9bb9c79e77fca42","types":"./dist/index.d.ts","_nodeVersion":"18.17.1","_npmVersion":"10.0.0","dist":{"integrity":"sha512-c+SKS4xx62HyJuiKO00hA2B7b149vhQ5OlafaBaKT27oySX9AjHeOJNpZaZIvIk5Iy7fT3hpEmk6Rf92AFBkqg==","shasum":"a7d7f51ce0724fe6c32ac18ebbbfac92070d65eb","tarball":"https://registry.npmjs.org/hwy/-/hwy-0.2.0-beta.8.tgz","fileCount":4,"unpackedSize":34491,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDqwXr30Yj8OY/OreGGlE5cGMTLnZzbvU3hdQbkqt1LgwIgHTnDPqoMTGLzzIIIde12IuE6/lWMYuvEBedyxPL/IZ4="}]},"_npmUser":{"name":"sjc5","email":"email@samcook.cc"},"directories":{},"maintainers":[{"name":"sjc5","email":"email@samcook.cc"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/hwy_0.2.0-beta.8_1695598761519_0.5171148659892881"},"_hasShrinkwrap":false},"0.2.0-beta.9":{"name":"hwy","version":"0.2.0-beta.9","author":{"name":"Samuel J. Cook"},"license":"MIT","description":"Lightweight, flexible, and powerful alternative to NextJS, based on HTMX instead of React","type":"module","main":"dist/index.js","scripts":{"build":"rimraf dist && tsup-node index.ts --format esm --dts","dev":"rimraf dist && tsup-node index.ts --format esm --dts --watch --sourcemap","publish-beta":"npm publish --tag beta"},"devDependencies":{"@hono/node-server":"^1.2.0","@hwy-js/dev":"workspace:*","@types/node":"^20.6.3","hono":"^3.7.1","rimraf":"^5.0.1","tsup":"^7.2.0"},"repository":{"type":"git","url":"git+https://github.com/hwy-js/hwy.git","directory":"packages/core"},"homepage":"https://hwy.dev","bugs":{"url":"https://github.com/hwy-js/hwy/issues"},"keywords":["framework","typescript","htmx","hono","router","jsx","nextjs","remix"],"sideEffects":false,"_id":"hwy@0.2.0-beta.9","readme":"# Hwy\n\nHwy is a lightweight, flexible, and powerful alternative to NextJS, based on HTMX instead of React.\n\n## Quick Start\n\n```bash\nnpx create-hwy@latest\n```\n\n## What is Hwy?\n\nHwy is a lot like NextJS or Remix, but it uses **_HTMX_** instead of React on the frontend.\n\nHwy lets you write **_React-style JSX_** in **_nested, file-based routes_**, with **_Remix-style actions and parallel loaders_**.\n\nPage components are async, so you can even **_fetch data in JSX_** if you want to (just be careful with waterfalls).\n\nThe backend server is built on **_Hono_**, so you have access to a rich, growing ecosystem with lots of middleware and wonderful docs.\n\nHwy is **_100% server-rendered_**, but with the HTMX defaults Hwy sets up for you out of the box, your app still **_feels like an SPA_**.\n\nLinks and forms are automatically **_progressively enhanced_** thanks to HTMX's `hx-boost` feature. Just use normal anchor tags and traditional form attributes.\n\nBecause Hwy replaces the **_full page_** on transitions by default, everything stays **_simple_**. You don't have to return different components from different endpoints (unless you want to).\n\nAnd best of all, **_anything you can do with Hono or HTMX, you can do with Hwy_**.\n\n## Features\n\n- Server-rendered JSX / TSX\n- Nested, file-based routing\n- Remix-style actions and parallel loaders\n- Async page components\n- Rich Hono middleware ecosystem\n- 100% type-safe\n- Server built on Hono\n- Client built on HTMX\n- Built-in critical CSS inlining\n- Live browser refresh during development\n- And more...\n\n## Guiding Principles\n\n- No speed limits\n- Numerous off-ramps\n- Smooth, safe roads\n- Clear traffic signs\n\n## Simple usage\n\nBelow is an example of a simple Hwy page. You'll notice it looks a lot like Remix, and you're right! Hwy is heavily inspired by Remix, but it uses HTMX instead of React.\n\n```tsx\n// src/pages/user/$user_id.page.tsx\n\nimport type { DataFunctionArgs, PageProps } from 'hwy'\nimport { UserProfile, getUser } from './somewhere.js'\n\nexport async function loader({ params }: DataFunctionArgs) {\n  return await getUser(params.user_id)\n}\n\nexport default async function ({ loaderData }: PageProps<typeof loader>) {\n  return <UserProfile user={loaderData} />\n}\n```\n\nOr, if you prefer to fetch inside your components:\n\n```tsx\nexport default async function ({ params }: PageProps) {\n  const user = await getUser(params.user_id)\n\n  return <UserProfile user={user} />\n}\n```\n\n## Get Started\n\nIf you want to dive right in, just open a terminal and run `npx create-hwy@latest` and follow the prompts.\n\nIf you'd prefer to read more first, take a peek at [our docs](https://hwy.dev/docs).\n\n## Acknowledgements\n\nHwy's APIs are obviously inspired by Remix. If Remix didn't exist, Hwy likely wouldn't exist either. Hwy doesn't use any Remix code, but it still owes a big thanks to the Remix team (past and present) for their top-tier patterns design. If you're building something huge and important today, use Remix.\n\n## Disclaimer\n\nHwy is in beta! Act accordingly.\n\n## License\n\nMIT License\n\nCopyright (c) 2023 Samuel J. Cook\n","readmeFilename":"README.md","gitHead":"8750d8c8e5c1dbecccf23c3aa9bb9c79e77fca42","types":"./dist/index.d.ts","_nodeVersion":"18.17.1","_npmVersion":"10.0.0","dist":{"integrity":"sha512-Odha6/OTbEyF5fQgS79oZ57gGOpv/hxy648uZO8x2ND/STlfejAeCkUmWwHXXsCY0h04c8g74vwODovtNHhuxQ==","shasum":"c913e0722e37247f7e5c5739e4a09b4a22ba8646","tarball":"https://registry.npmjs.org/hwy/-/hwy-0.2.0-beta.9.tgz","fileCount":4,"unpackedSize":34491,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCID2fARW0S2qzDrxJMCCr+3nxKFm5Lbd/fRbyEXuS55yOAiBNZqPlEvDzi/tRiaQQlggrCpi8UH1umHVQk7E26EAkRg=="}]},"_npmUser":{"name":"sjc5","email":"email@samcook.cc"},"directories":{},"maintainers":[{"name":"sjc5","email":"email@samcook.cc"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/hwy_0.2.0-beta.9_1695600281772_0.46647448557438254"},"_hasShrinkwrap":false},"0.2.0-beta.10":{"name":"hwy","version":"0.2.0-beta.10","author":{"name":"Samuel J. Cook"},"license":"MIT","description":"Lightweight, flexible, and powerful alternative to NextJS, based on HTMX instead of React","type":"module","main":"dist/index.js","scripts":{"build":"rimraf dist && tsup-node index.ts --format esm --dts","dev":"rimraf dist && tsup-node index.ts --format esm --dts --watch --sourcemap","publish-beta":"npm publish --tag beta"},"devDependencies":{"@hono/node-server":"^1.2.0","@hwy-js/dev":"workspace:*","@types/node":"^20.6.3","hono":"^3.7.1","rimraf":"^5.0.1","tsup":"^7.2.0"},"repository":{"type":"git","url":"git+https://github.com/hwy-js/hwy.git","directory":"packages/core"},"homepage":"https://hwy.dev","bugs":{"url":"https://github.com/hwy-js/hwy/issues"},"keywords":["framework","typescript","htmx","hono","router","jsx","nextjs","remix"],"sideEffects":false,"_id":"hwy@0.2.0-beta.10","readme":"# Hwy\n\nHwy is a lightweight, flexible, and powerful alternative to NextJS, based on HTMX instead of React.\n\n## Quick Start\n\n```bash\nnpx create-hwy@latest\n```\n\n## What is Hwy?\n\nHwy is a lot like NextJS or Remix, but it uses **_HTMX_** instead of React on the frontend.\n\nHwy lets you write **_React-style JSX_** in **_nested, file-based routes_**, with **_Remix-style actions and parallel loaders_**.\n\nPage components are async, so you can even **_fetch data in JSX_** if you want to (just be careful with waterfalls).\n\nThe backend server is built on **_Hono_**, so you have access to a rich, growing ecosystem with lots of middleware and wonderful docs.\n\nHwy is **_100% server-rendered_**, but with the HTMX defaults Hwy sets up for you out of the box, your app still **_feels like an SPA_**.\n\nLinks and forms are automatically **_progressively enhanced_** thanks to HTMX's `hx-boost` feature. Just use normal anchor tags and traditional form attributes.\n\nBecause Hwy replaces the **_full page_** on transitions by default, everything stays **_simple_**. You don't have to return different components from different endpoints (unless you want to).\n\nAnd best of all, **_anything you can do with Hono or HTMX, you can do with Hwy_**.\n\n## Features\n\n- Server-rendered JSX / TSX\n- Nested, file-based routing\n- Remix-style actions and parallel loaders\n- Async page components\n- Rich Hono middleware ecosystem\n- 100% type-safe\n- Server built on Hono\n- Client built on HTMX\n- Built-in critical CSS inlining\n- Live browser refresh during development\n- And more...\n\n## Guiding Principles\n\n- No speed limits\n- Numerous off-ramps\n- Smooth, safe roads\n- Clear traffic signs\n\n## Simple usage\n\nBelow is an example of a simple Hwy page. You'll notice it looks a lot like Remix, and you're right! Hwy is heavily inspired by Remix, but it uses HTMX instead of React.\n\n```tsx\n// src/pages/user/$user_id.page.tsx\n\nimport type { DataFunctionArgs, PageProps } from 'hwy'\nimport { UserProfile, getUser } from './somewhere.js'\n\nexport async function loader({ params }: DataFunctionArgs) {\n  return await getUser(params.user_id)\n}\n\nexport default async function ({ loaderData }: PageProps<typeof loader>) {\n  return <UserProfile user={loaderData} />\n}\n```\n\nOr, if you prefer to fetch inside your components:\n\n```tsx\nexport default async function ({ params }: PageProps) {\n  const user = await getUser(params.user_id)\n\n  return <UserProfile user={user} />\n}\n```\n\n## Get Started\n\nIf you want to dive right in, just open a terminal and run `npx create-hwy@latest` and follow the prompts.\n\nIf you'd prefer to read more first, take a peek at [our docs](https://hwy.dev/docs).\n\n## Acknowledgements\n\nHwy's APIs are obviously inspired by Remix. If Remix didn't exist, Hwy likely wouldn't exist either. Hwy doesn't use any Remix code, but it still owes a big thanks to the Remix team (past and present) for their top-tier patterns design. If you're building something huge and important today, use Remix.\n\n## Disclaimer\n\nHwy is in beta! Act accordingly.\n\n## License\n\nMIT License\n\nCopyright (c) 2023 Samuel J. Cook\n","readmeFilename":"README.md","gitHead":"0241c596b570754737b85d87b3990d850bfd6369","types":"./dist/index.d.ts","_nodeVersion":"18.17.1","_npmVersion":"10.0.0","dist":{"integrity":"sha512-ukQQQ7kK1k8zsySM1YrqONznCw8XVJuBYjMk5/f4FXMJEPZXFxcVfyIoms2mnLqAHh3vDbpIsFslROYR9UpOlQ==","shasum":"386b886a4c179ad15edd871145725d5c4b8d0791","tarball":"https://registry.npmjs.org/hwy/-/hwy-0.2.0-beta.10.tgz","fileCount":4,"unpackedSize":34492,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDsBZ6rELtE5G7u1UY6izssPhNmhsuerM4xZbVke0Y2AwIgIfcnwbWIWtaxJjNrnml7l5x5xCeA+hVzhJUuHGOBAQU="}]},"_npmUser":{"name":"sjc5","email":"email@samcook.cc"},"directories":{},"maintainers":[{"name":"sjc5","email":"email@samcook.cc"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/hwy_0.2.0-beta.10_1695686165562_0.4532788317691583"},"_hasShrinkwrap":false},"0.2.0-beta.11":{"name":"hwy","version":"0.2.0-beta.11","author":{"name":"Samuel J. Cook"},"license":"MIT","description":"Lightweight, flexible, and powerful alternative to NextJS, based on HTMX instead of React","type":"module","main":"dist/index.js","scripts":{"build":"rimraf dist && tsup-node index.ts --format esm --dts","dev":"rimraf dist && tsup-node index.ts --format esm --dts --watch --sourcemap","publish-beta":"npm publish --tag beta"},"devDependencies":{"@hono/node-server":"^1.2.0","@hwy-js/dev":"workspace:*","@types/node":"^20.6.3","hono":"^3.7.1","rimraf":"^5.0.1","tsup":"^7.2.0"},"repository":{"type":"git","url":"git+https://github.com/hwy-js/hwy.git","directory":"packages/core"},"homepage":"https://hwy.dev","bugs":{"url":"https://github.com/hwy-js/hwy/issues"},"keywords":["framework","typescript","htmx","hono","router","jsx","nextjs","remix"],"sideEffects":false,"_id":"hwy@0.2.0-beta.11","readme":"# Hwy\n\nHwy is a lightweight, flexible, and powerful alternative to NextJS, based on HTMX instead of React.\n\n## Quick Start\n\n```bash\nnpx create-hwy@latest\n```\n\n## What is Hwy?\n\nHwy is a lot like NextJS or Remix, but it uses **_HTMX_** instead of React on the frontend.\n\nHwy lets you write **_React-style JSX_** in **_nested, file-based routes_**, with **_Remix-style actions and parallel loaders_**.\n\nPage components are async, so you can even **_fetch data in JSX_** if you want to (just be careful with waterfalls).\n\nThe backend server is built on **_Hono_**, so you have access to a rich, growing ecosystem with lots of middleware and wonderful docs.\n\nHwy is **_100% server-rendered_**, but with the HTMX defaults Hwy sets up for you out of the box, your app still **_feels like an SPA_**.\n\nLinks and forms are automatically **_progressively enhanced_** thanks to HTMX's `hx-boost` feature. Just use normal anchor tags and traditional form attributes.\n\nBecause Hwy replaces the **_full page_** on transitions by default, everything stays **_simple_**. You don't have to return different components from different endpoints (unless you want to).\n\nAnd best of all, **_anything you can do with Hono or HTMX, you can do with Hwy_**.\n\n## Features\n\n- Server-rendered JSX / TSX\n- Nested, file-based routing\n- Remix-style actions and parallel loaders\n- Async page components\n- Rich Hono middleware ecosystem\n- 100% type-safe\n- Server built on Hono\n- Client built on HTMX\n- Built-in critical CSS inlining\n- Live browser refresh during development\n- And more...\n\n## Guiding Principles\n\n- No speed limits\n- Numerous off-ramps\n- Smooth, safe roads\n- Clear traffic signs\n\n## Simple usage\n\nBelow is an example of a simple Hwy page. You'll notice it looks a lot like Remix, and you're right! Hwy is heavily inspired by Remix, but it uses HTMX instead of React.\n\n```tsx\n// src/pages/user/$user_id.page.tsx\n\nimport type { DataFunctionArgs, PageProps } from 'hwy'\nimport { UserProfile, getUser } from './somewhere.js'\n\nexport async function loader({ params }: DataFunctionArgs) {\n  return await getUser(params.user_id)\n}\n\nexport default async function ({ loaderData }: PageProps<typeof loader>) {\n  return <UserProfile user={loaderData} />\n}\n```\n\nOr, if you prefer to fetch inside your components:\n\n```tsx\nexport default async function ({ params }: PageProps) {\n  const user = await getUser(params.user_id)\n\n  return <UserProfile user={user} />\n}\n```\n\n## Get Started\n\nIf you want to dive right in, just open a terminal and run `npx create-hwy@latest` and follow the prompts.\n\nIf you'd prefer to read more first, take a peek at [our docs](https://hwy.dev/docs).\n\n## Acknowledgements\n\nHwy's APIs are obviously inspired by Remix. If Remix didn't exist, Hwy likely wouldn't exist either. Hwy doesn't use any Remix code, but it still owes a big thanks to the Remix team (past and present) for their top-tier patterns design. If you're building something huge and important today, use Remix.\n\n## Disclaimer\n\nHwy is in beta! Act accordingly.\n\n## License\n\nMIT License\n\nCopyright (c) 2023 Samuel J. Cook\n","readmeFilename":"README.md","gitHead":"5b0a109caca47b387bf4ec7c9599a1db4dc24294","types":"./dist/index.d.ts","_nodeVersion":"18.17.1","_npmVersion":"10.0.0","dist":{"integrity":"sha512-BASSENzF48PYQB0U50xFRTHK0/p6J2kVuRgUmPVsjWSULrg5Kq9WEpHQ6ZMcphVEQbXN/Cf3gTmRwLUEEcdyDA==","shasum":"e642d71d34c709d0bea620d93cfeead5b6c105a7","tarball":"https://registry.npmjs.org/hwy/-/hwy-0.2.0-beta.11.tgz","fileCount":4,"unpackedSize":34492,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCICmXuIU0eKcquffyNbfqqDPSxDMdb2Nd8MSSZ9Kv90jNAiEAnn/DjF3Ao5CbcuIml+9SEB203Olfg85KWPoZrX4unzI="}]},"_npmUser":{"name":"sjc5","email":"email@samcook.cc"},"directories":{},"maintainers":[{"name":"sjc5","email":"email@samcook.cc"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/hwy_0.2.0-beta.11_1695689763106_0.8901459495434445"},"_hasShrinkwrap":false},"0.2.0":{"name":"hwy","version":"0.2.0","author":{"name":"Samuel J. Cook"},"license":"MIT","description":"Lightweight, flexible, and powerful alternative to NextJS, based on HTMX instead of React","type":"module","main":"dist/index.js","scripts":{"build":"rimraf dist && tsup-node index.ts --format esm --dts","dev":"rimraf dist && tsup-node index.ts --format esm --dts --watch --sourcemap","publish-beta":"npm publish --tag beta"},"devDependencies":{"@hono/node-server":"^1.2.0","@hwy-js/dev":"workspace:*","@types/node":"^20.6.3","hono":"^3.7.1","rimraf":"^5.0.1","tsup":"^7.2.0"},"repository":{"type":"git","url":"git+https://github.com/hwy-js/hwy.git","directory":"packages/core"},"homepage":"https://hwy.dev","bugs":{"url":"https://github.com/hwy-js/hwy/issues"},"keywords":["framework","typescript","htmx","hono","router","jsx","nextjs","remix"],"sideEffects":false,"_id":"hwy@0.2.0","gitHead":"5b0a109caca47b387bf4ec7c9599a1db4dc24294","types":"./dist/index.d.ts","_nodeVersion":"18.17.1","_npmVersion":"10.0.0","dist":{"integrity":"sha512-VERO8NWpaBpfYOGsYtmPHTmqHwBMwk82FtN1hw/JEK4z8kBLpmmcP2+88+89zNWco5YEtOI1Dsnr8HFLEjGToQ==","shasum":"b0d2eaff37bdd90a5ff3089e8bce7768d0bc85fc","tarball":"https://registry.npmjs.org/hwy/-/hwy-0.2.0.tgz","fileCount":4,"unpackedSize":34484,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCICrUzFLCW9ZzX45gI5LHQxIJuuipMMk4d+mh8x6p5xu0AiAKVJ++lQPBHiX32GM9dVfupRZCDhF5XtV3a1WwixBVKQ=="}]},"_npmUser":{"name":"sjc5","email":"email@samcook.cc"},"directories":{},"maintainers":[{"name":"sjc5","email":"email@samcook.cc"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/hwy_0.2.0_1695691023649_0.5326265926931704"},"_hasShrinkwrap":false},"0.2.1":{"name":"hwy","version":"0.2.1","author":{"name":"Samuel J. Cook"},"license":"MIT","description":"Lightweight, flexible, and powerful alternative to NextJS, based on HTMX instead of React","type":"module","main":"dist/index.js","scripts":{"build":"rimraf dist && tsup-node index.ts --format esm --dts","dev":"rimraf dist && tsup-node index.ts --format esm --dts --watch --sourcemap","publish-beta":"npm publish --tag beta"},"devDependencies":{"@hono/node-server":"^1.2.0","@hwy-js/dev":"workspace:*","@types/node":"^20.6.3","hono":"^3.7.1","rimraf":"^5.0.1","tsup":"^7.2.0"},"repository":{"type":"git","url":"git+https://github.com/hwy-js/hwy.git","directory":"packages/core"},"homepage":"https://hwy.dev","bugs":{"url":"https://github.com/hwy-js/hwy/issues"},"keywords":["framework","typescript","htmx","hono","router","jsx","nextjs","remix"],"sideEffects":false,"_id":"hwy@0.2.1","gitHead":"13439504c6114b618811b30fb09ca5e4969090a6","types":"./dist/index.d.ts","_nodeVersion":"18.17.1","_npmVersion":"10.0.0","dist":{"integrity":"sha512-dyMUzb3OqUp/KDRxOpjXjN9FkH47YC8vDIO3Kwc6SAz57aFc5TklabG5glpZioupnScCSLttSA32S5pfI2ZHRQ==","shasum":"50d4bf03f52881f6989e301f6340f294982a47bf","tarball":"https://registry.npmjs.org/hwy/-/hwy-0.2.1.tgz","fileCount":4,"unpackedSize":34484,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIFNjMA0Sd+d6f38Od05M849+nemlfzsi+iaAfb3gYjoLAiAZKkyVD7jb77OMU4/SuXdI3Ke1NJjQ2hRlxb6qL2tBSg=="}]},"_npmUser":{"name":"sjc5","email":"email@samcook.cc"},"directories":{},"maintainers":[{"name":"sjc5","email":"email@samcook.cc"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/hwy_0.2.1_1695691920567_0.5589821816610072"},"_hasShrinkwrap":false},"0.2.2-beta.0":{"name":"hwy","version":"0.2.2-beta.0","author":{"name":"Samuel J. Cook"},"license":"MIT","description":"Lightweight, flexible, and powerful alternative to NextJS, based on HTMX instead of React","type":"module","main":"dist/index.js","scripts":{"build":"rimraf dist && tsup-node index.ts --format esm --dts","dev":"rimraf dist && tsup-node index.ts --format esm --dts --watch --sourcemap","publish-beta":"npm publish --tag beta"},"devDependencies":{"@hono/node-server":"^1.2.0","@hwy-js/dev":"workspace:*","@types/node":"^20.6.3","hono":"^3.7.1","rimraf":"^5.0.1","tsup":"^7.2.0"},"repository":{"type":"git","url":"git+https://github.com/hwy-js/hwy.git","directory":"packages/core"},"homepage":"https://hwy.dev","bugs":{"url":"https://github.com/hwy-js/hwy/issues"},"keywords":["framework","typescript","htmx","hono","router","jsx","nextjs","remix"],"sideEffects":false,"_id":"hwy@0.2.2-beta.0","readme":"# Hwy\n\nHwy is a lightweight, flexible, and powerful alternative to NextJS, based on HTMX instead of React.\n\n## Quick Start\n\n```bash\nnpx create-hwy@latest\n```\n\n## What is Hwy?\n\nHwy is a lot like NextJS or Remix, but it uses **_HTMX_** instead of React on the frontend.\n\nHwy lets you write **_React-style JSX_** in **_nested, file-based routes_**, with **_Remix-style actions and parallel loaders_**.\n\nPage components are async, so you can even **_fetch data in JSX_** if you want to (just be careful with waterfalls).\n\nThe backend server is built on **_Hono_**, so you have access to a rich, growing ecosystem with lots of middleware and wonderful docs.\n\nHwy is **_100% server-rendered_**, but with the HTMX defaults Hwy sets up for you out of the box, your app still **_feels like an SPA_**.\n\nLinks and forms are automatically **_progressively enhanced_** thanks to HTMX's `hx-boost` feature. Just use normal anchor tags and traditional form attributes.\n\nBecause Hwy replaces the **_full page_** on transitions by default, everything stays **_simple_**. You don't have to return different components from different endpoints (unless you want to).\n\nAnd best of all, **_anything you can do with Hono or HTMX, you can do with Hwy_**.\n\n## Features\n\n- Server-rendered JSX / TSX\n- Nested, file-based routing\n- Remix-style actions and parallel loaders\n- Async page components\n- Rich Hono middleware ecosystem\n- 100% type-safe\n- Server built on Hono\n- Client built on HTMX\n- Built-in critical CSS inlining\n- Live browser refresh during development\n- And more...\n\n## Guiding Principles\n\n- No speed limits\n- Numerous off-ramps\n- Smooth, safe roads\n- Clear traffic signs\n\n## Simple usage\n\nBelow is an example of a simple Hwy page. You'll notice it looks a lot like Remix, and you're right! Hwy is heavily inspired by Remix, but it uses HTMX instead of React.\n\n```tsx\n// src/pages/user/$user_id.page.tsx\n\nimport type { DataFunctionArgs, PageProps } from 'hwy'\nimport { UserProfile, getUser } from './somewhere.js'\n\nexport async function loader({ params }: DataFunctionArgs) {\n  return await getUser(params.user_id)\n}\n\nexport default async function ({ loaderData }: PageProps<typeof loader>) {\n  return <UserProfile user={loaderData} />\n}\n```\n\nOr, if you prefer to fetch inside your components:\n\n```tsx\nexport default async function ({ params }: PageProps) {\n  const user = await getUser(params.user_id)\n\n  return <UserProfile user={user} />\n}\n```\n\n## Get Started\n\nIf you want to dive right in, just open a terminal and run `npx create-hwy@latest` and follow the prompts.\n\nIf you'd prefer to read more first, take a peek at [our docs](https://hwy.dev/docs).\n\n## Acknowledgements\n\nHwy's APIs are obviously inspired by Remix. If Remix didn't exist, Hwy likely wouldn't exist either. Hwy doesn't use any Remix code, but it still owes a big thanks to the Remix team (past and present) for their top-tier patterns design. If you're building something huge and important today, use Remix.\n\n## Disclaimer\n\nHwy is in beta! Act accordingly.\n\n## License\n\nMIT License\n\nCopyright (c) 2023 Samuel J. Cook\n","readmeFilename":"README.md","gitHead":"0f9d7f662984267e24e15a22c960425bcbdb92e2","types":"./dist/index.d.ts","_nodeVersion":"18.17.1","_npmVersion":"10.0.0","dist":{"integrity":"sha512-I+6iWDwQrzKbDtDqaZRd2VEvNoGudFkaa1SPqt1BOkH0mfkBEFkA9lKwR4ssQvDF0FXc+HqWGTchoYD24/T4Rw==","shasum":"b8a2f059ba68f8e16c484b0edb0da2fb6fcbd70c","tarball":"https://registry.npmjs.org/hwy/-/hwy-0.2.2-beta.0.tgz","fileCount":4,"unpackedSize":34419,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDF5RbLKVuwiQxPX3e19YGJ7cj5Fhs7QBibhP+u9aqlhAIhAMcbbLTWBLnmm4zuZONROBWiTTp5sQRCytfPCARxaEXW"}]},"_npmUser":{"name":"sjc5","email":"email@samcook.cc"},"directories":{},"maintainers":[{"name":"sjc5","email":"email@samcook.cc"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/hwy_0.2.2-beta.0_1695945719687_0.767195456839854"},"_hasShrinkwrap":false},"0.2.2-beta.1":{"name":"hwy","version":"0.2.2-beta.1","author":{"name":"Samuel J. Cook"},"license":"MIT","description":"Lightweight, flexible, and powerful alternative to NextJS, based on HTMX instead of React","type":"module","main":"dist/index.js","scripts":{"build":"rimraf dist && tsup-node index.ts --format esm --dts","dev":"rimraf dist && tsup-node index.ts --format esm --dts --watch --sourcemap","publish-beta":"npm publish --tag beta"},"devDependencies":{"@hono/node-server":"^1.2.0","@hwy-js/dev":"workspace:*","@types/node":"^20.6.3","hono":"^3.7.1","rimraf":"^5.0.1","tsup":"^7.2.0"},"repository":{"type":"git","url":"git+https://github.com/hwy-js/hwy.git","directory":"packages/core"},"homepage":"https://hwy.dev","bugs":{"url":"https://github.com/hwy-js/hwy/issues"},"keywords":["framework","typescript","htmx","hono","router","jsx","nextjs","remix"],"sideEffects":false,"_id":"hwy@0.2.2-beta.1","readme":"# Hwy\n\nHwy is a lightweight, flexible, and powerful alternative to NextJS, based on HTMX instead of React.\n\n## Quick Start\n\n```bash\nnpx create-hwy@latest\n```\n\n## What is Hwy?\n\nHwy is a lot like NextJS or Remix, but it uses **_HTMX_** instead of React on the frontend.\n\nHwy lets you write **_React-style JSX_** in **_nested, file-based routes_**, with **_Remix-style actions and parallel loaders_**.\n\nPage components are async, so you can even **_fetch data in JSX_** if you want to (just be careful with waterfalls).\n\nThe backend server is built on **_Hono_**, so you have access to a rich, growing ecosystem with lots of middleware and wonderful docs.\n\nHwy is **_100% server-rendered_**, but with the HTMX defaults Hwy sets up for you out of the box, your app still **_feels like an SPA_**.\n\nLinks and forms are automatically **_progressively enhanced_** thanks to HTMX's `hx-boost` feature. Just use normal anchor tags and traditional form attributes.\n\nBecause Hwy replaces the **_full page_** on transitions by default, everything stays **_simple_**. You don't have to return different components from different endpoints (unless you want to).\n\nAnd best of all, **_anything you can do with Hono or HTMX, you can do with Hwy_**.\n\n## Features\n\n- Server-rendered JSX / TSX\n- Nested, file-based routing\n- Remix-style actions and parallel loaders\n- Async page components\n- Rich Hono middleware ecosystem\n- 100% type-safe\n- Server built on Hono\n- Client built on HTMX\n- Built-in critical CSS inlining\n- Live browser refresh during development\n- And more...\n\n## Guiding Principles\n\n- No speed limits\n- Numerous off-ramps\n- Smooth, safe roads\n- Clear traffic signs\n\n## Simple usage\n\nBelow is an example of a simple Hwy page. You'll notice it looks a lot like Remix, and you're right! Hwy is heavily inspired by Remix, but it uses HTMX instead of React.\n\n```tsx\n// src/pages/user/$user_id.page.tsx\n\nimport type { DataFunctionArgs, PageProps } from 'hwy'\nimport { UserProfile, getUser } from './somewhere.js'\n\nexport async function loader({ params }: DataFunctionArgs) {\n  return await getUser(params.user_id)\n}\n\nexport default async function ({ loaderData }: PageProps<typeof loader>) {\n  return <UserProfile user={loaderData} />\n}\n```\n\nOr, if you prefer to fetch inside your components:\n\n```tsx\nexport default async function ({ params }: PageProps) {\n  const user = await getUser(params.user_id)\n\n  return <UserProfile user={user} />\n}\n```\n\n## Get Started\n\nIf you want to dive right in, just open a terminal and run `npx create-hwy@latest` and follow the prompts.\n\nIf you'd prefer to read more first, take a peek at [our docs](https://hwy.dev/docs).\n\n## Acknowledgements\n\nHwy's APIs are obviously inspired by Remix. If Remix didn't exist, Hwy likely wouldn't exist either. Hwy doesn't use any Remix code, but it still owes a big thanks to the Remix team (past and present) for their top-tier patterns design. If you're building something huge and important today, use Remix.\n\n## Disclaimer\n\nHwy is in beta! Act accordingly.\n\n## License\n\nMIT License\n\nCopyright (c) 2023 Samuel J. Cook\n","readmeFilename":"README.md","gitHead":"c96eabd3f2ea3617548494de51815f8c4bb085c8","types":"./dist/index.d.ts","_nodeVersion":"18.17.1","_npmVersion":"10.0.0","dist":{"integrity":"sha512-RWb/q2poOtCHY1uts8YlRygA27UNj5hCHBOuZ2P05UQoB3cCruH9a54/o2VWtYjPIApus2lBdVC59QUufHGNXA==","shasum":"6a2d2688d254d3c0499932fe7e01e6d4bdb9458b","tarball":"https://registry.npmjs.org/hwy/-/hwy-0.2.2-beta.1.tgz","fileCount":4,"unpackedSize":34393,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDQCytc7N6tZKpw2m0ZtbE8QIXG3TZ/u9YOz3N49VUGTAIgSYV0anFUcWxi9teBE8dCLgFdukSDQHtueoETRs0h/s0="}]},"_npmUser":{"name":"sjc5","email":"email@samcook.cc"},"directories":{},"maintainers":[{"name":"sjc5","email":"email@samcook.cc"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/hwy_0.2.2-beta.1_1695946183356_0.4920078798422787"},"_hasShrinkwrap":false},"0.2.2-beta.2":{"name":"hwy","version":"0.2.2-beta.2","author":{"name":"Samuel J. Cook"},"license":"MIT","description":"Lightweight, flexible, and powerful alternative to NextJS, based on HTMX instead of React","type":"module","main":"dist/index.js","scripts":{"build":"rimraf dist && tsup-node index.ts --format esm --dts","dev":"rimraf dist && tsup-node index.ts --format esm --dts --watch --sourcemap","publish-beta":"npm publish --tag beta"},"devDependencies":{"@hono/node-server":"^1.2.0","@hwy-js/dev":"workspace:*","@types/node":"^20.6.3","hono":"^3.7.1","rimraf":"^5.0.1","tsup":"^7.2.0"},"repository":{"type":"git","url":"git+https://github.com/hwy-js/hwy.git","directory":"packages/core"},"homepage":"https://hwy.dev","bugs":{"url":"https://github.com/hwy-js/hwy/issues"},"keywords":["framework","typescript","htmx","hono","router","jsx","nextjs","remix"],"sideEffects":false,"_id":"hwy@0.2.2-beta.2","readme":"# Hwy\n\nHwy is a lightweight, flexible, and powerful alternative to NextJS, based on HTMX instead of React.\n\n## Quick Start\n\n```bash\nnpx create-hwy@latest\n```\n\n## What is Hwy?\n\nHwy is a lot like NextJS or Remix, but it uses **_HTMX_** instead of React on the frontend.\n\nHwy lets you write **_React-style JSX_** in **_nested, file-based routes_**, with **_Remix-style actions and parallel loaders_**.\n\nPage components are async, so you can even **_fetch data in JSX_** if you want to (just be careful with waterfalls).\n\nThe backend server is built on **_Hono_**, so you have access to a rich, growing ecosystem with lots of middleware and wonderful docs.\n\nHwy is **_100% server-rendered_**, but with the HTMX defaults Hwy sets up for you out of the box, your app still **_feels like an SPA_**.\n\nLinks and forms are automatically **_progressively enhanced_** thanks to HTMX's `hx-boost` feature. Just use normal anchor tags and traditional form attributes.\n\nBecause Hwy replaces the **_full page_** on transitions by default, everything stays **_simple_**. You don't have to return different components from different endpoints (unless you want to).\n\nAnd best of all, **_anything you can do with Hono or HTMX, you can do with Hwy_**.\n\n## Features\n\n- Server-rendered JSX / TSX\n- Nested, file-based routing\n- Remix-style actions and parallel loaders\n- Async page components\n- Rich Hono middleware ecosystem\n- 100% type-safe\n- Server built on Hono\n- Client built on HTMX\n- Built-in critical CSS inlining\n- Live browser refresh during development\n- And more...\n\n## Guiding Principles\n\n- No speed limits\n- Numerous off-ramps\n- Smooth, safe roads\n- Clear traffic signs\n\n## Simple usage\n\nBelow is an example of a simple Hwy page. You'll notice it looks a lot like Remix, and you're right! Hwy is heavily inspired by Remix, but it uses HTMX instead of React.\n\n```tsx\n// src/pages/user/$user_id.page.tsx\n\nimport type { DataFunctionArgs, PageProps } from 'hwy'\nimport { UserProfile, getUser } from './somewhere.js'\n\nexport async function loader({ params }: DataFunctionArgs) {\n  return await getUser(params.user_id)\n}\n\nexport default async function ({ loaderData }: PageProps<typeof loader>) {\n  return <UserProfile user={loaderData} />\n}\n```\n\nOr, if you prefer to fetch inside your components:\n\n```tsx\nexport default async function ({ params }: PageProps) {\n  const user = await getUser(params.user_id)\n\n  return <UserProfile user={user} />\n}\n```\n\n## Get Started\n\nIf you want to dive right in, just open a terminal and run `npx create-hwy@latest` and follow the prompts.\n\nIf you'd prefer to read more first, take a peek at [our docs](https://hwy.dev/docs).\n\n## Acknowledgements\n\nHwy's APIs are obviously inspired by Remix. If Remix didn't exist, Hwy likely wouldn't exist either. Hwy doesn't use any Remix code, but it still owes a big thanks to the Remix team (past and present) for their top-tier patterns design. If you're building something huge and important today, use Remix.\n\n## Disclaimer\n\nHwy is in beta! Act accordingly.\n\n## License\n\nMIT License\n\nCopyright (c) 2023 Samuel J. Cook\n","readmeFilename":"README.md","gitHead":"5fced6f135f3344b396791822a3b14a009c55ac4","types":"./dist/index.d.ts","_nodeVersion":"18.17.1","_npmVersion":"10.0.0","dist":{"integrity":"sha512-h/c8xzu9zNRViI5hRczbc6SzcSAwWFHvehtjMfnEkAc/FYCTnqi0UB8FbOjTlkUp0C4RS+i8XiXxkJ2PoqmUUQ==","shasum":"b5729734d64e21422daf9b1b35f49d14fd9dfe0d","tarball":"https://registry.npmjs.org/hwy/-/hwy-0.2.2-beta.2.tgz","fileCount":4,"unpackedSize":34429,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIAs7N3whbrMU8nyuszRuEVaZdBw7mWKdweOme9DUgqw5AiB/KDSx/KZz4YyMVzB3ind7IfRqKGNecb5PSyQ+rENXRA=="}]},"_npmUser":{"name":"sjc5","email":"email@samcook.cc"},"directories":{},"maintainers":[{"name":"sjc5","email":"email@samcook.cc"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/hwy_0.2.2-beta.2_1695948986832_0.7766550885333947"},"_hasShrinkwrap":false},"0.2.2-beta.3":{"name":"hwy","version":"0.2.2-beta.3","author":{"name":"Samuel J. Cook"},"license":"MIT","description":"Lightweight, flexible, and powerful alternative to NextJS, based on HTMX instead of React","type":"module","main":"dist/index.js","scripts":{"build":"rimraf dist && tsup-node index.ts --format esm --dts","dev":"rimraf dist && tsup-node index.ts --format esm --dts --watch --sourcemap","publish-beta":"npm publish --tag beta"},"devDependencies":{"@hono/node-server":"^1.2.0","@hwy-js/dev":"workspace:*","@types/node":"^20.6.3","hono":"^3.7.1","rimraf":"^5.0.1","tsup":"^7.2.0"},"repository":{"type":"git","url":"git+https://github.com/hwy-js/hwy.git","directory":"packages/core"},"homepage":"https://hwy.dev","bugs":{"url":"https://github.com/hwy-js/hwy/issues"},"keywords":["framework","typescript","htmx","hono","router","jsx","nextjs","remix"],"sideEffects":false,"_id":"hwy@0.2.2-beta.3","readme":"# Hwy\n\nHwy is a lightweight, flexible, and powerful alternative to NextJS, based on HTMX instead of React.\n\n## Quick Start\n\n```bash\nnpx create-hwy@latest\n```\n\n## What is Hwy?\n\nHwy is a lot like NextJS or Remix, but it uses **_HTMX_** instead of React on the frontend.\n\nHwy lets you write **_React-style JSX_** in **_nested, file-based routes_**, with **_Remix-style actions and parallel loaders_**.\n\nPage components are async, so you can even **_fetch data in JSX_** if you want to (just be careful with waterfalls).\n\nThe backend server is built on **_Hono_**, so you have access to a rich, growing ecosystem with lots of middleware and wonderful docs.\n\nHwy is **_100% server-rendered_**, but with the HTMX defaults Hwy sets up for you out of the box, your app still **_feels like an SPA_**.\n\nLinks and forms are automatically **_progressively enhanced_** thanks to HTMX's `hx-boost` feature. Just use normal anchor tags and traditional form attributes.\n\nBecause Hwy replaces the **_full page_** on transitions by default, everything stays **_simple_**. You don't have to return different components from different endpoints (unless you want to).\n\nAnd best of all, **_anything you can do with Hono or HTMX, you can do with Hwy_**.\n\n## Features\n\n- Server-rendered JSX / TSX\n- Nested, file-based routing\n- Remix-style actions and parallel loaders\n- Async page components\n- Rich Hono middleware ecosystem\n- 100% type-safe\n- Server built on Hono\n- Client built on HTMX\n- Built-in critical CSS inlining\n- Live browser refresh during development\n- And more...\n\n## Guiding Principles\n\n- No speed limits\n- Numerous off-ramps\n- Smooth, safe roads\n- Clear traffic signs\n\n## Simple usage\n\nBelow is an example of a simple Hwy page. You'll notice it looks a lot like Remix, and you're right! Hwy is heavily inspired by Remix, but it uses HTMX instead of React.\n\n```tsx\n// src/pages/user/$user_id.page.tsx\n\nimport type { DataFunctionArgs, PageProps } from 'hwy'\nimport { UserProfile, getUser } from './somewhere.js'\n\nexport async function loader({ params }: DataFunctionArgs) {\n  return await getUser(params.user_id)\n}\n\nexport default async function ({ loaderData }: PageProps<typeof loader>) {\n  return <UserProfile user={loaderData} />\n}\n```\n\nOr, if you prefer to fetch inside your components:\n\n```tsx\nexport default async function ({ params }: PageProps) {\n  const user = await getUser(params.user_id)\n\n  return <UserProfile user={user} />\n}\n```\n\n## Get Started\n\nIf you want to dive right in, just open a terminal and run `npx create-hwy@latest` and follow the prompts.\n\nIf you'd prefer to read more first, take a peek at [our docs](https://hwy.dev/docs).\n\n## Acknowledgements\n\nHwy's APIs are obviously inspired by Remix. If Remix didn't exist, Hwy likely wouldn't exist either. Hwy doesn't use any Remix code, but it still owes a big thanks to the Remix team (past and present) for their top-tier patterns design. If you're building something huge and important today, use Remix.\n\n## Disclaimer\n\nHwy is in beta! Act accordingly.\n\n## License\n\nMIT License\n\nCopyright (c) 2023 Samuel J. Cook\n","readmeFilename":"README.md","gitHead":"378e03ba9cd8d6d9061a7e03dfcad8b9857734b4","types":"./dist/index.d.ts","_nodeVersion":"18.17.1","_npmVersion":"10.0.0","dist":{"integrity":"sha512-uoFbz0OSQeJcHezFPzv9Uq9IdELNTU4EQQiQMAQaTY3kbP7cHqMXh/6wbPLTMFELCJw7h86LRqlZswRmNZX9Ig==","shasum":"b010f502412813987fdae803c14be50efe9ee3ba","tarball":"https://registry.npmjs.org/hwy/-/hwy-0.2.2-beta.3.tgz","fileCount":4,"unpackedSize":34652,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQC/ya94q9+L+v4oOTK9QInWJfHRsg2+oOjqh/j+oveRgAIhAMxfbdr0LPG/fNHfFte5Mwe+aSKTAPwDUwqNIx9vWB3z"}]},"_npmUser":{"name":"sjc5","email":"email@samcook.cc"},"directories":{},"maintainers":[{"name":"sjc5","email":"email@samcook.cc"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/hwy_0.2.2-beta.3_1695949527099_0.9590952274960423"},"_hasShrinkwrap":false},"0.2.2-beta.4":{"name":"hwy","version":"0.2.2-beta.4","author":{"name":"Samuel J. Cook"},"license":"MIT","description":"Lightweight, flexible, and powerful alternative to NextJS, based on HTMX instead of React","type":"module","main":"dist/index.js","scripts":{"build":"rimraf dist && tsup-node index.ts --format esm --dts","dev":"rimraf dist && tsup-node index.ts --format esm --dts --watch --sourcemap","publish-beta":"npm publish --tag beta"},"devDependencies":{"@hono/node-server":"^1.2.0","@hwy-js/dev":"workspace:*","@types/node":"^20.6.3","hono":"^3.7.1","rimraf":"^5.0.1","tsup":"^7.2.0"},"repository":{"type":"git","url":"git+https://github.com/hwy-js/hwy.git","directory":"packages/core"},"homepage":"https://hwy.dev","bugs":{"url":"https://github.com/hwy-js/hwy/issues"},"keywords":["framework","typescript","htmx","hono","router","jsx","nextjs","remix"],"sideEffects":false,"_id":"hwy@0.2.2-beta.4","readme":"# Hwy\n\nHwy is a lightweight, flexible, and powerful alternative to NextJS, based on HTMX instead of React.\n\n## Quick Start\n\n```bash\nnpx create-hwy@latest\n```\n\n## What is Hwy?\n\nHwy is a lot like NextJS or Remix, but it uses **_HTMX_** instead of React on the frontend.\n\nHwy lets you write **_React-style JSX_** in **_nested, file-based routes_**, with **_Remix-style actions and parallel loaders_**.\n\nPage components are async, so you can even **_fetch data in JSX_** if you want to (just be careful with waterfalls).\n\nThe backend server is built on **_Hono_**, so you have access to a rich, growing ecosystem with lots of middleware and wonderful docs.\n\nHwy is **_100% server-rendered_**, but with the HTMX defaults Hwy sets up for you out of the box, your app still **_feels like an SPA_**.\n\nLinks and forms are automatically **_progressively enhanced_** thanks to HTMX's `hx-boost` feature. Just use normal anchor tags and traditional form attributes.\n\nBecause Hwy replaces the **_full page_** on transitions by default, everything stays **_simple_**. You don't have to return different components from different endpoints (unless you want to).\n\nAnd best of all, **_anything you can do with Hono or HTMX, you can do with Hwy_**.\n\n## Features\n\n- Server-rendered JSX / TSX\n- Nested, file-based routing\n- Remix-style actions and parallel loaders\n- Async page components\n- Rich Hono middleware ecosystem\n- 100% type-safe\n- Server built on Hono\n- Client built on HTMX\n- Built-in critical CSS inlining\n- Live browser refresh during development\n- And more...\n\n## Guiding Principles\n\n- No speed limits\n- Numerous off-ramps\n- Smooth, safe roads\n- Clear traffic signs\n\n## Simple usage\n\nBelow is an example of a simple Hwy page. You'll notice it looks a lot like Remix, and you're right! Hwy is heavily inspired by Remix, but it uses HTMX instead of React.\n\n```tsx\n// src/pages/user/$user_id.page.tsx\n\nimport type { DataFunctionArgs, PageProps } from 'hwy'\nimport { UserProfile, getUser } from './somewhere.js'\n\nexport async function loader({ params }: DataFunctionArgs) {\n  return await getUser(params.user_id)\n}\n\nexport default async function ({ loaderData }: PageProps<typeof loader>) {\n  return <UserProfile user={loaderData} />\n}\n```\n\nOr, if you prefer to fetch inside your components:\n\n```tsx\nexport default async function ({ params }: PageProps) {\n  const user = await getUser(params.user_id)\n\n  return <UserProfile user={user} />\n}\n```\n\n## Get Started\n\nIf you want to dive right in, just open a terminal and run `npx create-hwy@latest` and follow the prompts.\n\nIf you'd prefer to read more first, take a peek at [our docs](https://hwy.dev/docs).\n\n## Acknowledgements\n\nHwy's APIs are obviously inspired by Remix. If Remix didn't exist, Hwy likely wouldn't exist either. Hwy doesn't use any Remix code, but it still owes a big thanks to the Remix team (past and present) for their top-tier patterns design. If you're building something huge and important today, use Remix.\n\n## Disclaimer\n\nHwy is in beta! Act accordingly.\n\n## License\n\nMIT License\n\nCopyright (c) 2023 Samuel J. Cook\n","readmeFilename":"README.md","gitHead":"7223e369af86b2e6b3a9df830c932c6031b790f6","types":"./dist/index.d.ts","_nodeVersion":"18.17.1","_npmVersion":"10.0.0","dist":{"integrity":"sha512-rJPYgkl6V85dIYkCgOA2eEJI0qK7ZcEznbAGdnSv5y5pAFJP54hAlNBgMABGdzYQv0HNKGT7T+Chd2hZpdw+LA==","shasum":"92ac05347ef114ef8c35e49e493d8680133385b9","tarball":"https://registry.npmjs.org/hwy/-/hwy-0.2.2-beta.4.tgz","fileCount":4,"unpackedSize":34583,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDz9IDk9uGqK/aa/S1RP3EK1NzbkBhGAq5+6MBVdJlyTwIgHvJqLtZW09QyxPV/7NhD7GhcWzpcRxrrpX8xyBEXuRM="}]},"_npmUser":{"name":"sjc5","email":"email@samcook.cc"},"directories":{},"maintainers":[{"name":"sjc5","email":"email@samcook.cc"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/hwy_0.2.2-beta.4_1695949812822_0.7431274916237482"},"_hasShrinkwrap":false},"0.2.2-5":{"name":"hwy","version":"0.2.2-5","author":{"name":"Samuel J. Cook"},"license":"MIT","description":"Lightweight, flexible, and powerful alternative to NextJS, based on HTMX instead of React","type":"module","main":"dist/index.js","scripts":{"build":"rimraf dist && tsup-node index.ts --format esm --dts","dev":"rimraf dist && tsup-node index.ts --format esm --dts --watch --sourcemap","publish-beta":"npm publish --tag beta"},"devDependencies":{"@hono/node-server":"^1.2.0","@hwy-js/dev":"workspace:*","@types/node":"^20.6.3","hono":"^3.7.1","rimraf":"^5.0.1","tsup":"^7.2.0"},"repository":{"type":"git","url":"git+https://github.com/hwy-js/hwy.git","directory":"packages/core"},"homepage":"https://hwy.dev","bugs":{"url":"https://github.com/hwy-js/hwy/issues"},"keywords":["framework","typescript","htmx","hono","router","jsx","nextjs","remix"],"sideEffects":false,"_id":"hwy@0.2.2-5","readme":"# Hwy\n\nHwy is a lightweight, flexible, and powerful alternative to NextJS, based on HTMX instead of React.\n\n## Quick Start\n\n```bash\nnpx create-hwy@latest\n```\n\n## What is Hwy?\n\nHwy is a lot like NextJS or Remix, but it uses **_HTMX_** instead of React on the frontend.\n\nHwy lets you write **_React-style JSX_** in **_nested, file-based routes_**, with **_Remix-style actions and parallel loaders_**.\n\nPage components are async, so you can even **_fetch data in JSX_** if you want to (just be careful with waterfalls).\n\nThe backend server is built on **_Hono_**, so you have access to a rich, growing ecosystem with lots of middleware and wonderful docs.\n\nHwy is **_100% server-rendered_**, but with the HTMX defaults Hwy sets up for you out of the box, your app still **_feels like an SPA_**.\n\nLinks and forms are automatically **_progressively enhanced_** thanks to HTMX's `hx-boost` feature. Just use normal anchor tags and traditional form attributes.\n\nBecause Hwy replaces the **_full page_** on transitions by default, everything stays **_simple_**. You don't have to return different components from different endpoints (unless you want to).\n\nAnd best of all, **_anything you can do with Hono or HTMX, you can do with Hwy_**.\n\n## Features\n\n- Server-rendered JSX / TSX\n- Nested, file-based routing\n- Remix-style actions and parallel loaders\n- Async page components\n- Rich Hono middleware ecosystem\n- 100% type-safe\n- Server built on Hono\n- Client built on HTMX\n- Built-in critical CSS inlining\n- Live browser refresh during development\n- And more...\n\n## Guiding Principles\n\n- No speed limits\n- Numerous off-ramps\n- Smooth, safe roads\n- Clear traffic signs\n\n## Simple usage\n\nBelow is an example of a simple Hwy page. You'll notice it looks a lot like Remix, and you're right! Hwy is heavily inspired by Remix, but it uses HTMX instead of React.\n\n```tsx\n// src/pages/user/$user_id.page.tsx\n\nimport type { DataFunctionArgs, PageProps } from 'hwy'\nimport { UserProfile, getUser } from './somewhere.js'\n\nexport async function loader({ params }: DataFunctionArgs) {\n  return await getUser(params.user_id)\n}\n\nexport default async function ({ loaderData }: PageProps<typeof loader>) {\n  return <UserProfile user={loaderData} />\n}\n```\n\nOr, if you prefer to fetch inside your components:\n\n```tsx\nexport default async function ({ params }: PageProps) {\n  const user = await getUser(params.user_id)\n\n  return <UserProfile user={user} />\n}\n```\n\n## Get Started\n\nIf you want to dive right in, just open a terminal and run `npx create-hwy@latest` and follow the prompts.\n\nIf you'd prefer to read more first, take a peek at [our docs](https://hwy.dev/docs).\n\n## Acknowledgements\n\nHwy's APIs are obviously inspired by Remix. If Remix didn't exist, Hwy likely wouldn't exist either. Hwy doesn't use any Remix code, but it still owes a big thanks to the Remix team (past and present) for their top-tier patterns design. If you're building something huge and important today, use Remix.\n\n## Disclaimer\n\nHwy is in beta! Act accordingly.\n\n## License\n\nMIT License\n\nCopyright (c) 2023 Samuel J. Cook\n","readmeFilename":"README.md","gitHead":"4ee7cce79e3a6199cf42d26fdc842342197a2568","types":"./dist/index.d.ts","_nodeVersion":"18.17.1","_npmVersion":"10.0.0","dist":{"integrity":"sha512-qBmn+GzXDAe8nDJI6V7UIW4rPNURVubPxzPqqUPRN8XJyCNnEtB1M48hS/d44jsnzdctHU8hu/IWblrJKO6uAA==","shasum":"695649ccf9ee7514a66c78c3c0cee6eccb1745b5","tarball":"https://registry.npmjs.org/hwy/-/hwy-0.2.2-5.tgz","fileCount":4,"unpackedSize":34578,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIAClF3iN6BVmTHJm2sARckuko+enab4qXTSFK6//x5zGAiEA8BhepIzEP7eZ+/NLqgzgfKhD6ECEqQ4/AySwvCQVD18="}]},"_npmUser":{"name":"sjc5","email":"email@samcook.cc"},"directories":{},"maintainers":[{"name":"sjc5","email":"email@samcook.cc"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/hwy_0.2.2-5_1695950683588_0.16467489646058175"},"_hasShrinkwrap":false},"0.2.2-beta.6":{"name":"hwy","version":"0.2.2-beta.6","author":{"name":"Samuel J. Cook"},"license":"MIT","description":"Lightweight, flexible, and powerful alternative to NextJS, based on HTMX instead of React","type":"module","main":"dist/index.js","scripts":{"build":"rimraf dist && tsup-node index.ts --format esm --dts","dev":"rimraf dist && tsup-node index.ts --format esm --dts --watch --sourcemap","publish-beta":"npm publish --tag beta"},"devDependencies":{"@hono/node-server":"^1.2.0","@hwy-js/dev":"workspace:*","@types/node":"^20.6.3","hono":"^3.7.1","rimraf":"^5.0.1","tsup":"^7.2.0"},"repository":{"type":"git","url":"git+https://github.com/hwy-js/hwy.git","directory":"packages/core"},"homepage":"https://hwy.dev","bugs":{"url":"https://github.com/hwy-js/hwy/issues"},"keywords":["framework","typescript","htmx","hono","router","jsx","nextjs","remix"],"sideEffects":false,"_id":"hwy@0.2.2-beta.6","readme":"# Hwy\n\nHwy is a lightweight, flexible, and powerful alternative to NextJS, based on HTMX instead of React.\n\n## Quick Start\n\n```bash\nnpx create-hwy@latest\n```\n\n## What is Hwy?\n\nHwy is a lot like NextJS or Remix, but it uses **_HTMX_** instead of React on the frontend.\n\nHwy lets you write **_React-style JSX_** in **_nested, file-based routes_**, with **_Remix-style actions and parallel loaders_**.\n\nPage components are async, so you can even **_fetch data in JSX_** if you want to (just be careful with waterfalls).\n\nThe backend server is built on **_Hono_**, so you have access to a rich, growing ecosystem with lots of middleware and wonderful docs.\n\nHwy is **_100% server-rendered_**, but with the HTMX defaults Hwy sets up for you out of the box, your app still **_feels like an SPA_**.\n\nLinks and forms are automatically **_progressively enhanced_** thanks to HTMX's `hx-boost` feature. Just use normal anchor tags and traditional form attributes.\n\nBecause Hwy replaces the **_full page_** on transitions by default, everything stays **_simple_**. You don't have to return different components from different endpoints (unless you want to).\n\nAnd best of all, **_anything you can do with Hono or HTMX, you can do with Hwy_**.\n\n## Features\n\n- Server-rendered JSX / TSX\n- Nested, file-based routing\n- Remix-style actions and parallel loaders\n- Async page components\n- Rich Hono middleware ecosystem\n- 100% type-safe\n- Server built on Hono\n- Client built on HTMX\n- Built-in critical CSS inlining\n- Live browser refresh during development\n- And more...\n\n## Guiding Principles\n\n- No speed limits\n- Numerous off-ramps\n- Smooth, safe roads\n- Clear traffic signs\n\n## Simple usage\n\nBelow is an example of a simple Hwy page. You'll notice it looks a lot like Remix, and you're right! Hwy is heavily inspired by Remix, but it uses HTMX instead of React.\n\n```tsx\n// src/pages/user/$user_id.page.tsx\n\nimport type { DataFunctionArgs, PageProps } from 'hwy'\nimport { UserProfile, getUser } from './somewhere.js'\n\nexport async function loader({ params }: DataFunctionArgs) {\n  return await getUser(params.user_id)\n}\n\nexport default async function ({ loaderData }: PageProps<typeof loader>) {\n  return <UserProfile user={loaderData} />\n}\n```\n\nOr, if you prefer to fetch inside your components:\n\n```tsx\nexport default async function ({ params }: PageProps) {\n  const user = await getUser(params.user_id)\n\n  return <UserProfile user={user} />\n}\n```\n\n## Get Started\n\nIf you want to dive right in, just open a terminal and run `npx create-hwy@latest` and follow the prompts.\n\nIf you'd prefer to read more first, take a peek at [our docs](https://hwy.dev/docs).\n\n## Acknowledgements\n\nHwy's APIs are obviously inspired by Remix. If Remix didn't exist, Hwy likely wouldn't exist either. Hwy doesn't use any Remix code, but it still owes a big thanks to the Remix team (past and present) for their top-tier patterns design. If you're building something huge and important today, use Remix.\n\n## Disclaimer\n\nHwy is in beta! Act accordingly.\n\n## License\n\nMIT License\n\nCopyright (c) 2023 Samuel J. Cook\n","readmeFilename":"README.md","gitHead":"4ee7cce79e3a6199cf42d26fdc842342197a2568","types":"./dist/index.d.ts","_nodeVersion":"18.17.1","_npmVersion":"10.0.0","dist":{"integrity":"sha512-n5HG3Bpzwt4eIP3h1b6Vl6+haaEcpkNhgAfFShJMdbz7kPv21ol2gS1XYt5VINRbbkJehoL/VkGauvlW/uSxFw==","shasum":"a23a7cb1e5ad0cb506f8e988e938259f67b93205","tarball":"https://registry.npmjs.org/hwy/-/hwy-0.2.2-beta.6.tgz","fileCount":4,"unpackedSize":34583,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCWwGd9RDnc4UqSiA9be4M4hpRRBdkXy3CKB+2IBLxIZAIga639nkMRHHcnKA8GioKuoceUrT6way7IXn6xzu+b+N4="}]},"_npmUser":{"name":"sjc5","email":"email@samcook.cc"},"directories":{},"maintainers":[{"name":"sjc5","email":"email@samcook.cc"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/hwy_0.2.2-beta.6_1695950846975_0.7154444131894999"},"_hasShrinkwrap":false},"0.2.2-beta.7":{"name":"hwy","version":"0.2.2-beta.7","author":{"name":"Samuel J. Cook"},"license":"MIT","description":"Lightweight, flexible, and powerful alternative to NextJS, based on HTMX instead of React","type":"module","main":"dist/index.js","scripts":{"build":"rimraf dist && tsup-node index.ts --format esm --dts","dev":"rimraf dist && tsup-node index.ts --format esm --dts --watch --sourcemap","publish-beta":"npm publish --tag beta"},"devDependencies":{"@hono/node-server":"^1.2.0","@hwy-js/dev":"workspace:*","@types/node":"^20.6.3","hono":"^3.7.1","rimraf":"^5.0.1","tsup":"^7.2.0"},"repository":{"type":"git","url":"git+https://github.com/hwy-js/hwy.git","directory":"packages/core"},"homepage":"https://hwy.dev","bugs":{"url":"https://github.com/hwy-js/hwy/issues"},"keywords":["framework","typescript","htmx","hono","router","jsx","nextjs","remix"],"sideEffects":false,"_id":"hwy@0.2.2-beta.7","readme":"# Hwy\n\nHwy is a lightweight, flexible, and powerful alternative to NextJS, based on HTMX instead of React.\n\n## Quick Start\n\n```bash\nnpx create-hwy@latest\n```\n\n## What is Hwy?\n\nHwy is a lot like NextJS or Remix, but it uses **_HTMX_** instead of React on the frontend.\n\nHwy lets you write **_React-style JSX_** in **_nested, file-based routes_**, with **_Remix-style actions and parallel loaders_**.\n\nPage components are async, so you can even **_fetch data in JSX_** if you want to (just be careful with waterfalls).\n\nThe backend server is built on **_Hono_**, so you have access to a rich, growing ecosystem with lots of middleware and wonderful docs.\n\nHwy is **_100% server-rendered_**, but with the HTMX defaults Hwy sets up for you out of the box, your app still **_feels like an SPA_**.\n\nLinks and forms are automatically **_progressively enhanced_** thanks to HTMX's `hx-boost` feature. Just use normal anchor tags and traditional form attributes.\n\nBecause Hwy replaces the **_full page_** on transitions by default, everything stays **_simple_**. You don't have to return different components from different endpoints (unless you want to).\n\nAnd best of all, **_anything you can do with Hono or HTMX, you can do with Hwy_**.\n\n## Features\n\n- Server-rendered JSX / TSX\n- Nested, file-based routing\n- Remix-style actions and parallel loaders\n- Async page components\n- Rich Hono middleware ecosystem\n- 100% type-safe\n- Server built on Hono\n- Client built on HTMX\n- Built-in critical CSS inlining\n- Live browser refresh during development\n- And more...\n\n## Guiding Principles\n\n- No speed limits\n- Numerous off-ramps\n- Smooth, safe roads\n- Clear traffic signs\n\n## Simple usage\n\nBelow is an example of a simple Hwy page. You'll notice it looks a lot like Remix, and you're right! Hwy is heavily inspired by Remix, but it uses HTMX instead of React.\n\n```tsx\n// src/pages/user/$user_id.page.tsx\n\nimport type { DataFunctionArgs, PageProps } from 'hwy'\nimport { UserProfile, getUser } from './somewhere.js'\n\nexport async function loader({ params }: DataFunctionArgs) {\n  return await getUser(params.user_id)\n}\n\nexport default async function ({ loaderData }: PageProps<typeof loader>) {\n  return <UserProfile user={loaderData} />\n}\n```\n\nOr, if you prefer to fetch inside your components:\n\n```tsx\nexport default async function ({ params }: PageProps) {\n  const user = await getUser(params.user_id)\n\n  return <UserProfile user={user} />\n}\n```\n\n## Get Started\n\nIf you want to dive right in, just open a terminal and run `npx create-hwy@latest` and follow the prompts.\n\nIf you'd prefer to read more first, take a peek at [our docs](https://hwy.dev/docs).\n\n## Acknowledgements\n\nHwy's APIs are obviously inspired by Remix. If Remix didn't exist, Hwy likely wouldn't exist either. Hwy doesn't use any Remix code, but it still owes a big thanks to the Remix team (past and present) for their top-tier patterns design. If you're building something huge and important today, use Remix.\n\n## Disclaimer\n\nHwy is in beta! Act accordingly.\n\n## License\n\nMIT License\n\nCopyright (c) 2023 Samuel J. Cook\n","readmeFilename":"README.md","gitHead":"3a7d39754081a611fb46c1726c788657aa435531","types":"./dist/index.d.ts","_nodeVersion":"18.17.1","_npmVersion":"10.0.0","dist":{"integrity":"sha512-fmTloJSfV6jxJw/yVEuD2u24onPegeuZzLDCsz60FkJAmqnRB4NINh3u3wFmLnJu8KfVI7iiaCdbsW0mXVHSLw==","shasum":"f77a0779f26b8fb367f129e943c11dca9a41e633","tarball":"https://registry.npmjs.org/hwy/-/hwy-0.2.2-beta.7.tgz","fileCount":4,"unpackedSize":34744,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQD7eIdBZh080euDCcGD0OsPOJX+pQzMVOk2eONGmKg1DQIhAMcmA7q7QIHqzPPfoEYPjoZKtCsar2sB3u/HsNIydZvM"}]},"_npmUser":{"name":"sjc5","email":"email@samcook.cc"},"directories":{},"maintainers":[{"name":"sjc5","email":"email@samcook.cc"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/hwy_0.2.2-beta.7_1696042609789_0.5007435275217187"},"_hasShrinkwrap":false},"0.2.2-beta.8":{"name":"hwy","version":"0.2.2-beta.8","author":{"name":"Samuel J. Cook"},"license":"MIT","description":"Lightweight, flexible, and powerful alternative to NextJS, based on HTMX instead of React","type":"module","main":"dist/index.js","scripts":{"build":"rimraf dist && tsup-node index.ts --format esm --dts","dev":"rimraf dist && tsup-node index.ts --format esm --dts --watch --sourcemap","publish-beta":"npm publish --tag beta"},"devDependencies":{"@hono/node-server":"^1.2.0","@hwy-js/dev":"workspace:*","@types/node":"^20.6.3","hono":"^3.7.1","rimraf":"^5.0.1","tsup":"^7.2.0"},"repository":{"type":"git","url":"git+https://github.com/hwy-js/hwy.git","directory":"packages/core"},"homepage":"https://hwy.dev","bugs":{"url":"https://github.com/hwy-js/hwy/issues"},"keywords":["framework","typescript","htmx","hono","router","jsx","nextjs","remix"],"sideEffects":false,"_id":"hwy@0.2.2-beta.8","readme":"# Hwy\n\nHwy is a lightweight, flexible, and powerful alternative to NextJS, based on HTMX instead of React.\n\n## Quick Start\n\n```bash\nnpx create-hwy@latest\n```\n\n## What is Hwy?\n\nHwy is a lot like NextJS or Remix, but it uses **_HTMX_** instead of React on the frontend.\n\nHwy lets you write **_React-style JSX_** in **_nested, file-based routes_**, with **_Remix-style actions and parallel loaders_**.\n\nPage components are async, so you can even **_fetch data in JSX_** if you want to (just be careful with waterfalls).\n\nThe backend server is built on **_Hono_**, so you have access to a rich, growing ecosystem with lots of middleware and wonderful docs.\n\nHwy is **_100% server-rendered_**, but with the HTMX defaults Hwy sets up for you out of the box, your app still **_feels like an SPA_**.\n\nLinks and forms are automatically **_progressively enhanced_** thanks to HTMX's `hx-boost` feature. Just use normal anchor tags and traditional form attributes.\n\nBecause Hwy replaces the **_full page_** on transitions by default, everything stays **_simple_**. You don't have to return different components from different endpoints (unless you want to).\n\nAnd best of all, **_anything you can do with Hono or HTMX, you can do with Hwy_**.\n\n## Features\n\n- Server-rendered JSX / TSX\n- Nested, file-based routing\n- Remix-style actions and parallel loaders\n- Async page components\n- Rich Hono middleware ecosystem\n- 100% type-safe\n- Server built on Hono\n- Client built on HTMX\n- Built-in critical CSS inlining\n- Live browser refresh during development\n- And more...\n\n## Guiding Principles\n\n- No speed limits\n- Numerous off-ramps\n- Smooth, safe roads\n- Clear traffic signs\n\n## Simple usage\n\nBelow is an example of a simple Hwy page. You'll notice it looks a lot like Remix, and you're right! Hwy is heavily inspired by Remix, but it uses HTMX instead of React.\n\n```tsx\n// src/pages/user/$user_id.page.tsx\n\nimport type { DataFunctionArgs, PageProps } from 'hwy'\nimport { UserProfile, getUser } from './somewhere.js'\n\nexport async function loader({ params }: DataFunctionArgs) {\n  return await getUser(params.user_id)\n}\n\nexport default async function ({ loaderData }: PageProps<typeof loader>) {\n  return <UserProfile user={loaderData} />\n}\n```\n\nOr, if you prefer to fetch inside your components:\n\n```tsx\nexport default async function ({ params }: PageProps) {\n  const user = await getUser(params.user_id)\n\n  return <UserProfile user={user} />\n}\n```\n\n## Get Started\n\nIf you want to dive right in, just open a terminal and run `npx create-hwy@latest` and follow the prompts.\n\nIf you'd prefer to read more first, take a peek at [our docs](https://hwy.dev/docs).\n\n## Acknowledgements\n\nHwy's APIs are obviously inspired by Remix. If Remix didn't exist, Hwy likely wouldn't exist either. Hwy doesn't use any Remix code, but it still owes a big thanks to the Remix team (past and present) for their top-tier patterns design. If you're building something huge and important today, use Remix.\n\n## Disclaimer\n\nHwy is in beta! Act accordingly.\n\n## License\n\nMIT License\n\nCopyright (c) 2023 Samuel J. Cook\n","readmeFilename":"README.md","gitHead":"3a7d39754081a611fb46c1726c788657aa435531","types":"./dist/index.d.ts","_nodeVersion":"18.17.1","_npmVersion":"10.0.0","dist":{"integrity":"sha512-QS/NRxfwvZ103JOMVFMScalbrvD8v1/EnDUcqRSirPUDAv7KTjoq4gZku7lvFIkI7PKVe2ekbZ6rduwhGXgu4Q==","shasum":"98e5aec6500eb486d1413c9d726a2ed424bcffcd","tarball":"https://registry.npmjs.org/hwy/-/hwy-0.2.2-beta.8.tgz","fileCount":4,"unpackedSize":34847,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIF0swvh68+kFxxFv7GFmBLOAhtaUmYGJr+qpTAqA7MyRAiEAmMQapKlNXunBiP02v2tfvi8lOGFURyXDDVyfu4lwldo="}]},"_npmUser":{"name":"sjc5","email":"email@samcook.cc"},"directories":{},"maintainers":[{"name":"sjc5","email":"email@samcook.cc"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/hwy_0.2.2-beta.8_1696043879674_0.2763518753379486"},"_hasShrinkwrap":false},"0.2.2-beta.9":{"name":"hwy","version":"0.2.2-beta.9","author":{"name":"Samuel J. Cook"},"license":"MIT","description":"Lightweight, flexible, and powerful alternative to NextJS, based on HTMX instead of React","type":"module","main":"dist/index.js","scripts":{"build":"rimraf dist && tsup-node index.ts --format esm --dts","dev":"rimraf dist && tsup-node index.ts --format esm --dts --watch --sourcemap","publish-beta":"npm publish --tag beta"},"devDependencies":{"@hono/node-server":"^1.2.0","@hwy-js/dev":"workspace:*","@types/node":"^20.6.3","hono":"^3.7.1","rimraf":"^5.0.1","tsup":"^7.2.0"},"repository":{"type":"git","url":"git+https://github.com/hwy-js/hwy.git","directory":"packages/core"},"homepage":"https://hwy.dev","bugs":{"url":"https://github.com/hwy-js/hwy/issues"},"keywords":["framework","typescript","htmx","hono","router","jsx","nextjs","remix"],"sideEffects":false,"_id":"hwy@0.2.2-beta.9","readme":"# Hwy\n\nHwy is a lightweight, flexible, and powerful alternative to NextJS, based on HTMX instead of React.\n\n## Quick Start\n\n```bash\nnpx create-hwy@latest\n```\n\n## What is Hwy?\n\nHwy is a lot like NextJS or Remix, but it uses **_HTMX_** instead of React on the frontend.\n\nHwy lets you write **_React-style JSX_** in **_nested, file-based routes_**, with **_Remix-style actions and parallel loaders_**.\n\nPage components are async, so you can even **_fetch data in JSX_** if you want to (just be careful with waterfalls).\n\nThe backend server is built on **_Hono_**, so you have access to a rich, growing ecosystem with lots of middleware and wonderful docs.\n\nHwy is **_100% server-rendered_**, but with the HTMX defaults Hwy sets up for you out of the box, your app still **_feels like an SPA_**.\n\nLinks and forms are automatically **_progressively enhanced_** thanks to HTMX's `hx-boost` feature. Just use normal anchor tags and traditional form attributes.\n\nBecause Hwy replaces the **_full page_** on transitions by default, everything stays **_simple_**. You don't have to return different components from different endpoints (unless you want to).\n\nAnd best of all, **_anything you can do with Hono or HTMX, you can do with Hwy_**.\n\n## Features\n\n- Server-rendered JSX / TSX\n- Nested, file-based routing\n- Remix-style actions and parallel loaders\n- Async page components\n- Rich Hono middleware ecosystem\n- 100% type-safe\n- Server built on Hono\n- Client built on HTMX\n- Built-in critical CSS inlining\n- Live browser refresh during development\n- And more...\n\n## Guiding Principles\n\n- No speed limits\n- Numerous off-ramps\n- Smooth, safe roads\n- Clear traffic signs\n\n## Simple usage\n\nBelow is an example of a simple Hwy page. You'll notice it looks a lot like Remix, and you're right! Hwy is heavily inspired by Remix, but it uses HTMX instead of React.\n\n```tsx\n// src/pages/user/$user_id.page.tsx\n\nimport type { DataFunctionArgs, PageProps } from 'hwy'\nimport { UserProfile, getUser } from './somewhere.js'\n\nexport async function loader({ params }: DataFunctionArgs) {\n  return await getUser(params.user_id)\n}\n\nexport default async function ({ loaderData }: PageProps<typeof loader>) {\n  return <UserProfile user={loaderData} />\n}\n```\n\nOr, if you prefer to fetch inside your components:\n\n```tsx\nexport default async function ({ params }: PageProps) {\n  const user = await getUser(params.user_id)\n\n  return <UserProfile user={user} />\n}\n```\n\n## Get Started\n\nIf you want to dive right in, just open a terminal and run `npx create-hwy@latest` and follow the prompts.\n\nIf you'd prefer to read more first, take a peek at [our docs](https://hwy.dev/docs).\n\n## Acknowledgements\n\nHwy's APIs are obviously inspired by Remix. If Remix didn't exist, Hwy likely wouldn't exist either. Hwy doesn't use any Remix code, but it still owes a big thanks to the Remix team (past and present) for their top-tier patterns design. If you're building something huge and important today, use Remix.\n\n## Disclaimer\n\nHwy is in beta! Act accordingly.\n\n## License\n\nMIT License\n\nCopyright (c) 2023 Samuel J. Cook\n","readmeFilename":"README.md","gitHead":"3a7d39754081a611fb46c1726c788657aa435531","types":"./dist/index.d.ts","_nodeVersion":"18.17.1","_npmVersion":"10.0.0","dist":{"integrity":"sha512-0p+XyIHj8RI2K93oiWDZegNAiB9y+Ehh7GPT4AZ6yzsKP2Of2/lipSmjAnkAwRkELi/GRMi01KWa3vWE0/NcXw==","shasum":"6aa9dd5933429862909caf39f8c8c8a095108542","tarball":"https://registry.npmjs.org/hwy/-/hwy-0.2.2-beta.9.tgz","fileCount":4,"unpackedSize":34943,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIE//LP+av6p02zJl4ZP8fJlKwdO+rRb7sWsDMVJJnPG4AiEA9UoF2qvT3ITPeqZr+3yoxwUGvkHAqcrDiwz3+U2tCSA="}]},"_npmUser":{"name":"sjc5","email":"email@samcook.cc"},"directories":{},"maintainers":[{"name":"sjc5","email":"email@samcook.cc"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/hwy_0.2.2-beta.9_1696044175839_0.8669373020709528"},"_hasShrinkwrap":false},"0.2.2-beta.10":{"name":"hwy","version":"0.2.2-beta.10","author":{"name":"Samuel J. Cook"},"license":"MIT","description":"Lightweight, flexible, and powerful alternative to NextJS, based on HTMX instead of React","type":"module","main":"dist/index.js","scripts":{"build":"rimraf dist && tsup-node index.ts --format esm --dts","dev":"rimraf dist && tsup-node index.ts --format esm --dts --watch --sourcemap","publish-beta":"npm publish --tag beta"},"devDependencies":{"@hono/node-server":"^1.2.0","@hwy-js/dev":"workspace:*","@types/node":"^20.6.3","hono":"^3.7.1","rimraf":"^5.0.1","tsup":"^7.2.0"},"repository":{"type":"git","url":"git+https://github.com/hwy-js/hwy.git","directory":"packages/core"},"homepage":"https://hwy.dev","bugs":{"url":"https://github.com/hwy-js/hwy/issues"},"keywords":["framework","typescript","htmx","hono","router","jsx","nextjs","remix"],"sideEffects":false,"_id":"hwy@0.2.2-beta.10","readme":"# Hwy\n\nHwy is a lightweight, flexible, and powerful alternative to NextJS, based on HTMX instead of React.\n\n## Quick Start\n\n```bash\nnpx create-hwy@latest\n```\n\n## What is Hwy?\n\nHwy is a lot like NextJS or Remix, but it uses **_HTMX_** instead of React on the frontend.\n\nHwy lets you write **_React-style JSX_** in **_nested, file-based routes_**, with **_Remix-style actions and parallel loaders_**.\n\nPage components are async, so you can even **_fetch data in JSX_** if you want to (just be careful with waterfalls).\n\nThe backend server is built on **_Hono_**, so you have access to a rich, growing ecosystem with lots of middleware and wonderful docs.\n\nHwy is **_100% server-rendered_**, but with the HTMX defaults Hwy sets up for you out of the box, your app still **_feels like an SPA_**.\n\nLinks and forms are automatically **_progressively enhanced_** thanks to HTMX's `hx-boost` feature. Just use normal anchor tags and traditional form attributes.\n\nBecause Hwy replaces the **_full page_** on transitions by default, everything stays **_simple_**. You don't have to return different components from different endpoints (unless you want to).\n\nAnd best of all, **_anything you can do with Hono or HTMX, you can do with Hwy_**.\n\n## Features\n\n- Server-rendered JSX / TSX\n- Nested, file-based routing\n- Remix-style actions and parallel loaders\n- Async page components\n- Rich Hono middleware ecosystem\n- 100% type-safe\n- Server built on Hono\n- Client built on HTMX\n- Built-in critical CSS inlining\n- Live browser refresh during development\n- And more...\n\n## Guiding Principles\n\n- No speed limits\n- Numerous off-ramps\n- Smooth, safe roads\n- Clear traffic signs\n\n## Simple usage\n\nBelow is an example of a simple Hwy page. You'll notice it looks a lot like Remix, and you're right! Hwy is heavily inspired by Remix, but it uses HTMX instead of React.\n\n```tsx\n// src/pages/user/$user_id.page.tsx\n\nimport type { DataFunctionArgs, PageProps } from 'hwy'\nimport { UserProfile, getUser } from './somewhere.js'\n\nexport async function loader({ params }: DataFunctionArgs) {\n  return await getUser(params.user_id)\n}\n\nexport default async function ({ loaderData }: PageProps<typeof loader>) {\n  return <UserProfile user={loaderData} />\n}\n```\n\nOr, if you prefer to fetch inside your components:\n\n```tsx\nexport default async function ({ params }: PageProps) {\n  const user = await getUser(params.user_id)\n\n  return <UserProfile user={user} />\n}\n```\n\n## Get Started\n\nIf you want to dive right in, just open a terminal and run `npx create-hwy@latest` and follow the prompts.\n\nIf you'd prefer to read more first, take a peek at [our docs](https://hwy.dev/docs).\n\n## Acknowledgements\n\nHwy's APIs are obviously inspired by Remix. If Remix didn't exist, Hwy likely wouldn't exist either. Hwy doesn't use any Remix code, but it still owes a big thanks to the Remix team (past and present) for their top-tier patterns design. If you're building something huge and important today, use Remix.\n\n## Disclaimer\n\nHwy is in beta! Act accordingly.\n\n## License\n\nMIT License\n\nCopyright (c) 2023 Samuel J. Cook\n","readmeFilename":"README.md","gitHead":"3a7d39754081a611fb46c1726c788657aa435531","types":"./dist/index.d.ts","_nodeVersion":"18.17.1","_npmVersion":"10.0.0","dist":{"integrity":"sha512-sYlqQ+jJchkSZjiAwOgrl2YzNSsB9XTiMMCC6s1tXqQ73qfGk4M2wrT2/l8pjamK2A4CSZyT+DiucYzPDpE5ag==","shasum":"934bd3573a0907b154cca11d973645cb8afa0793","tarball":"https://registry.npmjs.org/hwy/-/hwy-0.2.2-beta.10.tgz","fileCount":4,"unpackedSize":34971,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCMCEYK9CkC0PNr8D8MPw9LaUs9k0ulV8hgOrWtk/hOxAIhAPBuV3fF2hP3rbDIGjmaM8ZHx0Qz4SVTCBvoDdRVAHGe"}]},"_npmUser":{"name":"sjc5","email":"email@samcook.cc"},"directories":{},"maintainers":[{"name":"sjc5","email":"email@samcook.cc"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/hwy_0.2.2-beta.10_1696044392252_0.3367468692005533"},"_hasShrinkwrap":false},"0.2.2-beta.11":{"name":"hwy","version":"0.2.2-beta.11","author":{"name":"Samuel J. Cook"},"license":"MIT","description":"Lightweight, flexible, and powerful alternative to NextJS, based on HTMX instead of React","type":"module","main":"dist/index.js","scripts":{"build":"rimraf dist && tsup-node index.ts --format esm --dts","dev":"rimraf dist && tsup-node index.ts --format esm --dts --watch --sourcemap","publish-beta":"npm publish --tag beta"},"devDependencies":{"@hono/node-server":"^1.2.0","@hwy-js/dev":"workspace:*","@types/node":"^20.6.3","hono":"^3.7.1","rimraf":"^5.0.1","tsup":"^7.2.0"},"repository":{"type":"git","url":"git+https://github.com/hwy-js/hwy.git","directory":"packages/core"},"homepage":"https://hwy.dev","bugs":{"url":"https://github.com/hwy-js/hwy/issues"},"keywords":["framework","typescript","htmx","hono","router","jsx","nextjs","remix"],"sideEffects":false,"_id":"hwy@0.2.2-beta.11","readme":"# Hwy\n\nHwy is a lightweight, flexible, and powerful alternative to NextJS, based on HTMX instead of React.\n\n## Quick Start\n\n```bash\nnpx create-hwy@latest\n```\n\n## What is Hwy?\n\nHwy is a lot like NextJS or Remix, but it uses **_HTMX_** instead of React on the frontend.\n\nHwy lets you write **_React-style JSX_** in **_nested, file-based routes_**, with **_Remix-style actions and parallel loaders_**.\n\nPage components are async, so you can even **_fetch data in JSX_** if you want to (just be careful with waterfalls).\n\nThe backend server is built on **_Hono_**, so you have access to a rich, growing ecosystem with lots of middleware and wonderful docs.\n\nHwy is **_100% server-rendered_**, but with the HTMX defaults Hwy sets up for you out of the box, your app still **_feels like an SPA_**.\n\nLinks and forms are automatically **_progressively enhanced_** thanks to HTMX's `hx-boost` feature. Just use normal anchor tags and traditional form attributes.\n\nBecause Hwy replaces the **_full page_** on transitions by default, everything stays **_simple_**. You don't have to return different components from different endpoints (unless you want to).\n\nAnd best of all, **_anything you can do with Hono or HTMX, you can do with Hwy_**.\n\n## Features\n\n- Server-rendered JSX / TSX\n- Nested, file-based routing\n- Remix-style actions and parallel loaders\n- Async page components\n- Rich Hono middleware ecosystem\n- 100% type-safe\n- Server built on Hono\n- Client built on HTMX\n- Built-in critical CSS inlining\n- Live browser refresh during development\n- And more...\n\n## Guiding Principles\n\n- No speed limits\n- Numerous off-ramps\n- Smooth, safe roads\n- Clear traffic signs\n\n## Simple usage\n\nBelow is an example of a simple Hwy page. You'll notice it looks a lot like Remix, and you're right! Hwy is heavily inspired by Remix, but it uses HTMX instead of React.\n\n```tsx\n// src/pages/user/$user_id.page.tsx\n\nimport type { DataFunctionArgs, PageProps } from 'hwy'\nimport { UserProfile, getUser } from './somewhere.js'\n\nexport async function loader({ params }: DataFunctionArgs) {\n  return await getUser(params.user_id)\n}\n\nexport default async function ({ loaderData }: PageProps<typeof loader>) {\n  return <UserProfile user={loaderData} />\n}\n```\n\nOr, if you prefer to fetch inside your components:\n\n```tsx\nexport default async function ({ params }: PageProps) {\n  const user = await getUser(params.user_id)\n\n  return <UserProfile user={user} />\n}\n```\n\n## Get Started\n\nIf you want to dive right in, just open a terminal and run `npx create-hwy@latest` and follow the prompts.\n\nIf you'd prefer to read more first, take a peek at [our docs](https://hwy.dev/docs).\n\n## Acknowledgements\n\nHwy's APIs are obviously inspired by Remix. If Remix didn't exist, Hwy likely wouldn't exist either. Hwy doesn't use any Remix code, but it still owes a big thanks to the Remix team (past and present) for their top-tier patterns design. If you're building something huge and important today, use Remix.\n\n## Disclaimer\n\nHwy is in beta! Act accordingly.\n\n## License\n\nMIT License\n\nCopyright (c) 2023 Samuel J. Cook\n","readmeFilename":"README.md","gitHead":"3a7d39754081a611fb46c1726c788657aa435531","types":"./dist/index.d.ts","_nodeVersion":"18.17.1","_npmVersion":"10.0.0","dist":{"integrity":"sha512-HoqpKd2t7phfNzNkRoR9kPOCBTbMkfpKUWM6IPcQajcUegP/b1aEbFfkm9qjh05JkRaL0Cyv34h67Jra+qKGBA==","shasum":"cca845d56dc966a5df3d0a4e135d49b71d4b1fde","tarball":"https://registry.npmjs.org/hwy/-/hwy-0.2.2-beta.11.tgz","fileCount":4,"unpackedSize":35022,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQD5yn5XyZhdoQfQ72Jd56y+FlDbAVTI1uZDMhcrpt5gDwIgN/QK2ayGYrKkuOsqqELpU+q2N5of4zE0UMbUOmP57wA="}]},"_npmUser":{"name":"sjc5","email":"email@samcook.cc"},"directories":{},"maintainers":[{"name":"sjc5","email":"email@samcook.cc"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/hwy_0.2.2-beta.11_1696045083321_0.12199483072797901"},"_hasShrinkwrap":false},"0.2.2-beta.12":{"name":"hwy","version":"0.2.2-beta.12","author":{"name":"Samuel J. Cook"},"license":"MIT","description":"Lightweight, flexible, and powerful alternative to NextJS, based on HTMX instead of React","type":"module","main":"dist/index.js","scripts":{"build":"rimraf dist && tsup-node index.ts --format esm --dts","dev":"rimraf dist && tsup-node index.ts --format esm --dts --watch --sourcemap","publish-beta":"npm publish --tag beta"},"devDependencies":{"@hono/node-server":"^1.2.0","@hwy-js/dev":"workspace:*","@types/node":"^20.6.3","hono":"^3.7.1","rimraf":"^5.0.1","tsup":"^7.2.0"},"repository":{"type":"git","url":"git+https://github.com/hwy-js/hwy.git","directory":"packages/core"},"homepage":"https://hwy.dev","bugs":{"url":"https://github.com/hwy-js/hwy/issues"},"keywords":["framework","typescript","htmx","hono","router","jsx","nextjs","remix"],"sideEffects":false,"_id":"hwy@0.2.2-beta.12","readme":"# Hwy\n\nHwy is a lightweight, flexible, and powerful alternative to NextJS, based on HTMX instead of React.\n\n## Quick Start\n\n```bash\nnpx create-hwy@latest\n```\n\n## What is Hwy?\n\nHwy is a lot like NextJS or Remix, but it uses **_HTMX_** instead of React on the frontend.\n\nHwy lets you write **_React-style JSX_** in **_nested, file-based routes_**, with **_Remix-style actions and parallel loaders_**.\n\nPage components are async, so you can even **_fetch data in JSX_** if you want to (just be careful with waterfalls).\n\nThe backend server is built on **_Hono_**, so you have access to a rich, growing ecosystem with lots of middleware and wonderful docs.\n\nHwy is **_100% server-rendered_**, but with the HTMX defaults Hwy sets up for you out of the box, your app still **_feels like an SPA_**.\n\nLinks and forms are automatically **_progressively enhanced_** thanks to HTMX's `hx-boost` feature. Just use normal anchor tags and traditional form attributes.\n\nBecause Hwy replaces the **_full page_** on transitions by default, everything stays **_simple_**. You don't have to return different components from different endpoints (unless you want to).\n\nAnd best of all, **_anything you can do with Hono or HTMX, you can do with Hwy_**.\n\n## Features\n\n- Server-rendered JSX / TSX\n- Nested, file-based routing\n- Remix-style actions and parallel loaders\n- Async page components\n- Rich Hono middleware ecosystem\n- 100% type-safe\n- Server built on Hono\n- Client built on HTMX\n- Built-in critical CSS inlining\n- Live browser refresh during development\n- And more...\n\n## Guiding Principles\n\n- No speed limits\n- Numerous off-ramps\n- Smooth, safe roads\n- Clear traffic signs\n\n## Simple usage\n\nBelow is an example of a simple Hwy page. You'll notice it looks a lot like Remix, and you're right! Hwy is heavily inspired by Remix, but it uses HTMX instead of React.\n\n```tsx\n// src/pages/user/$user_id.page.tsx\n\nimport type { DataFunctionArgs, PageProps } from 'hwy'\nimport { UserProfile, getUser } from './somewhere.js'\n\nexport async function loader({ params }: DataFunctionArgs) {\n  return await getUser(params.user_id)\n}\n\nexport default async function ({ loaderData }: PageProps<typeof loader>) {\n  return <UserProfile user={loaderData} />\n}\n```\n\nOr, if you prefer to fetch inside your components:\n\n```tsx\nexport default async function ({ params }: PageProps) {\n  const user = await getUser(params.user_id)\n\n  return <UserProfile user={user} />\n}\n```\n\n## Get Started\n\nIf you want to dive right in, just open a terminal and run `npx create-hwy@latest` and follow the prompts.\n\nIf you'd prefer to read more first, take a peek at [our docs](https://hwy.dev/docs).\n\n## Acknowledgements\n\nHwy's APIs are obviously inspired by Remix. If Remix didn't exist, Hwy likely wouldn't exist either. Hwy doesn't use any Remix code, but it still owes a big thanks to the Remix team (past and present) for their top-tier patterns design. If you're building something huge and important today, use Remix.\n\n## Disclaimer\n\nHwy is in beta! Act accordingly.\n\n## License\n\nMIT License\n\nCopyright (c) 2023 Samuel J. Cook\n","readmeFilename":"README.md","gitHead":"3a7d39754081a611fb46c1726c788657aa435531","types":"./dist/index.d.ts","_nodeVersion":"18.17.1","_npmVersion":"10.0.0","dist":{"integrity":"sha512-HAa1IWI1Wrc93UxbCVWBG+n/1oRf/eZHk8XUimhRssIhFyTFjVo1j1PJXE7Il5QVMrA2QwxKa4dfiOxNZtBQRA==","shasum":"c8ce8680886d35e8267dcbe9fd1b59f97aff7092","tarball":"https://registry.npmjs.org/hwy/-/hwy-0.2.2-beta.12.tgz","fileCount":4,"unpackedSize":35029,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIETUcOKqs6L7S0MS+EctO5WvZExaiS5o4q+N7LnAWqBMAiB8Av2ySvUmj5GXYpPVvhJJ4G03SKurb8sgH7RLp6BGww=="}]},"_npmUser":{"name":"sjc5","email":"email@samcook.cc"},"directories":{},"maintainers":[{"name":"sjc5","email":"email@samcook.cc"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/hwy_0.2.2-beta.12_1696045503274_0.8733235732637417"},"_hasShrinkwrap":false},"0.2.2-beta.13":{"name":"hwy","version":"0.2.2-beta.13","author":{"name":"Samuel J. Cook"},"license":"MIT","description":"Lightweight, flexible, and powerful alternative to NextJS, based on HTMX instead of React","type":"module","main":"dist/index.js","scripts":{"build":"rimraf dist && tsup-node index.ts --format esm --dts","dev":"rimraf dist && tsup-node index.ts --format esm --dts --watch --sourcemap","publish-beta":"npm publish --tag beta"},"devDependencies":{"@hono/node-server":"^1.2.0","@hwy-js/dev":"workspace:*","@types/node":"^20.6.3","hono":"^3.7.1","rimraf":"^5.0.1","tsup":"^7.2.0"},"repository":{"type":"git","url":"git+https://github.com/hwy-js/hwy.git","directory":"packages/core"},"homepage":"https://hwy.dev","bugs":{"url":"https://github.com/hwy-js/hwy/issues"},"keywords":["framework","typescript","htmx","hono","router","jsx","nextjs","remix"],"sideEffects":false,"_id":"hwy@0.2.2-beta.13","readme":"# Hwy\n\nHwy is a lightweight, flexible, and powerful alternative to NextJS, based on HTMX instead of React.\n\n## Quick Start\n\n```bash\nnpx create-hwy@latest\n```\n\n## What is Hwy?\n\nHwy is a lot like NextJS or Remix, but it uses **_HTMX_** instead of React on the frontend.\n\nHwy lets you write **_React-style JSX_** in **_nested, file-based routes_**, with **_Remix-style actions and parallel loaders_**.\n\nPage components are async, so you can even **_fetch data in JSX_** if you want to (just be careful with waterfalls).\n\nThe backend server is built on **_Hono_**, so you have access to a rich, growing ecosystem with lots of middleware and wonderful docs.\n\nHwy is **_100% server-rendered_**, but with the HTMX defaults Hwy sets up for you out of the box, your app still **_feels like an SPA_**.\n\nLinks and forms are automatically **_progressively enhanced_** thanks to HTMX's `hx-boost` feature. Just use normal anchor tags and traditional form attributes.\n\nBecause Hwy replaces the **_full page_** on transitions by default, everything stays **_simple_**. You don't have to return different components from different endpoints (unless you want to).\n\nAnd best of all, **_anything you can do with Hono or HTMX, you can do with Hwy_**.\n\n## Features\n\n- Server-rendered JSX / TSX\n- Nested, file-based routing\n- Remix-style actions and parallel loaders\n- Async page components\n- Rich Hono middleware ecosystem\n- 100% type-safe\n- Server built on Hono\n- Client built on HTMX\n- Built-in critical CSS inlining\n- Live browser refresh during development\n- And more...\n\n## Guiding Principles\n\n- No speed limits\n- Numerous off-ramps\n- Smooth, safe roads\n- Clear traffic signs\n\n## Simple usage\n\nBelow is an example of a simple Hwy page. You'll notice it looks a lot like Remix, and you're right! Hwy is heavily inspired by Remix, but it uses HTMX instead of React.\n\n```tsx\n// src/pages/user/$user_id.page.tsx\n\nimport type { DataFunctionArgs, PageProps } from \"hwy\";\nimport { UserProfile, getUser } from \"./somewhere.js\";\n\nexport async function loader({ params }: DataFunctionArgs) {\n  return await getUser(params.user_id);\n}\n\nexport default async function ({ loaderData }: PageProps<typeof loader>) {\n  return <UserProfile user={loaderData} />;\n}\n```\n\nOr, if you prefer to fetch inside your components:\n\n```tsx\nexport default async function ({ params }: PageProps) {\n  const user = await getUser(params.user_id);\n\n  return <UserProfile user={user} />;\n}\n```\n\n## Get Started\n\nIf you want to dive right in, just open a terminal and run `npx create-hwy@latest` and follow the prompts.\n\nIf you'd prefer to read more first, take a peek at [our docs](https://hwy.dev/docs).\n\n## Acknowledgements\n\nHwy's APIs are obviously inspired by Remix. If Remix didn't exist, Hwy likely wouldn't exist either. Hwy doesn't use any Remix code, but it still owes a big thanks to the Remix team (past and present) for their top-tier patterns design. If you're building something huge and important today, use Remix.\n\n## Disclaimer\n\nHwy is in beta! Act accordingly.\n\n## License\n\nMIT License\n\nCopyright (c) 2023 Samuel J. Cook\n","readmeFilename":"README.md","gitHead":"7450eb333e48beb50ceae3c421968f8734f1d339","types":"./dist/index.d.ts","_nodeVersion":"18.17.1","_npmVersion":"10.0.0","dist":{"integrity":"sha512-brd4COCsOr3Rdlnqrqu7JfUxv03Cfu0Kgj/U/L8TmzGDJjlZMwVTOr2bSMkPtRGP3L4UN37+fcNd+iEWOS0Y/w==","shasum":"7ead4566e270afa4a9b82bf825efb590e84a0af0","tarball":"https://registry.npmjs.org/hwy/-/hwy-0.2.2-beta.13.tgz","fileCount":4,"unpackedSize":34645,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIHD6nuvpdtzzZSs1G3iwFj2MhHUxnAqeRMAaciJx2vs/AiB2RmauUtqegLnN4uFWe/M+FYnHdU+a7sATNmz6FXlRPw=="}]},"_npmUser":{"name":"sjc5","email":"email@samcook.cc"},"directories":{},"maintainers":[{"name":"sjc5","email":"email@samcook.cc"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/hwy_0.2.2-beta.13_1696051440738_0.7820403888233811"},"_hasShrinkwrap":false},"0.2.2-beta.14":{"name":"hwy","version":"0.2.2-beta.14","author":{"name":"Samuel J. Cook"},"license":"MIT","description":"Lightweight, flexible, and powerful alternative to NextJS, based on HTMX instead of React","type":"module","main":"dist/index.js","scripts":{"build":"rimraf dist && tsup-node index.ts --format esm --dts","dev":"rimraf dist && tsup-node index.ts --format esm --dts --watch --sourcemap","publish-beta":"npm publish --tag beta"},"devDependencies":{"@hono/node-server":"^1.2.0","@hwy-js/dev":"workspace:*","@types/node":"^20.6.3","hono":"^3.7.1","rimraf":"^5.0.1","tsup":"^7.2.0"},"repository":{"type":"git","url":"git+https://github.com/hwy-js/hwy.git","directory":"packages/core"},"homepage":"https://hwy.dev","bugs":{"url":"https://github.com/hwy-js/hwy/issues"},"keywords":["framework","typescript","htmx","hono","router","jsx","nextjs","remix"],"sideEffects":false,"_id":"hwy@0.2.2-beta.14","readme":"# Hwy\n\nHwy is a lightweight, flexible, and powerful alternative to NextJS, based on HTMX instead of React.\n\n## Quick Start\n\n```bash\nnpx create-hwy@latest\n```\n\n## What is Hwy?\n\nHwy is a lot like NextJS or Remix, but it uses **_HTMX_** instead of React on the frontend.\n\nHwy lets you write **_React-style JSX_** in **_nested, file-based routes_**, with **_Remix-style actions and parallel loaders_**.\n\nPage components are async, so you can even **_fetch data in JSX_** if you want to (just be careful with waterfalls).\n\nThe backend server is built on **_Hono_**, so you have access to a rich, growing ecosystem with lots of middleware and wonderful docs.\n\nHwy is **_100% server-rendered_**, but with the HTMX defaults Hwy sets up for you out of the box, your app still **_feels like an SPA_**.\n\nLinks and forms are automatically **_progressively enhanced_** thanks to HTMX's `hx-boost` feature. Just use normal anchor tags and traditional form attributes.\n\nBecause Hwy replaces the **_full page_** on transitions by default, everything stays **_simple_**. You don't have to return different components from different endpoints (unless you want to).\n\nAnd best of all, **_anything you can do with Hono or HTMX, you can do with Hwy_**.\n\n## Features\n\n- Server-rendered JSX / TSX\n- Nested, file-based routing\n- Remix-style actions and parallel loaders\n- Async page components\n- Rich Hono middleware ecosystem\n- 100% type-safe\n- Server built on Hono\n- Client built on HTMX\n- Built-in critical CSS inlining\n- Live browser refresh during development\n- And more...\n\n## Guiding Principles\n\n- No speed limits\n- Numerous off-ramps\n- Smooth, safe roads\n- Clear traffic signs\n\n## Simple usage\n\nBelow is an example of a simple Hwy page. You'll notice it looks a lot like Remix, and you're right! Hwy is heavily inspired by Remix, but it uses HTMX instead of React.\n\n```tsx\n// src/pages/user/$user_id.page.tsx\n\nimport type { DataFunctionArgs, PageProps } from \"hwy\";\nimport { UserProfile, getUser } from \"./somewhere.js\";\n\nexport async function loader({ params }: DataFunctionArgs) {\n  return await getUser(params.user_id);\n}\n\nexport default async function ({ loaderData }: PageProps<typeof loader>) {\n  return <UserProfile user={loaderData} />;\n}\n```\n\nOr, if you prefer to fetch inside your components:\n\n```tsx\nexport default async function ({ params }: PageProps) {\n  const user = await getUser(params.user_id);\n\n  return <UserProfile user={user} />;\n}\n```\n\n## Get Started\n\nIf you want to dive right in, just open a terminal and run `npx create-hwy@latest` and follow the prompts.\n\nIf you'd prefer to read more first, take a peek at [our docs](https://hwy.dev/docs).\n\n## Acknowledgements\n\nHwy's APIs are obviously inspired by Remix. If Remix didn't exist, Hwy likely wouldn't exist either. Hwy doesn't use any Remix code, but it still owes a big thanks to the Remix team (past and present) for their top-tier patterns design. If you're building something huge and important today, use Remix.\n\n## Disclaimer\n\nHwy is in beta! Act accordingly.\n\n## License\n\nMIT License\n\nCopyright (c) 2023 Samuel J. Cook\n","readmeFilename":"README.md","gitHead":"5e57d6081c7c74f0879c932b6ef8f596dd7330b2","types":"./dist/index.d.ts","_nodeVersion":"18.17.1","_npmVersion":"10.0.0","dist":{"integrity":"sha512-gEbFI9mkEhh0zOgQnBcSGMHwtCl+BOaJx2fUQmstNhJni++lnQySMohhz3/Pqid/gbP9exM9PF70/sR0PP0FxQ==","shasum":"f5b6bb0efc9f26fa5a9701bd7541b717ea6823d2","tarball":"https://registry.npmjs.org/hwy/-/hwy-0.2.2-beta.14.tgz","fileCount":4,"unpackedSize":34645,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIFsonph3zgtr/pNLnRHGCtf0D1TPQS/ho/KjV4RmRUkqAiBCnDRLLr4jJercyz3c3bH6TeqDhbtF2OqXx+Ghgh/ZXA=="}]},"_npmUser":{"name":"sjc5","email":"email@samcook.cc"},"directories":{},"maintainers":[{"name":"sjc5","email":"email@samcook.cc"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/hwy_0.2.2-beta.14_1696638873216_0.054096436004889004"},"_hasShrinkwrap":false},"0.2.2-beta.15":{"name":"hwy","version":"0.2.2-beta.15","author":{"name":"Samuel J. Cook"},"license":"MIT","description":"Lightweight, flexible, and powerful alternative to NextJS, based on HTMX instead of React","type":"module","main":"dist/index.js","scripts":{"build":"rimraf dist && tsup-node index.ts --format esm --dts","dev":"rimraf dist && tsup-node index.ts --format esm --dts --watch --sourcemap","publish-beta":"npm publish --tag beta"},"devDependencies":{"@hono/node-server":"^1.2.0","@hwy-js/dev":"workspace:*","@types/node":"^20.6.3","hono":"^3.7.1","rimraf":"^5.0.1","tsup":"^7.2.0"},"repository":{"type":"git","url":"git+https://github.com/hwy-js/hwy.git","directory":"packages/core"},"homepage":"https://hwy.dev","bugs":{"url":"https://github.com/hwy-js/hwy/issues"},"keywords":["framework","typescript","htmx","hono","router","jsx","nextjs","remix"],"sideEffects":false,"_id":"hwy@0.2.2-beta.15","readme":"# Hwy\n\nHwy is a lightweight, flexible, and powerful alternative to NextJS, based on HTMX instead of React.\n\n## Quick Start\n\n```bash\nnpx create-hwy@latest\n```\n\n## What is Hwy?\n\nHwy is a lot like NextJS or Remix, but it uses **_HTMX_** instead of React on the frontend.\n\nHwy lets you write **_React-style JSX_** in **_nested, file-based routes_**, with **_Remix-style actions and parallel loaders_**.\n\nPage components are async, so you can even **_fetch data in JSX_** if you want to (just be careful with waterfalls).\n\nThe backend server is built on **_Hono_**, so you have access to a rich, growing ecosystem with lots of middleware and wonderful docs.\n\nHwy is **_100% server-rendered_**, but with the HTMX defaults Hwy sets up for you out of the box, your app still **_feels like an SPA_**.\n\nLinks and forms are automatically **_progressively enhanced_** thanks to HTMX's `hx-boost` feature. Just use normal anchor tags and traditional form attributes.\n\nBecause Hwy replaces the **_full page_** on transitions by default, everything stays **_simple_**. You don't have to return different components from different endpoints (unless you want to).\n\nAnd best of all, **_anything you can do with Hono or HTMX, you can do with Hwy_**.\n\n## Features\n\n- Server-rendered JSX / TSX\n- Nested, file-based routing\n- Remix-style actions and parallel loaders\n- Async page components\n- Rich Hono middleware ecosystem\n- 100% type-safe\n- Server built on Hono\n- Client built on HTMX\n- Built-in critical CSS inlining\n- Live browser refresh during development\n- And more...\n\n## Guiding Principles\n\n- No speed limits\n- Numerous off-ramps\n- Smooth, safe roads\n- Clear traffic signs\n\n## Simple usage\n\nBelow is an example of a simple Hwy page. You'll notice it looks a lot like Remix, and you're right! Hwy is heavily inspired by Remix, but it uses HTMX instead of React.\n\n```tsx\n// src/pages/user/$user_id.page.tsx\n\nimport type { DataFunctionArgs, PageProps } from \"hwy\";\nimport { UserProfile, getUser } from \"./somewhere.js\";\n\nexport async function loader({ params }: DataFunctionArgs) {\n  return await getUser(params.user_id);\n}\n\nexport default async function ({ loaderData }: PageProps<typeof loader>) {\n  return <UserProfile user={loaderData} />;\n}\n```\n\nOr, if you prefer to fetch inside your components:\n\n```tsx\nexport default async function ({ params }: PageProps) {\n  const user = await getUser(params.user_id);\n\n  return <UserProfile user={user} />;\n}\n```\n\n## Get Started\n\nIf you want to dive right in, just open a terminal and run `npx create-hwy@latest` and follow the prompts.\n\nIf you'd prefer to read more first, take a peek at [our docs](https://hwy.dev/docs).\n\n## Acknowledgements\n\nHwy's APIs are obviously inspired by Remix. If Remix didn't exist, Hwy likely wouldn't exist either. Hwy doesn't use any Remix code, but it still owes a big thanks to the Remix team (past and present) for their top-tier patterns design. If you're building something huge and important today, use Remix.\n\n## Disclaimer\n\nHwy is in beta! Act accordingly.\n\n## License\n\nMIT License\n\nCopyright (c) 2023 Samuel J. Cook\n","readmeFilename":"README.md","gitHead":"5e57d6081c7c74f0879c932b6ef8f596dd7330b2","types":"./dist/index.d.ts","_nodeVersion":"18.17.1","_npmVersion":"10.0.0","dist":{"integrity":"sha512-xBP0GydQpQoOafUseeXKhrcKlhxS3/ffJQD74KEdCVQuquXvMgXfLMQN00oUyFQhT6zcRp7chq/VJpES8IsF4A==","shasum":"e2ea986f4b9146d1cdd97957907ff822e55e27fe","tarball":"https://registry.npmjs.org/hwy/-/hwy-0.2.2-beta.15.tgz","fileCount":4,"unpackedSize":34645,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIGYH6oJ+EFub8ZR/S0dYgMruBH45gQ43Mjw/R0RQWJTrAiEA/xjplR1CkpKeLma22A5RHHZyWJfPVTLMJuX35rx2Rgs="}]},"_npmUser":{"name":"sjc5","email":"email@samcook.cc"},"directories":{},"maintainers":[{"name":"sjc5","email":"email@samcook.cc"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/hwy_0.2.2-beta.15_1696639583643_0.018713782290072256"},"_hasShrinkwrap":false},"0.2.2-beta.16":{"name":"hwy","version":"0.2.2-beta.16","author":{"name":"Samuel J. Cook"},"license":"MIT","description":"Lightweight, flexible, and powerful alternative to NextJS, based on HTMX instead of React","type":"module","main":"dist/index.js","scripts":{"build":"rimraf dist && tsup-node index.ts --format esm --dts","dev":"rimraf dist && tsup-node index.ts --format esm --dts --watch --sourcemap","publish-beta":"npm publish --tag beta"},"devDependencies":{"@hono/node-server":"^1.2.0","@hwy-js/dev":"workspace:*","@types/node":"^20.6.3","hono":"^3.7.1","rimraf":"^5.0.1","tsup":"^7.2.0"},"repository":{"type":"git","url":"git+https://github.com/hwy-js/hwy.git","directory":"packages/core"},"homepage":"https://hwy.dev","bugs":{"url":"https://github.com/hwy-js/hwy/issues"},"keywords":["framework","typescript","htmx","hono","router","jsx","nextjs","remix"],"sideEffects":false,"_id":"hwy@0.2.2-beta.16","readme":"# Hwy\n\nHwy is a lightweight, flexible, and powerful alternative to NextJS, based on HTMX instead of React.\n\n## Quick Start\n\n```bash\nnpx create-hwy@latest\n```\n\n## What is Hwy?\n\nHwy is a lot like NextJS or Remix, but it uses **_HTMX_** instead of React on the frontend.\n\nHwy lets you write **_React-style JSX_** in **_nested, file-based routes_**, with **_Remix-style actions and parallel loaders_**.\n\nPage components are async, so you can even **_fetch data in JSX_** if you want to (just be careful with waterfalls).\n\nThe backend server is built on **_Hono_**, so you have access to a rich, growing ecosystem with lots of middleware and wonderful docs.\n\nHwy is **_100% server-rendered_**, but with the HTMX defaults Hwy sets up for you out of the box, your app still **_feels like an SPA_**.\n\nLinks and forms are automatically **_progressively enhanced_** thanks to HTMX's `hx-boost` feature. Just use normal anchor tags and traditional form attributes.\n\nBecause Hwy replaces the **_full page_** on transitions by default, everything stays **_simple_**. You don't have to return different components from different endpoints (unless you want to).\n\nAnd best of all, **_anything you can do with Hono or HTMX, you can do with Hwy_**.\n\n## Features\n\n- Server-rendered JSX / TSX\n- Nested, file-based routing\n- Remix-style actions and parallel loaders\n- Async page components\n- Rich Hono middleware ecosystem\n- 100% type-safe\n- Server built on Hono\n- Client built on HTMX\n- Built-in critical CSS inlining\n- Live browser refresh during development\n- And more...\n\n## Guiding Principles\n\n- No speed limits\n- Numerous off-ramps\n- Smooth, safe roads\n- Clear traffic signs\n\n## Simple usage\n\nBelow is an example of a simple Hwy page. You'll notice it looks a lot like Remix, and you're right! Hwy is heavily inspired by Remix, but it uses HTMX instead of React.\n\n```tsx\n// src/pages/user/$user_id.page.tsx\n\nimport type { DataFunctionArgs, PageProps } from \"hwy\";\nimport { UserProfile, getUser } from \"./somewhere.js\";\n\nexport async function loader({ params }: DataFunctionArgs) {\n  return await getUser(params.user_id);\n}\n\nexport default async function ({ loaderData }: PageProps<typeof loader>) {\n  return <UserProfile user={loaderData} />;\n}\n```\n\nOr, if you prefer to fetch inside your components:\n\n```tsx\nexport default async function ({ params }: PageProps) {\n  const user = await getUser(params.user_id);\n\n  return <UserProfile user={user} />;\n}\n```\n\n## Get Started\n\nIf you want to dive right in, just open a terminal and run `npx create-hwy@latest` and follow the prompts.\n\nIf you'd prefer to read more first, take a peek at [our docs](https://hwy.dev/docs).\n\n## Acknowledgements\n\nHwy's APIs are obviously inspired by Remix. If Remix didn't exist, Hwy likely wouldn't exist either. Hwy doesn't use any Remix code, but it still owes a big thanks to the Remix team (past and present) for their top-tier patterns design. If you're building something huge and important today, use Remix.\n\n## Disclaimer\n\nHwy is in beta! Act accordingly.\n\n## License\n\nMIT License\n\nCopyright (c) 2023 Samuel J. Cook\n","readmeFilename":"README.md","gitHead":"5e57d6081c7c74f0879c932b6ef8f596dd7330b2","types":"./dist/index.d.ts","_nodeVersion":"18.17.1","_npmVersion":"10.0.0","dist":{"integrity":"sha512-6kBqYO1epLPriPJ8iN+p/jamjRgoD9/MwOTskeH+IeLJQ3GfEuucQj6evWgomM4GZNCDrEGXYDQ23+vQajQjZA==","shasum":"0f1e8a826dd21960ead4c0091c6ab4addb8a88c4","tarball":"https://registry.npmjs.org/hwy/-/hwy-0.2.2-beta.16.tgz","fileCount":4,"unpackedSize":34645,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCdqVNhoM+KPMjsRxn5c1qG0BoYJkCA3aKI7hdoWATP0gIgWpBUWkkOyjqDcKn/k8ka/Fc5YfkMMK5GBB7F/QHzrNU="}]},"_npmUser":{"name":"sjc5","email":"email@samcook.cc"},"directories":{},"maintainers":[{"name":"sjc5","email":"email@samcook.cc"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/hwy_0.2.2-beta.16_1696639933266_0.33719840963671976"},"_hasShrinkwrap":false},"0.2.2-beta.17":{"name":"hwy","version":"0.2.2-beta.17","author":{"name":"Samuel J. Cook"},"license":"MIT","description":"Lightweight, flexible, and powerful alternative to NextJS, based on HTMX instead of React","type":"module","main":"dist/index.js","scripts":{"build":"rimraf dist && tsup-node index.ts --format esm --dts","dev":"rimraf dist && tsup-node index.ts --format esm --dts --watch --sourcemap","publish-beta":"npm publish --tag beta"},"devDependencies":{"@hono/node-server":"^1.2.0","@hwy-js/dev":"workspace:*","@types/node":"^20.6.3","hono":"^3.7.1","rimraf":"^5.0.1","tsup":"^7.2.0"},"repository":{"type":"git","url":"git+https://github.com/hwy-js/hwy.git","directory":"packages/core"},"homepage":"https://hwy.dev","bugs":{"url":"https://github.com/hwy-js/hwy/issues"},"keywords":["framework","typescript","htmx","hono","router","jsx","nextjs","remix"],"sideEffects":false,"_id":"hwy@0.2.2-beta.17","readme":"# Hwy\n\nHwy is a lightweight, flexible, and powerful alternative to NextJS, based on HTMX instead of React.\n\n## Quick Start\n\n```bash\nnpx create-hwy@latest\n```\n\n## What is Hwy?\n\nHwy is a lot like NextJS or Remix, but it uses **_HTMX_** instead of React on the frontend.\n\nHwy lets you write **_React-style JSX_** in **_nested, file-based routes_**, with **_Remix-style actions and parallel loaders_**.\n\nPage components are async, so you can even **_fetch data in JSX_** if you want to (just be careful with waterfalls).\n\nThe backend server is built on **_Hono_**, so you have access to a rich, growing ecosystem with lots of middleware and wonderful docs.\n\nHwy is **_100% server-rendered_**, but with the HTMX defaults Hwy sets up for you out of the box, your app still **_feels like an SPA_**.\n\nLinks and forms are automatically **_progressively enhanced_** thanks to HTMX's `hx-boost` feature. Just use normal anchor tags and traditional form attributes.\n\nBecause Hwy replaces the **_full page_** on transitions by default, everything stays **_simple_**. You don't have to return different components from different endpoints (unless you want to).\n\nAnd best of all, **_anything you can do with Hono or HTMX, you can do with Hwy_**.\n\n## Features\n\n- Server-rendered JSX / TSX\n- Nested, file-based routing\n- Remix-style actions and parallel loaders\n- Async page components\n- Rich Hono middleware ecosystem\n- 100% type-safe\n- Server built on Hono\n- Client built on HTMX\n- Built-in critical CSS inlining\n- Live browser refresh during development\n- And more...\n\n## Guiding Principles\n\n- No speed limits\n- Numerous off-ramps\n- Smooth, safe roads\n- Clear traffic signs\n\n## Simple usage\n\nBelow is an example of a simple Hwy page. You'll notice it looks a lot like Remix, and you're right! Hwy is heavily inspired by Remix, but it uses HTMX instead of React.\n\n```tsx\n// src/pages/user/$user_id.page.tsx\n\nimport type { DataFunctionArgs, PageProps } from \"hwy\";\nimport { UserProfile, getUser } from \"./somewhere.js\";\n\nexport async function loader({ params }: DataFunctionArgs) {\n  return await getUser(params.user_id);\n}\n\nexport default async function ({ loaderData }: PageProps<typeof loader>) {\n  return <UserProfile user={loaderData} />;\n}\n```\n\nOr, if you prefer to fetch inside your components:\n\n```tsx\nexport default async function ({ params }: PageProps) {\n  const user = await getUser(params.user_id);\n\n  return <UserProfile user={user} />;\n}\n```\n\n## Get Started\n\nIf you want to dive right in, just open a terminal and run `npx create-hwy@latest` and follow the prompts.\n\nIf you'd prefer to read more first, take a peek at [our docs](https://hwy.dev/docs).\n\n## Acknowledgements\n\nHwy's APIs are obviously inspired by Remix. If Remix didn't exist, Hwy likely wouldn't exist either. Hwy doesn't use any Remix code, but it still owes a big thanks to the Remix team (past and present) for their top-tier patterns design. If you're building something huge and important today, use Remix.\n\n## Disclaimer\n\nHwy is in beta! Act accordingly.\n\n## License\n\nMIT License\n\nCopyright (c) 2023 Samuel J. Cook\n","readmeFilename":"README.md","gitHead":"5e57d6081c7c74f0879c932b6ef8f596dd7330b2","types":"./dist/index.d.ts","_nodeVersion":"18.17.1","_npmVersion":"10.0.0","dist":{"integrity":"sha512-r+svZOsLtdXxbjJSi81k/5oigj7DdV6zgn/1ufsKbZ6yDxoYVEu1BhhqWHCDgNZB4GyPWS2U2PaDCFmtofb07g==","shasum":"e7202f063f9465058c7c5b222744267c596c04d4","tarball":"https://registry.npmjs.org/hwy/-/hwy-0.2.2-beta.17.tgz","fileCount":4,"unpackedSize":34645,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCICi9XNO00uqqWYsV/AQdKM9Rs8oLyRlrV7N6/6f8v4PwAiEAyfBGm6hmbkwPbsipfYxtwG1J1vqmn2crIiKdMbqrC34="}]},"_npmUser":{"name":"sjc5","email":"email@samcook.cc"},"directories":{},"maintainers":[{"name":"sjc5","email":"email@samcook.cc"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/hwy_0.2.2-beta.17_1696641176083_0.7050105525231773"},"_hasShrinkwrap":false},"0.2.2-beta.18":{"name":"hwy","version":"0.2.2-beta.18","author":{"name":"Samuel J. Cook"},"license":"MIT","description":"Lightweight, flexible, and powerful alternative to NextJS, based on HTMX instead of React","type":"module","main":"dist/index.js","scripts":{"build":"rimraf dist && tsup-node index.ts --format esm --dts","dev":"rimraf dist && tsup-node index.ts --format esm --dts --watch --sourcemap","publish-beta":"npm publish --tag beta"},"devDependencies":{"@hono/node-server":"^1.2.0","@hwy-js/dev":"workspace:*","@types/node":"^20.6.3","hono":"^3.7.1","rimraf":"^5.0.1","tsup":"^7.2.0"},"repository":{"type":"git","url":"git+https://github.com/hwy-js/hwy.git","directory":"packages/core"},"homepage":"https://hwy.dev","bugs":{"url":"https://github.com/hwy-js/hwy/issues"},"keywords":["framework","typescript","htmx","hono","router","jsx","nextjs","remix"],"sideEffects":false,"_id":"hwy@0.2.2-beta.18","readme":"# Hwy\n\nHwy is a lightweight, flexible, and powerful alternative to NextJS, based on HTMX instead of React.\n\n## Quick Start\n\n```bash\nnpx create-hwy@latest\n```\n\n## What is Hwy?\n\nHwy is a lot like NextJS or Remix, but it uses **_HTMX_** instead of React on the frontend.\n\nHwy lets you write **_React-style JSX_** in **_nested, file-based routes_**, with **_Remix-style actions and parallel loaders_**.\n\nPage components are async, so you can even **_fetch data in JSX_** if you want to (just be careful with waterfalls).\n\nThe backend server is built on **_Hono_**, so you have access to a rich, growing ecosystem with lots of middleware and wonderful docs.\n\nHwy is **_100% server-rendered_**, but with the HTMX defaults Hwy sets up for you out of the box, your app still **_feels like an SPA_**.\n\nLinks and forms are automatically **_progressively enhanced_** thanks to HTMX's `hx-boost` feature. Just use normal anchor tags and traditional form attributes.\n\nBecause Hwy replaces the **_full page_** on transitions by default, everything stays **_simple_**. You don't have to return different components from different endpoints (unless you want to).\n\nAnd best of all, **_anything you can do with Hono or HTMX, you can do with Hwy_**.\n\n## Features\n\n- Server-rendered JSX / TSX\n- Nested, file-based routing\n- Remix-style actions and parallel loaders\n- Async page components\n- Rich Hono middleware ecosystem\n- 100% type-safe\n- Server built on Hono\n- Client built on HTMX\n- Built-in critical CSS inlining\n- Live browser refresh during development\n- And more...\n\n## Guiding Principles\n\n- No speed limits\n- Numerous off-ramps\n- Smooth, safe roads\n- Clear traffic signs\n\n## Simple usage\n\nBelow is an example of a simple Hwy page. You'll notice it looks a lot like Remix, and you're right! Hwy is heavily inspired by Remix, but it uses HTMX instead of React.\n\n```tsx\n// src/pages/user/$user_id.page.tsx\n\nimport type { DataFunctionArgs, PageProps } from \"hwy\";\nimport { UserProfile, getUser } from \"./somewhere.js\";\n\nexport async function loader({ params }: DataFunctionArgs) {\n  return await getUser(params.user_id);\n}\n\nexport default async function ({ loaderData }: PageProps<typeof loader>) {\n  return <UserProfile user={loaderData} />;\n}\n```\n\nOr, if you prefer to fetch inside your components:\n\n```tsx\nexport default async function ({ params }: PageProps) {\n  const user = await getUser(params.user_id);\n\n  return <UserProfile user={user} />;\n}\n```\n\n## Get Started\n\nIf you want to dive right in, just open a terminal and run `npx create-hwy@latest` and follow the prompts.\n\nIf you'd prefer to read more first, take a peek at [our docs](https://hwy.dev/docs).\n\n## Acknowledgements\n\nHwy's APIs are obviously inspired by Remix. If Remix didn't exist, Hwy likely wouldn't exist either. Hwy doesn't use any Remix code, but it still owes a big thanks to the Remix team (past and present) for their top-tier patterns design. If you're building something huge and important today, use Remix.\n\n## Disclaimer\n\nHwy is in beta! Act accordingly.\n\n## License\n\nMIT License\n\nCopyright (c) 2023 Samuel J. Cook\n","readmeFilename":"README.md","gitHead":"5e57d6081c7c74f0879c932b6ef8f596dd7330b2","types":"./dist/index.d.ts","_nodeVersion":"18.17.1","_npmVersion":"10.0.0","dist":{"integrity":"sha512-FeS9MLgnvS0F0vRoxUzdKjmCowrk0R5aJfG3W2xn+8nJdAu38PAyLDOzuiVdlNvGiCN1Vf2Fx1pUb3jNCP4LCA==","shasum":"b5a82e058f7f8983a2b99b7ada23beaf3550e761","tarball":"https://registry.npmjs.org/hwy/-/hwy-0.2.2-beta.18.tgz","fileCount":4,"unpackedSize":34645,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQChvzvAMTAgGs98vlKR02/Tp2idkTSm/hVFzuqobdM5SQIhAON7oqUkY14+fY/WI7Vjan1k09YnxyZFom1YQH4oKnxK"}]},"_npmUser":{"name":"sjc5","email":"email@samcook.cc"},"directories":{},"maintainers":[{"name":"sjc5","email":"email@samcook.cc"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/hwy_0.2.2-beta.18_1696642612499_0.46542546272375795"},"_hasShrinkwrap":false},"0.2.2-beta.19":{"name":"hwy","version":"0.2.2-beta.19","author":{"name":"Samuel J. Cook"},"license":"MIT","description":"Lightweight, flexible, and powerful alternative to NextJS, based on HTMX instead of React","type":"module","main":"dist/index.js","scripts":{"build":"rimraf dist && tsup-node index.ts --format esm --dts","dev":"rimraf dist && tsup-node index.ts --format esm --dts --watch --sourcemap","publish-beta":"npm publish --tag beta"},"devDependencies":{"@hono/node-server":"^1.2.0","@hwy-js/dev":"workspace:*","@types/node":"^20.6.3","hono":"^3.7.1","rimraf":"^5.0.1","tsup":"^7.2.0"},"repository":{"type":"git","url":"git+https://github.com/hwy-js/hwy.git","directory":"packages/core"},"homepage":"https://hwy.dev","bugs":{"url":"https://github.com/hwy-js/hwy/issues"},"keywords":["framework","typescript","htmx","hono","router","jsx","nextjs","remix"],"sideEffects":false,"_id":"hwy@0.2.2-beta.19","readme":"# Hwy\n\nHwy is a lightweight, flexible, and powerful alternative to NextJS, based on HTMX instead of React.\n\n## Quick Start\n\n```bash\nnpx create-hwy@latest\n```\n\n## What is Hwy?\n\nHwy is a lot like NextJS or Remix, but it uses **_HTMX_** instead of React on the frontend.\n\nHwy lets you write **_React-style JSX_** in **_nested, file-based routes_**, with **_Remix-style actions and parallel loaders_**.\n\nPage components are async, so you can even **_fetch data in JSX_** if you want to (just be careful with waterfalls).\n\nThe backend server is built on **_Hono_**, so you have access to a rich, growing ecosystem with lots of middleware and wonderful docs.\n\nHwy is **_100% server-rendered_**, but with the HTMX defaults Hwy sets up for you out of the box, your app still **_feels like an SPA_**.\n\nLinks and forms are automatically **_progressively enhanced_** thanks to HTMX's `hx-boost` feature. Just use normal anchor tags and traditional form attributes.\n\nBecause Hwy replaces the **_full page_** on transitions by default, everything stays **_simple_**. You don't have to return different components from different endpoints (unless you want to).\n\nAnd best of all, **_anything you can do with Hono or HTMX, you can do with Hwy_**.\n\n## Features\n\n- Server-rendered JSX / TSX\n- Nested, file-based routing\n- Remix-style actions and parallel loaders\n- Async page components\n- Rich Hono middleware ecosystem\n- 100% type-safe\n- Server built on Hono\n- Client built on HTMX\n- Built-in critical CSS inlining\n- Live browser refresh during development\n- And more...\n\n## Guiding Principles\n\n- No speed limits\n- Numerous off-ramps\n- Smooth, safe roads\n- Clear traffic signs\n\n## Simple usage\n\nBelow is an example of a simple Hwy page. You'll notice it looks a lot like Remix, and you're right! Hwy is heavily inspired by Remix, but it uses HTMX instead of React.\n\n```tsx\n// src/pages/user/$user_id.page.tsx\n\nimport type { DataFunctionArgs, PageProps } from \"hwy\";\nimport { UserProfile, getUser } from \"./somewhere.js\";\n\nexport async function loader({ params }: DataFunctionArgs) {\n  return await getUser(params.user_id);\n}\n\nexport default async function ({ loaderData }: PageProps<typeof loader>) {\n  return <UserProfile user={loaderData} />;\n}\n```\n\nOr, if you prefer to fetch inside your components:\n\n```tsx\nexport default async function ({ params }: PageProps) {\n  const user = await getUser(params.user_id);\n\n  return <UserProfile user={user} />;\n}\n```\n\n## Get Started\n\nIf you want to dive right in, just open a terminal and run `npx create-hwy@latest` and follow the prompts.\n\nIf you'd prefer to read more first, take a peek at [our docs](https://hwy.dev/docs).\n\n## Acknowledgements\n\nHwy's APIs are obviously inspired by Remix. If Remix didn't exist, Hwy likely wouldn't exist either. Hwy doesn't use any Remix code, but it still owes a big thanks to the Remix team (past and present) for their top-tier patterns design. If you're building something huge and important today, use Remix.\n\n## Disclaimer\n\nHwy is in beta! Act accordingly.\n\n## License\n\nMIT License\n\nCopyright (c) 2023 Samuel J. Cook\n","readmeFilename":"README.md","gitHead":"5e57d6081c7c74f0879c932b6ef8f596dd7330b2","types":"./dist/index.d.ts","_nodeVersion":"18.17.1","_npmVersion":"10.0.0","dist":{"integrity":"sha512-OVbDzrZ6hww+H7MBokYy1GHvG/KscFaxRG0DRuz9wf7qa/B/WmuywBZ5aqet0ak2k5SaXYkUWyptBw7lyFO6Cg==","shasum":"1fc22e8917fb4ede74bc1e5d020f6563cbe8aa6d","tarball":"https://registry.npmjs.org/hwy/-/hwy-0.2.2-beta.19.tgz","fileCount":4,"unpackedSize":34696,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIFELVQHy6X20miZZl/aiolTC1hIAiQv7Pi8wMgPIJz+8AiA0kYtJpERozrYGjlHQSH/lhtnTezYjhYeQ+4GfPzRdaw=="}]},"_npmUser":{"name":"sjc5","email":"email@samcook.cc"},"directories":{},"maintainers":[{"name":"sjc5","email":"email@samcook.cc"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/hwy_0.2.2-beta.19_1696649138137_0.18984926596885532"},"_hasShrinkwrap":false},"0.2.2-beta.20":{"name":"hwy","version":"0.2.2-beta.20","author":{"name":"Samuel J. Cook"},"license":"MIT","description":"Lightweight, flexible, and powerful alternative to NextJS, based on HTMX instead of React","type":"module","main":"dist/index.js","scripts":{"build":"rimraf dist && tsup-node index.ts --format esm --dts","dev":"rimraf dist && tsup-node index.ts --format esm --dts --watch --sourcemap","publish-beta":"npm publish --tag beta"},"devDependencies":{"@hono/node-server":"^1.2.0","@hwy-js/dev":"workspace:*","@types/node":"^20.6.3","hono":"^3.7.1","rimraf":"^5.0.1","tsup":"^7.2.0"},"repository":{"type":"git","url":"git+https://github.com/hwy-js/hwy.git","directory":"packages/core"},"homepage":"https://hwy.dev","bugs":{"url":"https://github.com/hwy-js/hwy/issues"},"keywords":["framework","typescript","htmx","hono","router","jsx","nextjs","remix"],"sideEffects":false,"_id":"hwy@0.2.2-beta.20","readme":"# Hwy\n\nHwy is a lightweight, flexible, and powerful alternative to NextJS, based on HTMX instead of React.\n\n## Quick Start\n\n```bash\nnpx create-hwy@latest\n```\n\n## What is Hwy?\n\nHwy is a lot like NextJS or Remix, but it uses **_HTMX_** instead of React on the frontend.\n\nHwy lets you write **_React-style JSX_** in **_nested, file-based routes_**, with **_Remix-style actions and parallel loaders_**.\n\nPage components are async, so you can even **_fetch data in JSX_** if you want to (just be careful with waterfalls).\n\nThe backend server is built on **_Hono_**, so you have access to a rich, growing ecosystem with lots of middleware and wonderful docs.\n\nHwy is **_100% server-rendered_**, but with the HTMX defaults Hwy sets up for you out of the box, your app still **_feels like an SPA_**.\n\nLinks and forms are automatically **_progressively enhanced_** thanks to HTMX's `hx-boost` feature. Just use normal anchor tags and traditional form attributes.\n\nBecause Hwy replaces the **_full page_** on transitions by default, everything stays **_simple_**. You don't have to return different components from different endpoints (unless you want to).\n\nAnd best of all, **_anything you can do with Hono or HTMX, you can do with Hwy_**.\n\n## Features\n\n- Server-rendered JSX / TSX\n- Nested, file-based routing\n- Remix-style actions and parallel loaders\n- Async page components\n- Rich Hono middleware ecosystem\n- 100% type-safe\n- Server built on Hono\n- Client built on HTMX\n- Built-in critical CSS inlining\n- Live browser refresh during development\n- And more...\n\n## Guiding Principles\n\n- No speed limits\n- Numerous off-ramps\n- Smooth, safe roads\n- Clear traffic signs\n\n## Simple usage\n\nBelow is an example of a simple Hwy page. You'll notice it looks a lot like Remix, and you're right! Hwy is heavily inspired by Remix, but it uses HTMX instead of React.\n\n```tsx\n// src/pages/user/$user_id.page.tsx\n\nimport type { DataFunctionArgs, PageProps } from \"hwy\";\nimport { UserProfile, getUser } from \"./somewhere.js\";\n\nexport async function loader({ params }: DataFunctionArgs) {\n  return await getUser(params.user_id);\n}\n\nexport default async function ({ loaderData }: PageProps<typeof loader>) {\n  return <UserProfile user={loaderData} />;\n}\n```\n\nOr, if you prefer to fetch inside your components:\n\n```tsx\nexport default async function ({ params }: PageProps) {\n  const user = await getUser(params.user_id);\n\n  return <UserProfile user={user} />;\n}\n```\n\n## Get Started\n\nIf you want to dive right in, just open a terminal and run `npx create-hwy@latest` and follow the prompts.\n\nIf you'd prefer to read more first, take a peek at [our docs](https://hwy.dev/docs).\n\n## Acknowledgements\n\nHwy's APIs are obviously inspired by Remix. If Remix didn't exist, Hwy likely wouldn't exist either. Hwy doesn't use any Remix code, but it still owes a big thanks to the Remix team (past and present) for their top-tier patterns design. If you're building something huge and important today, use Remix.\n\n## Disclaimer\n\nHwy is in beta! Act accordingly.\n\n## License\n\nMIT License\n\nCopyright (c) 2023 Samuel J. Cook\n","readmeFilename":"README.md","gitHead":"5e57d6081c7c74f0879c932b6ef8f596dd7330b2","types":"./dist/index.d.ts","_nodeVersion":"18.17.1","_npmVersion":"10.0.0","dist":{"integrity":"sha512-hKPt6TOMSRuX0Jk/PH6Sia9hUeNpBLuK18MrciSzd4kncV59VOE9s7+NcGQrREz8y/d5+iQPi9FzQRCpTO9z8Q==","shasum":"7e0de1b45f80326b943fbc6bd0c8cda2343fa9dd","tarball":"https://registry.npmjs.org/hwy/-/hwy-0.2.2-beta.20.tgz","fileCount":4,"unpackedSize":34696,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIEHLNwO21R4vyxYY4KsiApPBP4Wonf/VuKA3ihClRHkUAiEAzRAmp9JBRuRDTRHSPFJeKZC6Z71IFTti4MZ+vbBgwLU="}]},"_npmUser":{"name":"sjc5","email":"email@samcook.cc"},"directories":{},"maintainers":[{"name":"sjc5","email":"email@samcook.cc"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/hwy_0.2.2-beta.20_1696653822568_0.8627557601114157"},"_hasShrinkwrap":false},"0.2.2-beat.21":{"name":"hwy","version":"0.2.2-beat.21","author":{"name":"Samuel J. Cook"},"license":"MIT","description":"Lightweight, flexible, and powerful alternative to NextJS, based on HTMX instead of React","type":"module","main":"dist/index.js","scripts":{"build":"rimraf dist && tsup-node index.ts --format esm --dts","dev":"rimraf dist && tsup-node index.ts --format esm --dts --watch --sourcemap","publish-beta":"npm publish --tag beta"},"devDependencies":{"@hono/node-server":"^1.2.0","@hwy-js/dev":"workspace:*","@types/node":"^20.6.3","hono":"^3.7.1","rimraf":"^5.0.1","tsup":"^7.2.0"},"repository":{"type":"git","url":"git+https://github.com/hwy-js/hwy.git","directory":"packages/core"},"homepage":"https://hwy.dev","bugs":{"url":"https://github.com/hwy-js/hwy/issues"},"keywords":["framework","typescript","htmx","hono","router","jsx","nextjs","remix"],"sideEffects":false,"_id":"hwy@0.2.2-beat.21","readme":"# Hwy\n\nHwy is a lightweight, flexible, and powerful alternative to NextJS, based on HTMX instead of React.\n\n## Quick Start\n\n```bash\nnpx create-hwy@latest\n```\n\n## What is Hwy?\n\nHwy is a lot like NextJS or Remix, but it uses **_HTMX_** instead of React on the frontend.\n\nHwy lets you write **_React-style JSX_** in **_nested, file-based routes_**, with **_Remix-style actions and parallel loaders_**.\n\nPage components are async, so you can even **_fetch data in JSX_** if you want to (just be careful with waterfalls).\n\nThe backend server is built on **_Hono_**, so you have access to a rich, growing ecosystem with lots of middleware and wonderful docs.\n\nHwy is **_100% server-rendered_**, but with the HTMX defaults Hwy sets up for you out of the box, your app still **_feels like an SPA_**.\n\nLinks and forms are automatically **_progressively enhanced_** thanks to HTMX's `hx-boost` feature. Just use normal anchor tags and traditional form attributes.\n\nBecause Hwy replaces the **_full page_** on transitions by default, everything stays **_simple_**. You don't have to return different components from different endpoints (unless you want to).\n\nAnd best of all, **_anything you can do with Hono or HTMX, you can do with Hwy_**.\n\n## Features\n\n- Server-rendered JSX / TSX\n- Nested, file-based routing\n- Remix-style actions and parallel loaders\n- Async page components\n- Rich Hono middleware ecosystem\n- 100% type-safe\n- Server built on Hono\n- Client built on HTMX\n- Built-in critical CSS inlining\n- Live browser refresh during development\n- And more...\n\n## Guiding Principles\n\n- No speed limits\n- Numerous off-ramps\n- Smooth, safe roads\n- Clear traffic signs\n\n## Simple usage\n\nBelow is an example of a simple Hwy page. You'll notice it looks a lot like Remix, and you're right! Hwy is heavily inspired by Remix, but it uses HTMX instead of React.\n\n```tsx\n// src/pages/user/$user_id.page.tsx\n\nimport type { DataFunctionArgs, PageProps } from \"hwy\";\nimport { UserProfile, getUser } from \"./somewhere.js\";\n\nexport async function loader({ params }: DataFunctionArgs) {\n  return await getUser(params.user_id);\n}\n\nexport default async function ({ loaderData }: PageProps<typeof loader>) {\n  return <UserProfile user={loaderData} />;\n}\n```\n\nOr, if you prefer to fetch inside your components:\n\n```tsx\nexport default async function ({ params }: PageProps) {\n  const user = await getUser(params.user_id);\n\n  return <UserProfile user={user} />;\n}\n```\n\n## Get Started\n\nIf you want to dive right in, just open a terminal and run `npx create-hwy@latest` and follow the prompts.\n\nIf you'd prefer to read more first, take a peek at [our docs](https://hwy.dev/docs).\n\n## Acknowledgements\n\nHwy's APIs are obviously inspired by Remix. If Remix didn't exist, Hwy likely wouldn't exist either. Hwy doesn't use any Remix code, but it still owes a big thanks to the Remix team (past and present) for their top-tier patterns design. If you're building something huge and important today, use Remix.\n\n## Disclaimer\n\nHwy is in beta! Act accordingly.\n\n## License\n\nMIT License\n\nCopyright (c) 2023 Samuel J. Cook\n","readmeFilename":"README.md","gitHead":"5e57d6081c7c74f0879c932b6ef8f596dd7330b2","types":"./dist/index.d.ts","_nodeVersion":"18.17.1","_npmVersion":"10.0.0","dist":{"integrity":"sha512-w98riuao626XWddx25vl86YwlF/WGloDP8+FhhWcVbmBrPHRJ57UYVk/JBI+8GhZuLHswkO6U42rAGOqLQDNdA==","shasum":"ba4aa3ec0f647261983c940311e22222aecf0bb9","tarball":"https://registry.npmjs.org/hwy/-/hwy-0.2.2-beat.21.tgz","fileCount":4,"unpackedSize":34696,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIAiH0VpoCu8zc5LEJExzVtFerNObkp6v3QWr24DdY8nvAiBRnllwejgEPvBAfTYz1v5iB2eQx+mj5RRee49z3UzYZA=="}]},"_npmUser":{"name":"sjc5","email":"email@samcook.cc"},"directories":{},"maintainers":[{"name":"sjc5","email":"email@samcook.cc"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/hwy_0.2.2-beat.21_1696654419085_0.7335181157347652"},"_hasShrinkwrap":false},"0.2.2-beta.21":{"name":"hwy","version":"0.2.2-beta.21","author":{"name":"Samuel J. Cook"},"license":"MIT","description":"Lightweight, flexible, and powerful alternative to NextJS, based on HTMX instead of React","type":"module","main":"dist/index.js","scripts":{"build":"rimraf dist && tsup-node index.ts --format esm --dts","dev":"rimraf dist && tsup-node index.ts --format esm --dts --watch --sourcemap","publish-beta":"npm publish --tag beta"},"devDependencies":{"@hono/node-server":"^1.2.0","@hwy-js/dev":"workspace:*","@types/node":"^20.6.3","hono":"^3.7.1","rimraf":"^5.0.1","tsup":"^7.2.0"},"repository":{"type":"git","url":"git+https://github.com/hwy-js/hwy.git","directory":"packages/core"},"homepage":"https://hwy.dev","bugs":{"url":"https://github.com/hwy-js/hwy/issues"},"keywords":["framework","typescript","htmx","hono","router","jsx","nextjs","remix"],"sideEffects":false,"_id":"hwy@0.2.2-beta.21","readme":"# Hwy\n\nHwy is a lightweight, flexible, and powerful alternative to NextJS, based on HTMX instead of React.\n\n## Quick Start\n\n```bash\nnpx create-hwy@latest\n```\n\n## What is Hwy?\n\nHwy is a lot like NextJS or Remix, but it uses **_HTMX_** instead of React on the frontend.\n\nHwy lets you write **_React-style JSX_** in **_nested, file-based routes_**, with **_Remix-style actions and parallel loaders_**.\n\nPage components are async, so you can even **_fetch data in JSX_** if you want to (just be careful with waterfalls).\n\nThe backend server is built on **_Hono_**, so you have access to a rich, growing ecosystem with lots of middleware and wonderful docs.\n\nHwy is **_100% server-rendered_**, but with the HTMX defaults Hwy sets up for you out of the box, your app still **_feels like an SPA_**.\n\nLinks and forms are automatically **_progressively enhanced_** thanks to HTMX's `hx-boost` feature. Just use normal anchor tags and traditional form attributes.\n\nBecause Hwy replaces the **_full page_** on transitions by default, everything stays **_simple_**. You don't have to return different components from different endpoints (unless you want to).\n\nAnd best of all, **_anything you can do with Hono or HTMX, you can do with Hwy_**.\n\n## Features\n\n- Server-rendered JSX / TSX\n- Nested, file-based routing\n- Remix-style actions and parallel loaders\n- Async page components\n- Rich Hono middleware ecosystem\n- 100% type-safe\n- Server built on Hono\n- Client built on HTMX\n- Built-in critical CSS inlining\n- Live browser refresh during development\n- And more...\n\n## Guiding Principles\n\n- No speed limits\n- Numerous off-ramps\n- Smooth, safe roads\n- Clear traffic signs\n\n## Simple usage\n\nBelow is an example of a simple Hwy page. You'll notice it looks a lot like Remix, and you're right! Hwy is heavily inspired by Remix, but it uses HTMX instead of React.\n\n```tsx\n// src/pages/user/$user_id.page.tsx\n\nimport type { DataFunctionArgs, PageProps } from \"hwy\";\nimport { UserProfile, getUser } from \"./somewhere.js\";\n\nexport async function loader({ params }: DataFunctionArgs) {\n  return await getUser(params.user_id);\n}\n\nexport default async function ({ loaderData }: PageProps<typeof loader>) {\n  return <UserProfile user={loaderData} />;\n}\n```\n\nOr, if you prefer to fetch inside your components:\n\n```tsx\nexport default async function ({ params }: PageProps) {\n  const user = await getUser(params.user_id);\n\n  return <UserProfile user={user} />;\n}\n```\n\n## Get Started\n\nIf you want to dive right in, just open a terminal and run `npx create-hwy@latest` and follow the prompts.\n\nIf you'd prefer to read more first, take a peek at [our docs](https://hwy.dev/docs).\n\n## Acknowledgements\n\nHwy's APIs are obviously inspired by Remix. If Remix didn't exist, Hwy likely wouldn't exist either. Hwy doesn't use any Remix code, but it still owes a big thanks to the Remix team (past and present) for their top-tier patterns design. If you're building something huge and important today, use Remix.\n\n## Disclaimer\n\nHwy is in beta! Act accordingly.\n\n## License\n\nMIT License\n\nCopyright (c) 2023 Samuel J. Cook\n","readmeFilename":"README.md","gitHead":"5e57d6081c7c74f0879c932b6ef8f596dd7330b2","types":"./dist/index.d.ts","_nodeVersion":"18.17.1","_npmVersion":"10.0.0","dist":{"integrity":"sha512-lKkgJo/zZKcQKPgqAJeNZ4dujcVmRxYfgNWKg9MA3VCqggaJLxyexv7Wl+26B5XEfWOMYeMn7tP8QrMZznVZNA==","shasum":"55c9247b5f651400b2eeb0c5df682b883b72c729","tarball":"https://registry.npmjs.org/hwy/-/hwy-0.2.2-beta.21.tgz","fileCount":4,"unpackedSize":34696,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCBUE5Cr27gSsfyEX2FSm0faZDMrcR+jDDE4USQvKixHAIhAP2S2c2fBxlvNz046xPzIcf3wXodqP7xU5A43dnKSl+p"}]},"_npmUser":{"name":"sjc5","email":"email@samcook.cc"},"directories":{},"maintainers":[{"name":"sjc5","email":"email@samcook.cc"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/hwy_0.2.2-beta.21_1696654456080_0.2531135392646804"},"_hasShrinkwrap":false},"0.3.0-beta.0":{"name":"hwy","version":"0.3.0-beta.0","author":{"name":"Samuel J. Cook"},"license":"MIT","description":"Lightweight, flexible, and powerful alternative to NextJS, based on HTMX instead of React","type":"module","main":"dist/index.js","scripts":{"build":"rimraf dist && tsup-node index.ts --format esm --dts","dev":"rimraf dist && tsup-node index.ts --format esm --dts --watch --sourcemap","publish-beta":"npm publish --tag beta"},"devDependencies":{"@hono/node-server":"^1.2.0","@hwy-js/dev":"workspace:*","@types/node":"^20.6.3","hono":"^3.7.1","rimraf":"^5.0.1","tsup":"^7.2.0"},"repository":{"type":"git","url":"git+https://github.com/hwy-js/hwy.git","directory":"packages/core"},"homepage":"https://hwy.dev","bugs":{"url":"https://github.com/hwy-js/hwy/issues"},"keywords":["framework","typescript","htmx","hono","router","jsx","nextjs","remix"],"sideEffects":false,"_id":"hwy@0.3.0-beta.0","readme":"# Hwy\n\nHwy is a lightweight, flexible, and powerful alternative to NextJS, based on HTMX instead of React.\n\n## Quick Start\n\n```bash\nnpx create-hwy@latest\n```\n\n## What is Hwy?\n\nHwy is a lot like NextJS or Remix, but it uses **_HTMX_** instead of React on the frontend.\n\nHwy lets you write **_React-style JSX_** in **_nested, file-based routes_**, with **_Remix-style actions and parallel loaders_**.\n\nPage components are async, so you can even **_fetch data in JSX_** if you want to (just be careful with waterfalls).\n\nThe backend server is built on **_Hono_**, so you have access to a rich, growing ecosystem with lots of middleware and wonderful docs.\n\nHwy is **_100% server-rendered_**, but with the HTMX defaults Hwy sets up for you out of the box, your app still **_feels like an SPA_**.\n\nLinks and forms are automatically **_progressively enhanced_** thanks to HTMX's `hx-boost` feature. Just use normal anchor tags and traditional form attributes.\n\nBecause Hwy replaces the **_full page_** on transitions by default, everything stays **_simple_**. You don't have to return different components from different endpoints (unless you want to).\n\nAnd best of all, **_anything you can do with Hono or HTMX, you can do with Hwy_**.\n\n## Features\n\n- Server-rendered JSX / TSX\n- Nested, file-based routing\n- Remix-style actions and parallel loaders\n- Async page components\n- Rich Hono middleware ecosystem\n- 100% type-safe\n- Server built on Hono\n- Client built on HTMX\n- Built-in critical CSS inlining\n- Live browser refresh during development\n- And more...\n\n## Guiding Principles\n\n- No speed limits\n- Numerous off-ramps\n- Smooth, safe roads\n- Clear traffic signs\n\n## Simple usage\n\nBelow is an example of a simple Hwy page. You'll notice it looks a lot like Remix, and you're right! Hwy is heavily inspired by Remix, but it uses HTMX instead of React.\n\n```tsx\n// src/pages/user/$user_id.page.tsx\n\nimport type { DataFunctionArgs, PageProps } from \"hwy\";\nimport { UserProfile, getUser } from \"./somewhere.js\";\n\nexport async function loader({ params }: DataFunctionArgs) {\n  return await getUser(params.user_id);\n}\n\nexport default async function ({ loaderData }: PageProps<typeof loader>) {\n  return <UserProfile user={loaderData} />;\n}\n```\n\nOr, if you prefer to fetch inside your components:\n\n```tsx\nexport default async function ({ params }: PageProps) {\n  const user = await getUser(params.user_id);\n\n  return <UserProfile user={user} />;\n}\n```\n\n## Get Started\n\nIf you want to dive right in, just open a terminal and run `npx create-hwy@latest` and follow the prompts.\n\nIf you'd prefer to read more first, take a peek at [our docs](https://hwy.dev/docs).\n\n## Acknowledgements\n\nHwy's APIs are obviously inspired by Remix. If Remix didn't exist, Hwy likely wouldn't exist either. Hwy doesn't use any Remix code, but it still owes a big thanks to the Remix team (past and present) for their top-tier patterns design. If you're building something huge and important today, use Remix.\n\n## Disclaimer\n\nHwy is in beta! Act accordingly.\n\n## License\n\nMIT License\n\nCopyright (c) 2023 Samuel J. Cook\n","readmeFilename":"README.md","gitHead":"0329fc9d8a0fba9a3d651f2a0faa4bede77c5ea4","types":"./dist/index.d.ts","_nodeVersion":"18.18.0","_npmVersion":"9.8.1","dist":{"integrity":"sha512-dnap9GuFa8U71iAlJqPNGKCLP/tBBZ8vEu4AiyQWr7G1GJt27ljU1jA7gTfhIXgUyt9RFtpZS4Q5AkT5+4jaBw==","shasum":"1c0873cfacad6514bc0a12aff3f28b1fcf6277cb","tarball":"https://registry.npmjs.org/hwy/-/hwy-0.3.0-beta.0.tgz","fileCount":4,"unpackedSize":34741,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIElffDbGZPUvwUToGjoUEZPMPi362uRPo9+KesNr2eYFAiEA8Zvv6IsadQN40gVRUEhnxIrrHq7MS6FLQ8iKd1a6cyM="}]},"_npmUser":{"name":"sjc5","email":"email@samcook.cc"},"directories":{},"maintainers":[{"name":"sjc5","email":"email@samcook.cc"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/hwy_0.3.0-beta.0_1696713467698_0.09788241056451152"},"_hasShrinkwrap":false},"0.3.0-beta.1":{"name":"hwy","version":"0.3.0-beta.1","author":{"name":"Samuel J. Cook"},"license":"MIT","description":"Simple, lightweight, and flexible web framework, built on Hono and HTMX.","type":"module","main":"dist/index.js","scripts":{"build":"rimraf dist && tsup-node index.ts --format esm --dts","dev":"rimraf dist && tsup-node index.ts --format esm --dts --watch --sourcemap","publish-beta":"npm publish --tag beta"},"devDependencies":{"@hono/node-server":"^1.2.0","@hwy-js/dev":"workspace:*","@types/node":"^20.8.3","hono":"^3.7.5","rimraf":"^5.0.5","tsup":"^7.2.0"},"repository":{"type":"git","url":"git+https://github.com/hwy-js/hwy.git","directory":"packages/core"},"homepage":"https://hwy.dev","bugs":{"url":"https://github.com/hwy-js/hwy/issues"},"keywords":["simple","lightweight","flexible","framework","metaframework","web","typescript","htmx","hono","router","nested","routing","jsx","tsx","nextjs","remix"],"sideEffects":false,"_id":"hwy@0.3.0-beta.1","readme":"# Hwy\n\nHwy is a simple, lightweight, and flexible web framework, built on Hono and HTMX.\n\n## Quick Start\n\n```bash\nnpx create-hwy@latest\n```\n\n## What is Hwy?\n\nHwy is a lot like NextJS or Remix, but it uses **_HTMX_** instead of React on the frontend.\n\nHwy lets you write **_React-style JSX_** in **_nested, file-based routes_**, with **_Remix-style actions and parallel loaders_**.\n\nPage components are async, so you can even **_fetch data in JSX_** if you want to (just be careful with waterfalls).\n\nThe backend server is built on **_Hono_**, so you have access to a rich, growing ecosystem with lots of middleware and wonderful docs.\n\nHwy is **_100% server-rendered_**, but with the HTMX defaults Hwy sets up for you out of the box, your app still **_feels like an SPA_**.\n\nLinks and forms are automatically **_progressively enhanced_** thanks to HTMX's `hx-boost` feature. Just use normal anchor tags and traditional form attributes.\n\nBecause Hwy replaces the **_full page_** on transitions by default, everything stays **_simple_**. You don't have to return different components from different endpoints (unless you want to).\n\nAnd best of all, **_anything you can do with Hono or HTMX, you can do with Hwy_**.\n\n## Features\n\n- Server-rendered JSX / TSX\n- Nested, file-based routing\n- Remix-style actions and parallel loaders\n- Async page components\n- Rich Hono middleware ecosystem\n- 100% type-safe\n- Server built on Hono\n- Client built on HTMX\n- Built-in critical CSS inlining\n- Live browser refresh during development\n- And more...\n\n## Guiding Principles\n\n- No speed limits\n- Numerous off-ramps\n- Smooth, safe roads\n- Clear traffic signs\n\n## Simple usage\n\nBelow is an example of a simple Hwy page. You'll notice it looks a lot like Remix, and you're right! Hwy is heavily inspired by Remix, but it uses HTMX instead of React.\n\n```tsx\n// src/pages/user/$user_id.page.tsx\n\nimport type { DataFunctionArgs, PageProps } from \"hwy\";\nimport { UserProfile, getUser } from \"./somewhere.js\";\n\nexport async function loader({ params }: DataFunctionArgs) {\n  return await getUser(params.user_id);\n}\n\nexport default async function ({ loaderData }: PageProps<typeof loader>) {\n  return <UserProfile user={loaderData} />;\n}\n```\n\nOr, if you prefer to fetch inside your components:\n\n```tsx\nexport default async function ({ params }: PageProps) {\n  const user = await getUser(params.user_id);\n\n  return <UserProfile user={user} />;\n}\n```\n\n## Get Started\n\nIf you want to dive right in, just open a terminal and run `npx create-hwy@latest` and follow the prompts.\n\nIf you'd prefer to read more first, take a peek at [our docs](https://hwy.dev/docs).\n\n## Acknowledgements\n\nHwy's APIs are obviously inspired by Remix. If Remix didn't exist, Hwy likely wouldn't exist either. Hwy doesn't use any Remix code, but it still owes a big thanks to the Remix team (past and present) for their top-tier patterns design. If you're building something huge and important today, use Remix.\n\n## Disclaimer\n\nHwy is in beta! Act accordingly.\n\n## License\n\nMIT License\n\nCopyright (c) 2023 Samuel J. Cook\n","readmeFilename":"README.md","gitHead":"ace6033febafd841b85ad7965a9c57e0e7f307cd","types":"./dist/index.d.ts","_nodeVersion":"18.18.0","_npmVersion":"9.8.1","dist":{"integrity":"sha512-UqXrlMk6Ty72nxcKAyX+fd6y+WdiritnXBOjcSfo2K51DdxgceRCeuK4919chllc22ligeW3eKjj1Qbtqxtl1A==","shasum":"a8500d164a6e07d715bfeeb497774bced3211d24","tarball":"https://registry.npmjs.org/hwy/-/hwy-0.3.0-beta.1.tgz","fileCount":4,"unpackedSize":34827,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIHuBD6rGk54rbvyZyNI28Ekd0hDl7qUPYQDdzIRyIBIvAiEAvyf9YPSI8/VVnTA6nR3J0TNUCvjwJdZl9De+FJYSt/0="}]},"_npmUser":{"name":"sjc5","email":"email@samcook.cc"},"directories":{},"maintainers":[{"name":"sjc5","email":"email@samcook.cc"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/hwy_0.3.0-beta.1_1696732057880_0.6284905064472532"},"_hasShrinkwrap":false},"0.3.0-beta.2":{"name":"hwy","version":"0.3.0-beta.2","author":{"name":"Samuel J. Cook"},"license":"MIT","description":"Simple, lightweight, and flexible web framework, built on Hono and HTMX.","type":"module","main":"dist/index.js","scripts":{"build":"rimraf dist && tsup-node index.ts --format esm --dts","dev":"rimraf dist && tsup-node index.ts --format esm --dts --watch --sourcemap","publish-beta":"npm publish --tag beta"},"devDependencies":{"@hono/node-server":"^1.2.0","@hwy-js/dev":"workspace:*","@types/node":"^20.8.3","hono":"^3.7.5","rimraf":"^5.0.5","tsup":"^7.2.0"},"repository":{"type":"git","url":"git+https://github.com/hwy-js/hwy.git","directory":"packages/core"},"homepage":"https://hwy.dev","bugs":{"url":"https://github.com/hwy-js/hwy/issues"},"keywords":["simple","lightweight","flexible","framework","metaframework","web","typescript","htmx","hono","router","nested","routing","jsx","tsx","nextjs","remix"],"sideEffects":false,"_id":"hwy@0.3.0-beta.2","readme":"# Hwy\n\nHwy is a simple, lightweight, and flexible web framework, built on Hono and HTMX.\n\n## Quick Start\n\n```bash\nnpx create-hwy@latest\n```\n\n## What is Hwy?\n\nHwy is a lot like NextJS or Remix, but it uses **_HTMX_** instead of React on the frontend.\n\nHwy lets you write **_React-style JSX_** in **_nested, file-based routes_**, with **_Remix-style actions and parallel loaders_**.\n\nPage components are async, so you can even **_fetch data in JSX_** if you want to (just be careful with waterfalls).\n\nThe backend server is built on **_Hono_**, so you have access to a rich, growing ecosystem with lots of middleware and wonderful docs.\n\nHwy is **_100% server-rendered_**, but with the HTMX defaults Hwy sets up for you out of the box, your app still **_feels like an SPA_**.\n\nLinks and forms are automatically **_progressively enhanced_** thanks to HTMX's `hx-boost` feature. Just use normal anchor tags and traditional form attributes.\n\nBecause Hwy replaces the **_full page_** on transitions by default, everything stays **_simple_**. You don't have to return different components from different endpoints (unless you want to).\n\nAnd best of all, **_anything you can do with Hono or HTMX, you can do with Hwy_**.\n\n## Features\n\n- Server-rendered JSX / TSX\n- Nested, file-based routing\n- Remix-style actions and parallel loaders\n- Async page components\n- Rich Hono middleware ecosystem\n- 100% type-safe\n- Server built on Hono\n- Client built on HTMX\n- Built-in critical CSS inlining\n- Live browser refresh during development\n- And more...\n\n## Guiding Principles\n\n- No speed limits\n- Numerous off-ramps\n- Smooth, safe roads\n- Clear traffic signs\n\n## Simple usage\n\nBelow is an example of a simple Hwy page. You'll notice it looks a lot like Remix, and you're right! Hwy is heavily inspired by Remix, but it uses HTMX instead of React.\n\n```tsx\n// src/pages/user/$user_id.page.tsx\n\nimport type { DataFunctionArgs, PageProps } from \"hwy\";\nimport { UserProfile, getUser } from \"./somewhere.js\";\n\nexport async function loader({ params }: DataFunctionArgs) {\n  return await getUser(params.user_id);\n}\n\nexport default async function ({ loaderData }: PageProps<typeof loader>) {\n  return <UserProfile user={loaderData} />;\n}\n```\n\nOr, if you prefer to fetch inside your components:\n\n```tsx\nexport default async function ({ params }: PageProps) {\n  const user = await getUser(params.user_id);\n\n  return <UserProfile user={user} />;\n}\n```\n\n## Get Started\n\nIf you want to dive right in, just open a terminal and run `npx create-hwy@latest` and follow the prompts.\n\nIf you'd prefer to read more first, take a peek at [our docs](https://hwy.dev/docs).\n\n## Acknowledgements\n\nHwy's APIs are obviously inspired by Remix. If Remix didn't exist, Hwy likely wouldn't exist either. Hwy doesn't use any Remix code, but it still owes a big thanks to the Remix team (past and present) for their top-tier patterns design. If you're building something huge and important today, use Remix.\n\n## Disclaimer\n\nHwy is in beta! Act accordingly.\n\n## License\n\nMIT License\n\nCopyright (c) 2023 Samuel J. Cook\n","readmeFilename":"README.md","gitHead":"2c61cc9a5696f5658762713e12c93c76bc22797f","types":"./dist/index.d.ts","_nodeVersion":"18.18.0","_npmVersion":"9.8.1","dist":{"integrity":"sha512-dpxAReCoLG6zc9hFLZwqrFlOIgnJAo2q8WU2D6m5eX/3whReFVpFri+9iZdBYFr+uh3X5iAPGtroxE6xef6Uaw==","shasum":"3fbf145c923eaca5435e31031c3510f7bdc12aeb","tarball":"https://registry.npmjs.org/hwy/-/hwy-0.3.0-beta.2.tgz","fileCount":4,"unpackedSize":34827,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCICCJ934fhzKD616GjnCnBKab+i7xyije+XoE6UyKYkvvAiBT431cUoiAKWPzHTAdKtXhLk2WdMMOKCOoMwj/UnFLEA=="}]},"_npmUser":{"name":"sjc5","email":"email@samcook.cc"},"directories":{},"maintainers":[{"name":"sjc5","email":"email@samcook.cc"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/hwy_0.3.0-beta.2_1696733479136_0.7753377364849148"},"_hasShrinkwrap":false},"0.3.0-beta.3":{"name":"hwy","version":"0.3.0-beta.3","author":{"name":"Samuel J. Cook"},"license":"MIT","description":"Simple, lightweight, and flexible web framework, built on Hono and HTMX.","type":"module","main":"dist/index.js","scripts":{"build":"rimraf dist && tsup-node index.ts --format esm --dts","dev":"rimraf dist && tsup-node index.ts --format esm --dts --watch --sourcemap","publish-beta":"npm publish --tag beta"},"devDependencies":{"@hono/node-server":"^1.2.0","@hwy-js/dev":"workspace:*","@types/node":"^20.8.3","hono":"^3.7.5","rimraf":"^5.0.5","tsup":"^7.2.0"},"repository":{"type":"git","url":"git+https://github.com/hwy-js/hwy.git","directory":"packages/core"},"homepage":"https://hwy.dev","bugs":{"url":"https://github.com/hwy-js/hwy/issues"},"keywords":["simple","lightweight","flexible","framework","metaframework","web","typescript","htmx","hono","router","nested","routing","jsx","tsx","nextjs","remix"],"sideEffects":false,"_id":"hwy@0.3.0-beta.3","readme":"# Hwy\n\nHwy is a simple, lightweight, and flexible web framework, built on Hono and HTMX.\n\n## Quick Start\n\n```bash\nnpx create-hwy@latest\n```\n\n## What is Hwy?\n\nHwy is a lot like NextJS or Remix, but it uses **_HTMX_** instead of React on the frontend.\n\nHwy lets you write **_React-style JSX_** in **_nested, file-based routes_**, with **_Remix-style actions and parallel loaders_**.\n\nPage components are async, so you can even **_fetch data in JSX_** if you want to (just be careful with waterfalls).\n\nThe backend server is built on **_Hono_**, so you have access to a rich, growing ecosystem with lots of middleware and wonderful docs.\n\nHwy is **_100% server-rendered_**, but with the HTMX defaults Hwy sets up for you out of the box, your app still **_feels like an SPA_**.\n\nLinks and forms are automatically **_progressively enhanced_** thanks to HTMX's `hx-boost` feature. Just use normal anchor tags and traditional form attributes.\n\nBecause Hwy replaces the **_full page_** on transitions by default, everything stays **_simple_**. You don't have to return different components from different endpoints (unless you want to).\n\nAnd best of all, **_anything you can do with Hono or HTMX, you can do with Hwy_**.\n\n## Features\n\n- Server-rendered JSX / TSX\n- Nested, file-based routing\n- Remix-style actions and parallel loaders\n- Async page components\n- Rich Hono middleware ecosystem\n- 100% type-safe\n- Server built on Hono\n- Client built on HTMX\n- Built-in critical CSS inlining\n- Live browser refresh during development\n- And more...\n\n## Guiding Principles\n\n- No speed limits\n- Numerous off-ramps\n- Smooth, safe roads\n- Clear traffic signs\n\n## Simple usage\n\nBelow is an example of a simple Hwy page. You'll notice it looks a lot like Remix, and you're right! Hwy is heavily inspired by Remix, but it uses HTMX instead of React.\n\n```tsx\n// src/pages/user/$user_id.page.tsx\n\nimport type { DataFunctionArgs, PageProps } from \"hwy\";\nimport { UserProfile, getUser } from \"./somewhere.js\";\n\nexport async function loader({ params }: DataFunctionArgs) {\n  return await getUser(params.user_id);\n}\n\nexport default async function ({ loaderData }: PageProps<typeof loader>) {\n  return <UserProfile user={loaderData} />;\n}\n```\n\nOr, if you prefer to fetch inside your components:\n\n```tsx\nexport default async function ({ params }: PageProps) {\n  const user = await getUser(params.user_id);\n\n  return <UserProfile user={user} />;\n}\n```\n\n## Get Started\n\nIf you want to dive right in, just open a terminal and run `npx create-hwy@latest` and follow the prompts.\n\nIf you'd prefer to read more first, take a peek at [our docs](https://hwy.dev/docs).\n\n## Acknowledgements\n\nHwy's APIs are obviously inspired by Remix. If Remix didn't exist, Hwy likely wouldn't exist either. Hwy doesn't use any Remix code, but it still owes a big thanks to the Remix team (past and present) for their top-tier patterns design. If you're building something huge and important today, use Remix.\n\n## Disclaimer\n\nHwy is in beta! Act accordingly.\n\n## License\n\nMIT License\n\nCopyright (c) 2023 Samuel J. Cook\n","readmeFilename":"README.md","gitHead":"1f42845e6589d845ad6e52834a6ccf2beadcfb74","types":"./dist/index.d.ts","_nodeVersion":"18.18.0","_npmVersion":"9.8.1","dist":{"integrity":"sha512-y4dWZRBwf9uSdXa2ALEmkEPP/xnXHadKXo8mtRM9yFdArik9By55ofwznLyljYkmsDuMH0MtqLHF+di3F45pTQ==","shasum":"8372f92a67f62517fea195201aa19a906d975750","tarball":"https://registry.npmjs.org/hwy/-/hwy-0.3.0-beta.3.tgz","fileCount":4,"unpackedSize":34895,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCt/QpAsv2U/BxpIsVzVi15s+2QB/9GW3B26SnAyxODwwIhALfojSc2O2GbRTkPkfn8xFykcnVDQOs7hJ/1DHXIIk0O"}]},"_npmUser":{"name":"sjc5","email":"email@samcook.cc"},"directories":{},"maintainers":[{"name":"sjc5","email":"email@samcook.cc"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/hwy_0.3.0-beta.3_1696878026786_0.22185235101058742"},"_hasShrinkwrap":false},"0.3.0-beta.4":{"name":"hwy","version":"0.3.0-beta.4","author":{"name":"Samuel J. Cook"},"license":"MIT","description":"Simple, lightweight, and flexible web framework, built on Hono and HTMX.","type":"module","main":"dist/index.js","scripts":{"build":"rimraf dist && tsup-node index.ts --format esm --dts","dev":"rimraf dist && tsup-node index.ts --format esm --dts --watch --sourcemap","publish-beta":"npm publish --tag beta"},"devDependencies":{"@hono/node-server":"^1.2.0","@hwy-js/dev":"workspace:*","@types/node":"^20.8.3","hono":"^3.7.5","rimraf":"^5.0.5","tsup":"^7.2.0"},"repository":{"type":"git","url":"git+https://github.com/hwy-js/hwy.git","directory":"packages/core"},"homepage":"https://hwy.dev","bugs":{"url":"https://github.com/hwy-js/hwy/issues"},"keywords":["simple","lightweight","flexible","framework","metaframework","web","typescript","htmx","hono","router","nested","routing","jsx","tsx","nextjs","remix"],"sideEffects":false,"_id":"hwy@0.3.0-beta.4","readme":"# Hwy\n\nHwy is a simple, lightweight, and flexible web framework, built on Hono and HTMX.\n\n## Quick Start\n\n```bash\nnpx create-hwy@latest\n```\n\n## What is Hwy?\n\nHwy is a lot like NextJS or Remix, but it uses **_HTMX_** instead of React on the frontend.\n\nHwy lets you write **_React-style JSX_** in **_nested, file-based routes_**, with **_Remix-style actions and parallel loaders_**.\n\nPage components are async, so you can even **_fetch data in JSX_** if you want to (just be careful with waterfalls).\n\nThe backend server is built on **_Hono_**, so you have access to a rich, growing ecosystem with lots of middleware and wonderful docs.\n\nHwy is **_100% server-rendered_**, but with the HTMX defaults Hwy sets up for you out of the box, your app still **_feels like an SPA_**.\n\nLinks and forms are automatically **_progressively enhanced_** thanks to HTMX's `hx-boost` feature. Just use normal anchor tags and traditional form attributes.\n\nBecause Hwy replaces the **_full page_** on transitions by default, everything stays **_simple_**. You don't have to return different components from different endpoints (unless you want to).\n\nAnd best of all, **_anything you can do with Hono or HTMX, you can do with Hwy_**.\n\n## Features\n\n- Server-rendered JSX / TSX\n- Nested, file-based routing\n- Remix-style actions and parallel loaders\n- Async page components\n- Rich Hono middleware ecosystem\n- 100% type-safe\n- Server built on Hono\n- Client built on HTMX\n- Built-in critical CSS inlining\n- Live browser refresh during development\n- And more...\n\n## Guiding Principles\n\n- No speed limits\n- Numerous off-ramps\n- Smooth, safe roads\n- Clear traffic signs\n\n## Simple usage\n\nBelow is an example of a simple Hwy page. You'll notice it looks a lot like Remix, and you're right! Hwy is heavily inspired by Remix, but it uses HTMX instead of React.\n\n```tsx\n// src/pages/user/$user_id.page.tsx\n\nimport type { DataFunctionArgs, PageProps } from \"hwy\";\nimport { UserProfile, getUser } from \"./somewhere.js\";\n\nexport async function loader({ params }: DataFunctionArgs) {\n  return await getUser(params.user_id);\n}\n\nexport default async function ({ loaderData }: PageProps<typeof loader>) {\n  return <UserProfile user={loaderData} />;\n}\n```\n\nOr, if you prefer to fetch inside your components:\n\n```tsx\nexport default async function ({ params }: PageProps) {\n  const user = await getUser(params.user_id);\n\n  return <UserProfile user={user} />;\n}\n```\n\n## Get Started\n\nIf you want to dive right in, just open a terminal and run `npx create-hwy@latest` and follow the prompts.\n\nIf you'd prefer to read more first, take a peek at [our docs](https://hwy.dev/docs).\n\n## Acknowledgements\n\nHwy's APIs are obviously inspired by Remix. If Remix didn't exist, Hwy likely wouldn't exist either. Hwy doesn't use any Remix code, but it still owes a big thanks to the Remix team (past and present) for their top-tier patterns design. If you're building something huge and important today, use Remix.\n\n## Disclaimer\n\nHwy is in beta! Act accordingly.\n\n## License\n\nMIT License\n\nCopyright (c) 2023 Samuel J. Cook\n","readmeFilename":"README.md","gitHead":"0b5bd9fd44dcbb9df7b1361d2a88ced23ec1bfd2","types":"./dist/index.d.ts","_nodeVersion":"18.18.0","_npmVersion":"9.8.1","dist":{"integrity":"sha512-F5K8n13QuDFAZ0qRa0rjtBJFwP27PG5yJAXxEj17DodKZvGCFtw8hT4p2JtuyCAMGG/OlwkJz3u2RYiCzDJyqA==","shasum":"40b8dfa6602d80c130db6594ea328e4a45de13d3","tarball":"https://registry.npmjs.org/hwy/-/hwy-0.3.0-beta.4.tgz","fileCount":4,"unpackedSize":34892,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQC1CkQ4PM67FEJzKi47EsOOjuUqH85UnrVc/+tbkxs4/gIhAN7Ay3wWOJIlNj2YmtdkrP+6XZ+nl/QkdiTsN3M198p+"}]},"_npmUser":{"name":"sjc5","email":"email@samcook.cc"},"directories":{},"maintainers":[{"name":"sjc5","email":"email@samcook.cc"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/hwy_0.3.0-beta.4_1696891231009_0.062051721764513346"},"_hasShrinkwrap":false},"0.3.0-beta.5":{"name":"hwy","version":"0.3.0-beta.5","author":{"name":"Samuel J. Cook"},"license":"MIT","description":"Simple, lightweight, and flexible web framework, built on Hono and HTMX.","type":"module","main":"dist/index.js","scripts":{"build":"rimraf dist && tsup-node index.ts --format esm --dts","dev":"rimraf dist && tsup-node index.ts --format esm --dts --watch --sourcemap","publish-beta":"npm publish --tag beta"},"devDependencies":{"@hono/node-server":"^1.2.0","@hwy-js/dev":"workspace:*","@types/node":"^20.8.3","hono":"^3.7.5","rimraf":"^5.0.5","tsup":"^7.2.0"},"repository":{"type":"git","url":"git+https://github.com/hwy-js/hwy.git","directory":"packages/core"},"homepage":"https://hwy.dev","bugs":{"url":"https://github.com/hwy-js/hwy/issues"},"keywords":["simple","lightweight","flexible","framework","metaframework","web","typescript","htmx","hono","router","nested","routing","jsx","tsx","nextjs","remix"],"sideEffects":false,"_id":"hwy@0.3.0-beta.5","readme":"# Hwy\n\nHwy is a simple, lightweight, and flexible web framework, built on Hono and HTMX.\n\n## Quick Start\n\n```bash\nnpx create-hwy@latest\n```\n\n## What is Hwy?\n\nHwy is a lot like NextJS or Remix, but it uses **_HTMX_** instead of React on the frontend.\n\nHwy lets you write **_React-style JSX_** in **_nested, file-based routes_**, with **_Remix-style actions and parallel loaders_**.\n\nPage components are async, so you can even **_fetch data in JSX_** if you want to (just be careful with waterfalls).\n\nThe backend server is built on **_Hono_**, so you have access to a rich, growing ecosystem with lots of middleware and wonderful docs.\n\nHwy is **_100% server-rendered_**, but with the HTMX defaults Hwy sets up for you out of the box, your app still **_feels like an SPA_**.\n\nLinks and forms are automatically **_progressively enhanced_** thanks to HTMX's `hx-boost` feature. Just use normal anchor tags and traditional form attributes.\n\nBecause Hwy replaces the **_full page_** on transitions by default, everything stays **_simple_**. You don't have to return different components from different endpoints (unless you want to).\n\nAnd best of all, **_anything you can do with Hono or HTMX, you can do with Hwy_**.\n\n## Features\n\n- Server-rendered JSX / TSX\n- Nested, file-based routing\n- Remix-style actions and parallel loaders\n- Async page components\n- Rich Hono middleware ecosystem\n- 100% type-safe\n- Server built on Hono\n- Client built on HTMX\n- Built-in critical CSS inlining\n- Live browser refresh during development\n- And more...\n\n## Guiding Principles\n\n- No speed limits\n- Numerous off-ramps\n- Smooth, safe roads\n- Clear traffic signs\n\n## Simple usage\n\nBelow is an example of a simple Hwy page. You'll notice it looks a lot like Remix, and you're right! Hwy is heavily inspired by Remix, but it uses HTMX instead of React.\n\n```tsx\n// src/pages/user/$user_id.page.tsx\n\nimport type { DataFunctionArgs, PageProps } from \"hwy\";\nimport { UserProfile, getUser } from \"./somewhere.js\";\n\nexport async function loader({ params }: DataFunctionArgs) {\n  return await getUser(params.user_id);\n}\n\nexport default async function ({ loaderData }: PageProps<typeof loader>) {\n  return <UserProfile user={loaderData} />;\n}\n```\n\nOr, if you prefer to fetch inside your components:\n\n```tsx\nexport default async function ({ params }: PageProps) {\n  const user = await getUser(params.user_id);\n\n  return <UserProfile user={user} />;\n}\n```\n\n## Get Started\n\nIf you want to dive right in, just open a terminal and run `npx create-hwy@latest` and follow the prompts.\n\nIf you'd prefer to read more first, take a peek at [our docs](https://hwy.dev/docs).\n\n## Acknowledgements\n\nHwy's APIs are obviously inspired by Remix. If Remix didn't exist, Hwy likely wouldn't exist either. Hwy doesn't use any Remix code, but it still owes a big thanks to the Remix team (past and present) for their top-tier patterns design. If you're building something huge and important today, use Remix.\n\n## Disclaimer\n\nHwy is in beta! Act accordingly.\n\n## License\n\nMIT License\n\nCopyright (c) 2023 Samuel J. Cook\n","readmeFilename":"README.md","gitHead":"0b5bd9fd44dcbb9df7b1361d2a88ced23ec1bfd2","types":"./dist/index.d.ts","_nodeVersion":"18.18.0","_npmVersion":"9.8.1","dist":{"integrity":"sha512-knjh6yUoBFzIXPRRxYS2O0nT2MPZc5xTaMnZ0OZqtUVqyrbkYB+T6BtmZYSPf5E8J+pR6C8zFjcJse6jid8sGQ==","shasum":"d27cf47c50c81e15b8e3daf14498bf3085aa2f2b","tarball":"https://registry.npmjs.org/hwy/-/hwy-0.3.0-beta.5.tgz","fileCount":4,"unpackedSize":34938,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQD6lbrbVj6s/5o2rl2pEXTz2x6mg1OobowO79wqlV0QtgIgWlBZ9Fcg9WkWIiGJOsr5gY7bu3OCKY+hxat38IBQXsI="}]},"_npmUser":{"name":"sjc5","email":"email@samcook.cc"},"directories":{},"maintainers":[{"name":"sjc5","email":"email@samcook.cc"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/hwy_0.3.0-beta.5_1696892165501_0.3392668343319838"},"_hasShrinkwrap":false},"0.3.0":{"name":"hwy","version":"0.3.0","author":{"name":"Samuel J. Cook"},"license":"MIT","description":"Simple, lightweight, and flexible web framework, built on Hono and HTMX.","type":"module","main":"dist/index.js","scripts":{"build":"rimraf dist && tsup-node index.ts --format esm --dts","dev":"rimraf dist && tsup-node index.ts --format esm --dts --watch --sourcemap","publish-beta":"npm publish --tag beta"},"devDependencies":{"@hono/node-server":"^1.2.0","@hwy-js/dev":"workspace:*","@types/node":"^20.8.3","hono":"^3.7.5","rimraf":"^5.0.5","tsup":"^7.2.0"},"repository":{"type":"git","url":"git+https://github.com/hwy-js/hwy.git","directory":"packages/core"},"homepage":"https://hwy.dev","bugs":{"url":"https://github.com/hwy-js/hwy/issues"},"keywords":["simple","lightweight","flexible","framework","metaframework","web","typescript","htmx","hono","router","nested","routing","jsx","tsx","nextjs","remix"],"sideEffects":false,"_id":"hwy@0.3.0","gitHead":"90ecf64c432b081e1942895498829bc7440e0ee3","types":"./dist/index.d.ts","_nodeVersion":"18.18.0","_npmVersion":"9.8.1","dist":{"integrity":"sha512-GjkM0fmEYMt666N+mXW8TZVrjho0dQHbAlDjHWXTFsppBkHRjc8nvmkG8tdLxijZlOrmhcZp5qSvnXKd+Xm5BA==","shasum":"b61415e59a03a63798eed502497f577e4c9378b9","tarball":"https://registry.npmjs.org/hwy/-/hwy-0.3.0.tgz","fileCount":4,"unpackedSize":34931,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDWVkJCWr+14QzLXiwM+HXLR9kl3UhvKlr1QJUPaDVahQIhANdv6/xhKBf9WLDWUX+St19B+yt3czgmWD4aScmN8btM"}]},"_npmUser":{"name":"sjc5","email":"email@samcook.cc"},"directories":{},"maintainers":[{"name":"sjc5","email":"email@samcook.cc"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/hwy_0.3.0_1696896980108_0.8718809024621512"},"_hasShrinkwrap":false},"0.4.0-beta.0":{"name":"hwy","version":"0.4.0-beta.0","author":{"name":"Samuel J. Cook"},"license":"MIT","description":"Simple, lightweight, and flexible web framework, built on Hono and HTMX.","type":"module","main":"dist/index.js","scripts":{"build":"rimraf dist && tsup-node index.ts --format esm --dts","dev":"rimraf dist && tsup-node index.ts --format esm --dts --watch --sourcemap","publish-beta":"npm publish --tag beta"},"devDependencies":{"@hono/node-server":"^1.2.0","@hwy-js/dev":"workspace:*","@types/node":"^20.8.3","hono":"^3.7.5","rimraf":"^5.0.5","tsup":"^7.2.0"},"repository":{"type":"git","url":"git+https://github.com/hwy-js/hwy.git","directory":"packages/core"},"homepage":"https://hwy.dev","bugs":{"url":"https://github.com/hwy-js/hwy/issues"},"keywords":["simple","lightweight","flexible","framework","metaframework","web","typescript","htmx","hono","router","nested","routing","jsx","tsx","nextjs","remix"],"sideEffects":false,"_id":"hwy@0.4.0-beta.0","readme":"# Hwy\n\nHwy is a simple, lightweight, and flexible web framework, built on Hono and HTMX.\n\n## Quick Start\n\n```bash\nnpx create-hwy@latest\n```\n\n## What is Hwy?\n\nHwy is a lot like NextJS or Remix, but it uses **_HTMX_** instead of React on the frontend.\n\nHwy lets you write **_React-style JSX_** in **_nested, file-based routes_**, with **_Remix-style actions and parallel loaders_**.\n\nPage components are async, so you can even **_fetch data in JSX_** if you want to (just be careful with waterfalls).\n\nThe backend server is built on **_Hono_**, so you have access to a rich, growing ecosystem with lots of middleware and wonderful docs.\n\nHwy is **_100% server-rendered_**, but with the HTMX defaults Hwy sets up for you out of the box, your app still **_feels like an SPA_**.\n\nLinks and forms are automatically **_progressively enhanced_** thanks to HTMX's `hx-boost` feature. Just use normal anchor tags and traditional form attributes.\n\nBecause Hwy replaces the **_full page_** on transitions by default, everything stays **_simple_**. You don't have to return different components from different endpoints (unless you want to).\n\nAnd best of all, **_anything you can do with Hono or HTMX, you can do with Hwy_**.\n\n## Features\n\n- Server-rendered JSX / TSX\n- Nested, file-based routing\n- Remix-style actions and parallel loaders\n- Async page components\n- Rich Hono middleware ecosystem\n- 100% type-safe\n- Server built on Hono\n- Client built on HTMX\n- Built-in critical CSS inlining\n- Live browser refresh during development\n- And more...\n\n## Guiding Principles\n\n- No speed limits\n- Numerous off-ramps\n- Smooth, safe roads\n- Clear traffic signs\n\n## Simple usage\n\nBelow is an example of a simple Hwy page. You'll notice it looks a lot like Remix, and you're right! Hwy is heavily inspired by Remix, but it uses HTMX instead of React.\n\n```tsx\n// src/pages/user/$user_id.page.tsx\n\nimport type { DataFunctionArgs, PageProps } from \"hwy\";\nimport { UserProfile, getUser } from \"./somewhere.js\";\n\nexport async function loader({ params }: DataFunctionArgs) {\n  return await getUser(params.user_id);\n}\n\nexport default async function ({ loaderData }: PageProps<typeof loader>) {\n  return <UserProfile user={loaderData} />;\n}\n```\n\nOr, if you prefer to fetch inside your components:\n\n```tsx\nexport default async function ({ params }: PageProps) {\n  const user = await getUser(params.user_id);\n\n  return <UserProfile user={user} />;\n}\n```\n\n## Get Started\n\nIf you want to dive right in, just open a terminal and run `npx create-hwy@latest` and follow the prompts.\n\nIf you'd prefer to read more first, take a peek at [our docs](https://hwy.dev/docs).\n\n## Acknowledgements\n\nHwy's APIs are obviously inspired by Remix. If Remix didn't exist, Hwy likely wouldn't exist either. Hwy doesn't use any Remix code, but it still owes a big thanks to the Remix team (past and present) for their top-tier patterns design. If you're building something huge and important today, use Remix.\n\n## Disclaimer\n\nHwy is in beta! Act accordingly.\n\n## License\n\nMIT License\n\nCopyright (c) 2023 Samuel J. Cook\n","readmeFilename":"README.md","gitHead":"386cebe88a029a34e63d6c884756bcb39590c004","types":"./dist/index.d.ts","_nodeVersion":"18.18.0","_npmVersion":"9.8.1","dist":{"integrity":"sha512-2Rf7/sx71NTUaOsvDx0MTIxBPvFVAEWM00aYDjlqFLH2BbfqGP5CE6eM1ekaGcfOIZUTDaJ1i1m5vgijCClYdA==","shasum":"7f2895e8ee77824da12ecb15a31a0922d0a902fd","tarball":"https://registry.npmjs.org/hwy/-/hwy-0.4.0-beta.0.tgz","fileCount":4,"unpackedSize":34473,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIAhx94DtiaVv0xBoyBWeBs+ymgDQGMitaMPpjjMB8sAiAiEAmAtZvp3ytat8dytfOech5SNMC+eVS0Gwyrm4LFkmISU="}]},"_npmUser":{"name":"sjc5","email":"email@samcook.cc"},"directories":{},"maintainers":[{"name":"sjc5","email":"email@samcook.cc"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/hwy_0.4.0-beta.0_1696995036842_0.2571474903058135"},"_hasShrinkwrap":false},"0.4.0-beta.1":{"name":"hwy","version":"0.4.0-beta.1","author":{"name":"Samuel J. Cook"},"license":"MIT","description":"Simple, lightweight, and flexible web framework, built on Hono and HTMX.","type":"module","main":"dist/index.js","scripts":{"build":"rm -rf dist && tsup-node index.ts --format esm --dts","dev":"rm -rf dist && tsup-node index.ts --format esm --dts --watch --sourcemap","publish-beta":"npm publish --tag beta"},"devDependencies":{"@hono/node-server":"^1.2.0","@hwy-js/dev":"workspace:*","@types/node":"^20.8.3","hono":"^3.7.5","tsup":"^7.2.0"},"repository":{"type":"git","url":"git+https://github.com/hwy-js/hwy.git","directory":"packages/core"},"homepage":"https://hwy.dev","bugs":{"url":"https://github.com/hwy-js/hwy/issues"},"keywords":["simple","lightweight","flexible","framework","metaframework","web","typescript","htmx","hono","router","nested","routing","jsx","tsx","nextjs","remix"],"sideEffects":false,"_id":"hwy@0.4.0-beta.1","readme":"# Hwy\n\nHwy is a simple, lightweight, and flexible web framework, built on Hono and HTMX.\n\n## Quick Start\n\n```bash\nnpx create-hwy@latest\n```\n\n## What is Hwy?\n\nHwy is a lot like NextJS or Remix, but it uses **_HTMX_** instead of React on the frontend.\n\nHwy lets you write **_React-style JSX_** in **_nested, file-based routes_**, with **_Remix-style actions and parallel loaders_**.\n\nPage components are async, so you can even **_fetch data in JSX_** if you want to (just be careful with waterfalls).\n\nThe backend server is built on **_Hono_**, so you have access to a rich, growing ecosystem with lots of middleware and wonderful docs.\n\nHwy is **_100% server-rendered_**, but with the HTMX defaults Hwy sets up for you out of the box, your app still **_feels like an SPA_**.\n\nLinks and forms are automatically **_progressively enhanced_** thanks to HTMX's `hx-boost` feature. Just use normal anchor tags and traditional form attributes.\n\nBecause Hwy replaces the **_full page_** on transitions by default, everything stays **_simple_**. You don't have to return different components from different endpoints (unless you want to).\n\nAnd best of all, **_anything you can do with Hono or HTMX, you can do with Hwy_**.\n\n## Features\n\n- Server-rendered JSX / TSX\n- Nested, file-based routing\n- Remix-style actions and parallel loaders\n- Async page components\n- Rich Hono middleware ecosystem\n- 100% type-safe\n- Server built on Hono\n- Client built on HTMX\n- Built-in critical CSS inlining\n- Live browser refresh during development\n- And more...\n\n## Guiding Principles\n\n- No speed limits\n- Numerous off-ramps\n- Smooth, safe roads\n- Clear traffic signs\n\n## Simple usage\n\nBelow is an example of a simple Hwy page. You'll notice it looks a lot like Remix, and you're right! Hwy is heavily inspired by Remix, but it uses HTMX instead of React.\n\n```tsx\n// src/pages/user/$user_id.page.tsx\n\nimport type { DataFunctionArgs, PageProps } from \"hwy\";\nimport { UserProfile, getUser } from \"./somewhere.js\";\n\nexport async function loader({ params }: DataFunctionArgs) {\n  return await getUser(params.user_id);\n}\n\nexport default async function ({ loaderData }: PageProps<typeof loader>) {\n  return <UserProfile user={loaderData} />;\n}\n```\n\nOr, if you prefer to fetch inside your components:\n\n```tsx\nexport default async function ({ params }: PageProps) {\n  const user = await getUser(params.user_id);\n\n  return <UserProfile user={user} />;\n}\n```\n\n## Get Started\n\nIf you want to dive right in, just open a terminal and run `npx create-hwy@latest` and follow the prompts.\n\nIf you'd prefer to read more first, take a peek at [our docs](https://hwy.dev/docs).\n\n## Acknowledgements\n\nHwy's APIs are obviously inspired by Remix. If Remix didn't exist, Hwy likely wouldn't exist either. Hwy doesn't use any Remix code, but it still owes a big thanks to the Remix team (past and present) for their top-tier patterns design. If you're building something huge and important today, use Remix.\n\n## Disclaimer\n\nHwy is in beta! Act accordingly.\n\n## License\n\nMIT License\n\nCopyright (c) 2023 Samuel J. Cook\n","readmeFilename":"README.md","gitHead":"e43e6fdf106c2dc06fb677b63cc939ae0b53da04","types":"./dist/index.d.ts","_nodeVersion":"18.18.0","_npmVersion":"9.8.1","dist":{"integrity":"sha512-T9ll9dG9m7aUHPV/HsFdOhWGXMOemrWHLQ26NEZrpwqQmQ74P3zfw4H33zTOs4BKILvchbtNOHBG4cPGY/sI1g==","shasum":"58db148144d5e8208c5a4bc0008a683c48a966c3","tarball":"https://registry.npmjs.org/hwy/-/hwy-0.4.0-beta.1.tgz","fileCount":4,"unpackedSize":36228,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIAjq9T0OtUMWGbIzMrDr2MroNYxM/tlTrbiawYU2W4TbAiEAnpopp6RFCXx3mMekAgR32U0jHrFR/8WtD8AaSW8mBRs="}]},"_npmUser":{"name":"sjc5","email":"email@samcook.cc"},"directories":{},"maintainers":[{"name":"sjc5","email":"email@samcook.cc"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/hwy_0.4.0-beta.1_1697081100025_0.8721076164840253"},"_hasShrinkwrap":false},"0.4.0-beta.3":{"name":"hwy","version":"0.4.0-beta.3","author":{"name":"Samuel J. Cook"},"license":"MIT","description":"Simple, lightweight, and flexible web framework, built on Hono and HTMX.","type":"module","main":"dist/index.js","scripts":{"build":"rm -rf dist && tsup-node index.ts --format esm --dts","dev":"rm -rf dist && tsup-node index.ts --format esm --dts --watch --sourcemap","publish-beta":"npm publish --tag beta"},"devDependencies":{"@hono/node-server":"^1.2.0","@hwy-js/build":"workspace:*","@hwy-js/dev":"workspace:*","@types/node":"^20.8.3","hono":"^3.7.5","tsup":"^7.2.0"},"repository":{"type":"git","url":"git+https://github.com/hwy-js/hwy.git","directory":"packages/core"},"homepage":"https://hwy.dev","bugs":{"url":"https://github.com/hwy-js/hwy/issues"},"keywords":["simple","lightweight","flexible","framework","metaframework","web","typescript","htmx","hono","router","nested","routing","jsx","tsx","nextjs","remix"],"sideEffects":false,"types":"./dist/index.d.ts","gitHead":"143f145be55d42cdcdf8a52cda7465b7bf0290c7","readme":"# Hwy\n\nHwy is a simple, lightweight, and flexible web framework, built on Hono and HTMX.\n\n## Quick Start\n\n```bash\nnpx create-hwy@latest\n```\n\n## What is Hwy?\n\nHwy is a lot like NextJS or Remix, but it uses **_HTMX_** instead of React on the frontend.\n\nHwy lets you write **_React-style JSX_** in **_nested, file-based routes_**, with **_Remix-style actions and parallel loaders_**.\n\nPage components are async, so you can even **_fetch data in JSX_** if you want to (just be careful with waterfalls).\n\nThe backend server is built on **_Hono_**, so you have access to a rich, growing ecosystem with lots of middleware and wonderful docs.\n\nHwy is **_100% server-rendered_**, but with the HTMX defaults Hwy sets up for you out of the box, your app still **_feels like an SPA_**.\n\nLinks and forms are automatically **_progressively enhanced_** thanks to HTMX's `hx-boost` feature. Just use normal anchor tags and traditional form attributes.\n\nBecause Hwy replaces the **_full page_** on transitions by default, everything stays **_simple_**. You don't have to return different components from different endpoints (unless you want to).\n\nAnd best of all, **_anything you can do with Hono or HTMX, you can do with Hwy_**.\n\n## Features\n\n- Server-rendered JSX / TSX\n- Nested, file-based routing\n- Remix-style actions and parallel loaders\n- Async page components\n- Rich Hono middleware ecosystem\n- 100% type-safe\n- Server built on Hono\n- Client built on HTMX\n- Built-in critical CSS inlining\n- Live browser refresh during development\n- And more...\n\n## Guiding Principles\n\n- No speed limits\n- Numerous off-ramps\n- Smooth, safe roads\n- Clear traffic signs\n\n## Simple usage\n\nBelow is an example of a simple Hwy page. You'll notice it looks a lot like Remix, and you're right! Hwy is heavily inspired by Remix, but it uses HTMX instead of React.\n\n```tsx\n// src/pages/user/$user_id.page.tsx\n\nimport type { DataFunctionArgs, PageProps } from \"hwy\";\nimport { UserProfile, getUser } from \"./somewhere.js\";\n\nexport async function loader({ params }: DataFunctionArgs) {\n  return await getUser(params.user_id);\n}\n\nexport default async function ({ loaderData }: PageProps<typeof loader>) {\n  return <UserProfile user={loaderData} />;\n}\n```\n\nOr, if you prefer to fetch inside your components:\n\n```tsx\nexport default async function ({ params }: PageProps) {\n  const user = await getUser(params.user_id);\n\n  return <UserProfile user={user} />;\n}\n```\n\n## Get Started\n\nIf you want to dive right in, just open a terminal and run `npx create-hwy@latest` and follow the prompts.\n\nIf you'd prefer to read more first, take a peek at [our docs](https://hwy.dev/docs).\n\n## Acknowledgements\n\nHwy's APIs are obviously inspired by Remix. If Remix didn't exist, Hwy likely wouldn't exist either. Hwy doesn't use any Remix code, but it still owes a big thanks to the Remix team (past and present) for their top-tier patterns design. If you're building something huge and important today, use Remix.\n\n## Disclaimer\n\nHwy is in beta! Act accordingly.\n\n## License\n\nMIT License\n\nCopyright (c) 2023 Samuel J. Cook\n","readmeFilename":"README.md","_id":"hwy@0.4.0-beta.3","_nodeVersion":"20.3.1","_npmVersion":"9.6.7","dist":{"integrity":"sha512-aF7+5xwuSxGBYk9R/hdJ3NCW7P6csFQSqku0v9FPyGzhyON4/NegzNpDzRMahh/bLHJdwHZuzW0BG/6LBC2o2Q==","shasum":"d0d3ad0cce78dadcf9a283ad8ac87e548abcdc7c","tarball":"https://registry.npmjs.org/hwy/-/hwy-0.4.0-beta.3.tgz","fileCount":4,"unpackedSize":35816,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQD8d9w65oaO8j5IMra241bF2Ph5RMUfI9udBmG+QkFXoAIhAIhPRu6c8/enxCdek4M/E10cVLa7jB2eq30IdjZsX8lz"}]},"_npmUser":{"name":"sjc5","email":"email@samcook.cc"},"directories":{},"maintainers":[{"name":"sjc5","email":"email@samcook.cc"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/hwy_0.4.0-beta.3_1697312688834_0.9387411953624358"},"_hasShrinkwrap":false},"0.4.0-beta.4":{"name":"hwy","version":"0.4.0-beta.4","author":{"name":"Samuel J. Cook"},"license":"MIT","description":"Simple, lightweight, and flexible web framework, built on Hono and HTMX.","type":"module","main":"dist/index.js","scripts":{"build":"rm -rf dist && tsup-node index.ts --format esm --dts","dev":"rm -rf dist && tsup-node index.ts --format esm --dts --watch --sourcemap","publish-beta":"npm publish --tag beta"},"devDependencies":{"@hono/node-server":"^1.2.0","@hwy-js/build":"workspace:*","@hwy-js/dev":"workspace:*","@types/node":"^20.8.3","hono":"^3.7.5","tsup":"^7.2.0"},"repository":{"type":"git","url":"git+https://github.com/hwy-js/hwy.git","directory":"packages/core"},"homepage":"https://hwy.dev","bugs":{"url":"https://github.com/hwy-js/hwy/issues"},"keywords":["simple","lightweight","flexible","framework","metaframework","web","typescript","htmx","hono","router","nested","routing","jsx","tsx","nextjs","remix"],"sideEffects":false,"types":"./dist/index.d.ts","gitHead":"fef99d4ff8e9150aff49396c58bb9072348fab07","readme":"# Hwy\n\nHwy is a simple, lightweight, and flexible web framework, built on Hono and HTMX.\n\n## Quick Start\n\n```bash\nnpx create-hwy@latest\n```\n\n## What is Hwy?\n\nHwy is a lot like NextJS or Remix, but it uses **_HTMX_** instead of React on the frontend.\n\nHwy lets you write **_React-style JSX_** in **_nested, file-based routes_**, with **_Remix-style actions and parallel loaders_**.\n\nPage components are async, so you can even **_fetch data in JSX_** if you want to (just be careful with waterfalls).\n\nThe backend server is built on **_Hono_**, so you have access to a rich, growing ecosystem with lots of middleware and wonderful docs.\n\nHwy is **_100% server-rendered_**, but with the HTMX defaults Hwy sets up for you out of the box, your app still **_feels like an SPA_**.\n\nLinks and forms are automatically **_progressively enhanced_** thanks to HTMX's `hx-boost` feature. Just use normal anchor tags and traditional form attributes.\n\nBecause Hwy replaces the **_full page_** on transitions by default, everything stays **_simple_**. You don't have to return different components from different endpoints (unless you want to).\n\nAnd best of all, **_anything you can do with Hono or HTMX, you can do with Hwy_**.\n\n## Features\n\n- Server-rendered JSX / TSX\n- Nested, file-based routing\n- Remix-style actions and parallel loaders\n- Async page components\n- Rich Hono middleware ecosystem\n- 100% type-safe\n- Server built on Hono\n- Client built on HTMX\n- Built-in critical CSS inlining\n- Live browser refresh during development\n- And more...\n\n## Guiding Principles\n\n- No speed limits\n- Numerous off-ramps\n- Smooth, safe roads\n- Clear traffic signs\n\n## Simple usage\n\nBelow is an example of a simple Hwy page. You'll notice it looks a lot like Remix, and you're right! Hwy is heavily inspired by Remix, but it uses HTMX instead of React.\n\n```tsx\n// src/pages/user/$user_id.page.tsx\n\nimport type { DataFunctionArgs, PageProps } from \"hwy\";\nimport { UserProfile, getUser } from \"./somewhere.js\";\n\nexport async function loader({ params }: DataFunctionArgs) {\n  return await getUser(params.user_id);\n}\n\nexport default async function ({ loaderData }: PageProps<typeof loader>) {\n  return <UserProfile user={loaderData} />;\n}\n```\n\nOr, if you prefer to fetch inside your components:\n\n```tsx\nexport default async function ({ params }: PageProps) {\n  const user = await getUser(params.user_id);\n\n  return <UserProfile user={user} />;\n}\n```\n\n## Get Started\n\nIf you want to dive right in, just open a terminal and run `npx create-hwy@latest` and follow the prompts.\n\nIf you'd prefer to read more first, take a peek at [our docs](https://hwy.dev/docs).\n\n## Acknowledgements\n\nHwy's APIs are obviously inspired by Remix. If Remix didn't exist, Hwy likely wouldn't exist either. Hwy doesn't use any Remix code, but it still owes a big thanks to the Remix team (past and present) for their top-tier patterns design. If you're building something huge and important today, use Remix.\n\n## Disclaimer\n\nHwy is in beta! Act accordingly.\n\n## License\n\nMIT License\n\nCopyright (c) 2023 Samuel J. Cook\n","readmeFilename":"README.md","_id":"hwy@0.4.0-beta.4","_nodeVersion":"20.3.1","_npmVersion":"9.6.7","dist":{"integrity":"sha512-1eqAZI5THJDxdF1B7qdWJ1pGt+wCI4BZDXAsswe8sqgFK4VV/pVj98kgAlN4IRoHE45DAPrO2xnjJrgKQepEEw==","shasum":"88dbca9c91a79364e080867773d885b303904a92","tarball":"https://registry.npmjs.org/hwy/-/hwy-0.4.0-beta.4.tgz","fileCount":4,"unpackedSize":35816,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQD7+YRSwgLSEKq+w+8ZhYCUaU3lIcF0ODc6wvTKw4OBJAIgTEjOyooMzoPwrQLT8WZFaIitdiWTCZDxsqbPBoXmaCc="}]},"_npmUser":{"name":"sjc5","email":"email@samcook.cc"},"directories":{},"maintainers":[{"name":"sjc5","email":"email@samcook.cc"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/hwy_0.4.0-beta.4_1697313785622_0.6152800348764846"},"_hasShrinkwrap":false},"0.4.0-beta.5":{"name":"hwy","version":"0.4.0-beta.5","author":{"name":"Samuel J. Cook"},"license":"MIT","description":"Simple, lightweight, and flexible web framework, built on Hono and HTMX.","type":"module","main":"dist/index.js","scripts":{"build":"rm -rf dist && tsup-node index.ts --format esm --dts","dev":"rm -rf dist && tsup-node index.ts --format esm --dts --watch --sourcemap","publish-beta":"npm publish --tag beta"},"devDependencies":{"@hono/node-server":"^1.2.0","@hwy-js/build":"workspace:*","@hwy-js/dev":"workspace:*","@types/node":"^20.8.3","hono":"^3.7.5","tsup":"^7.2.0"},"repository":{"type":"git","url":"git+https://github.com/hwy-js/hwy.git","directory":"packages/core"},"homepage":"https://hwy.dev","bugs":{"url":"https://github.com/hwy-js/hwy/issues"},"keywords":["simple","lightweight","flexible","framework","metaframework","web","typescript","htmx","hono","router","nested","routing","jsx","tsx","nextjs","remix"],"sideEffects":false,"types":"./dist/index.d.ts","readme":"# Hwy\n\nHwy is a simple, lightweight, and flexible web framework, built on Hono and HTMX.\n\n## Quick Start\n\n```bash\nnpx create-hwy@latest\n```\n\n## What is Hwy?\n\nHwy is a lot like NextJS or Remix, but it uses **_HTMX_** instead of React on the frontend.\n\nHwy lets you write **_React-style JSX_** in **_nested, file-based routes_**, with **_Remix-style actions and parallel loaders_**.\n\nPage components are async, so you can even **_fetch data in JSX_** if you want to (just be careful with waterfalls).\n\nThe backend server is built on **_Hono_**, so you have access to a rich, growing ecosystem with lots of middleware and wonderful docs.\n\nHwy is **_100% server-rendered_**, but with the HTMX defaults Hwy sets up for you out of the box, your app still **_feels like an SPA_**.\n\nLinks and forms are automatically **_progressively enhanced_** thanks to HTMX's `hx-boost` feature. Just use normal anchor tags and traditional form attributes.\n\nBecause Hwy replaces the **_full page_** on transitions by default, everything stays **_simple_**. You don't have to return different components from different endpoints (unless you want to).\n\nAnd best of all, **_anything you can do with Hono or HTMX, you can do with Hwy_**.\n\n## Features\n\n- Server-rendered JSX / TSX\n- Nested, file-based routing\n- Remix-style actions and parallel loaders\n- Async page components\n- Rich Hono middleware ecosystem\n- 100% type-safe\n- Server built on Hono\n- Client built on HTMX\n- Built-in critical CSS inlining\n- Live browser refresh during development\n- And more...\n\n## Guiding Principles\n\n- No speed limits\n- Numerous off-ramps\n- Smooth, safe roads\n- Clear traffic signs\n\n## Simple usage\n\nBelow is an example of a simple Hwy page. You'll notice it looks a lot like Remix, and you're right! Hwy is heavily inspired by Remix, but it uses HTMX instead of React.\n\n```tsx\n// src/pages/user/$user_id.page.tsx\n\nimport type { DataFunctionArgs, PageProps } from \"hwy\";\nimport { UserProfile, getUser } from \"./somewhere.js\";\n\nexport async function loader({ params }: DataFunctionArgs) {\n  return await getUser(params.user_id);\n}\n\nexport default async function ({ loaderData }: PageProps<typeof loader>) {\n  return <UserProfile user={loaderData} />;\n}\n```\n\nOr, if you prefer to fetch inside your components:\n\n```tsx\nexport default async function ({ params }: PageProps) {\n  const user = await getUser(params.user_id);\n\n  return <UserProfile user={user} />;\n}\n```\n\n## Get Started\n\nIf you want to dive right in, just open a terminal and run `npx create-hwy@latest` and follow the prompts.\n\nIf you'd prefer to read more first, take a peek at [our docs](https://hwy.dev/docs).\n\n## Acknowledgements\n\nHwy's APIs are obviously inspired by Remix. If Remix didn't exist, Hwy likely wouldn't exist either. Hwy doesn't use any Remix code, but it still owes a big thanks to the Remix team (past and present) for their top-tier patterns design. If you're building something huge and important today, use Remix.\n\n## Disclaimer\n\nHwy is in beta! Act accordingly.\n\n## License\n\nMIT License\n\nCopyright (c) 2023 Samuel J. Cook\n","readmeFilename":"README.md","gitHead":"fef99d4ff8e9150aff49396c58bb9072348fab07","_id":"hwy@0.4.0-beta.5","_nodeVersion":"20.3.1","_npmVersion":"9.6.7","dist":{"integrity":"sha512-1mjqeeikqD5y+8YjuwllZOzC2VdJpAfHoC4kkAsebhtLuE/LXvVKaPzvZugxj09bZfFOZOp7Q1x03LZcG14VOQ==","shasum":"3665eab849744a92cf5b4d4fc2d9163f94d1ca5c","tarball":"https://registry.npmjs.org/hwy/-/hwy-0.4.0-beta.5.tgz","fileCount":4,"unpackedSize":35816,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIB0bOvGenRY6pzvntX2kPG9/v37TEHZKntN7mQfa0P+PAiBrCQJDhYUbXSt3h0ezxNIS4lp0aG9DusX5mqo9Av9WHQ=="}]},"_npmUser":{"name":"sjc5","email":"email@samcook.cc"},"directories":{},"maintainers":[{"name":"sjc5","email":"email@samcook.cc"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/hwy_0.4.0-beta.5_1697314907067_0.9646406894854984"},"_hasShrinkwrap":false},"0.4.0-beta.6":{"name":"hwy","version":"0.4.0-beta.6","author":{"name":"Samuel J. Cook"},"license":"MIT","description":"Simple, lightweight, and flexible web framework, built on Hono and HTMX.","type":"module","main":"dist/index.js","scripts":{"build":"rm -rf dist && tsup-node index.ts --format esm --dts","dev":"rm -rf dist && tsup-node index.ts --format esm --dts --watch --sourcemap","publish-beta":"npm publish --tag beta"},"devDependencies":{"@hono/node-server":"^1.2.0","@hwy-js/build":"workspace:*","@hwy-js/dev":"workspace:*","@types/node":"^20.8.3","hono":"^3.7.5","tsup":"^7.2.0"},"repository":{"type":"git","url":"git+https://github.com/hwy-js/hwy.git","directory":"packages/core"},"homepage":"https://hwy.dev","bugs":{"url":"https://github.com/hwy-js/hwy/issues"},"keywords":["simple","lightweight","flexible","framework","metaframework","web","typescript","htmx","hono","router","nested","routing","jsx","tsx","nextjs","remix"],"sideEffects":false,"types":"./dist/index.d.ts","gitHead":"fef99d4ff8e9150aff49396c58bb9072348fab07","readme":"# Hwy\n\nHwy is a simple, lightweight, and flexible web framework, built on Hono and HTMX.\n\n## Quick Start\n\n```bash\nnpx create-hwy@latest\n```\n\n## What is Hwy?\n\nHwy is a lot like NextJS or Remix, but it uses **_HTMX_** instead of React on the frontend.\n\nHwy lets you write **_React-style JSX_** in **_nested, file-based routes_**, with **_Remix-style actions and parallel loaders_**.\n\nPage components are async, so you can even **_fetch data in JSX_** if you want to (just be careful with waterfalls).\n\nThe backend server is built on **_Hono_**, so you have access to a rich, growing ecosystem with lots of middleware and wonderful docs.\n\nHwy is **_100% server-rendered_**, but with the HTMX defaults Hwy sets up for you out of the box, your app still **_feels like an SPA_**.\n\nLinks and forms are automatically **_progressively enhanced_** thanks to HTMX's `hx-boost` feature. Just use normal anchor tags and traditional form attributes.\n\nBecause Hwy replaces the **_full page_** on transitions by default, everything stays **_simple_**. You don't have to return different components from different endpoints (unless you want to).\n\nAnd best of all, **_anything you can do with Hono or HTMX, you can do with Hwy_**.\n\n## Features\n\n- Server-rendered JSX / TSX\n- Nested, file-based routing\n- Remix-style actions and parallel loaders\n- Async page components\n- Rich Hono middleware ecosystem\n- 100% type-safe\n- Server built on Hono\n- Client built on HTMX\n- Built-in critical CSS inlining\n- Live browser refresh during development\n- And more...\n\n## Guiding Principles\n\n- No speed limits\n- Numerous off-ramps\n- Smooth, safe roads\n- Clear traffic signs\n\n## Simple usage\n\nBelow is an example of a simple Hwy page. You'll notice it looks a lot like Remix, and you're right! Hwy is heavily inspired by Remix, but it uses HTMX instead of React.\n\n```tsx\n// src/pages/user/$user_id.page.tsx\n\nimport type { DataFunctionArgs, PageProps } from \"hwy\";\nimport { UserProfile, getUser } from \"./somewhere.js\";\n\nexport async function loader({ params }: DataFunctionArgs) {\n  return await getUser(params.user_id);\n}\n\nexport default async function ({ loaderData }: PageProps<typeof loader>) {\n  return <UserProfile user={loaderData} />;\n}\n```\n\nOr, if you prefer to fetch inside your components:\n\n```tsx\nexport default async function ({ params }: PageProps) {\n  const user = await getUser(params.user_id);\n\n  return <UserProfile user={user} />;\n}\n```\n\n## Get Started\n\nIf you want to dive right in, just open a terminal and run `npx create-hwy@latest` and follow the prompts.\n\nIf you'd prefer to read more first, take a peek at [our docs](https://hwy.dev/docs).\n\n## Acknowledgements\n\nHwy's APIs are obviously inspired by Remix. If Remix didn't exist, Hwy likely wouldn't exist either. Hwy doesn't use any Remix code, but it still owes a big thanks to the Remix team (past and present) for their top-tier patterns design. If you're building something huge and important today, use Remix.\n\n## Disclaimer\n\nHwy is in beta! Act accordingly.\n\n## License\n\nMIT License\n\nCopyright (c) 2023 Samuel J. Cook\n","readmeFilename":"README.md","_id":"hwy@0.4.0-beta.6","_nodeVersion":"20.3.1","_npmVersion":"9.6.7","dist":{"integrity":"sha512-7qqBzIMvjXOUuv8Cg0ihWE8RO2dq1UU46l65+UdXcYf5zDYSWfHI9RzJQJOrdPLL4cBOEaVFgS65whI4leuyog==","shasum":"64f44ceedd2c077eeec7a35eb668784ab03bfc64","tarball":"https://registry.npmjs.org/hwy/-/hwy-0.4.0-beta.6.tgz","fileCount":4,"unpackedSize":35816,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIBIiM3GF1r9dJ9hB3SAgWBna4KuJFkQtgtIHFtBZn79iAiEAiWME4Bc4sYvkw+Jt024z96dSD26gdclySQZT9eqovuM="}]},"_npmUser":{"name":"sjc5","email":"email@samcook.cc"},"directories":{},"maintainers":[{"name":"sjc5","email":"email@samcook.cc"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/hwy_0.4.0-beta.6_1697315975814_0.9171027451396758"},"_hasShrinkwrap":false},"0.4.0-beta.7":{"name":"hwy","version":"0.4.0-beta.7","author":{"name":"Samuel J. Cook"},"license":"MIT","description":"Simple, lightweight, and flexible web framework, built on Hono and HTMX.","type":"module","main":"dist/index.js","scripts":{"build":"rm -rf dist && tsup-node index.ts --format esm --dts","dev":"rm -rf dist && tsup-node index.ts --format esm --dts --watch --sourcemap","publish-beta":"npm publish --tag beta"},"devDependencies":{"@hono/node-server":"^1.2.0","@hwy-js/build":"workspace:*","@hwy-js/dev":"workspace:*","@types/node":"^20.8.3","hono":"^3.7.5","tsup":"^7.2.0"},"repository":{"type":"git","url":"git+https://github.com/hwy-js/hwy.git","directory":"packages/core"},"homepage":"https://hwy.dev","bugs":{"url":"https://github.com/hwy-js/hwy/issues"},"keywords":["simple","lightweight","flexible","framework","metaframework","web","typescript","htmx","hono","router","nested","routing","jsx","tsx","nextjs","remix"],"sideEffects":false,"types":"./dist/index.d.ts","gitHead":"fef99d4ff8e9150aff49396c58bb9072348fab07","readme":"# Hwy\n\nHwy is a simple, lightweight, and flexible web framework, built on Hono and HTMX.\n\n## Quick Start\n\n```bash\nnpx create-hwy@latest\n```\n\n## What is Hwy?\n\nHwy is a lot like NextJS or Remix, but it uses **_HTMX_** instead of React on the frontend.\n\nHwy lets you write **_React-style JSX_** in **_nested, file-based routes_**, with **_Remix-style actions and parallel loaders_**.\n\nPage components are async, so you can even **_fetch data in JSX_** if you want to (just be careful with waterfalls).\n\nThe backend server is built on **_Hono_**, so you have access to a rich, growing ecosystem with lots of middleware and wonderful docs.\n\nHwy is **_100% server-rendered_**, but with the HTMX defaults Hwy sets up for you out of the box, your app still **_feels like an SPA_**.\n\nLinks and forms are automatically **_progressively enhanced_** thanks to HTMX's `hx-boost` feature. Just use normal anchor tags and traditional form attributes.\n\nBecause Hwy replaces the **_full page_** on transitions by default, everything stays **_simple_**. You don't have to return different components from different endpoints (unless you want to).\n\nAnd best of all, **_anything you can do with Hono or HTMX, you can do with Hwy_**.\n\n## Features\n\n- Server-rendered JSX / TSX\n- Nested, file-based routing\n- Remix-style actions and parallel loaders\n- Async page components\n- Rich Hono middleware ecosystem\n- 100% type-safe\n- Server built on Hono\n- Client built on HTMX\n- Built-in critical CSS inlining\n- Live browser refresh during development\n- And more...\n\n## Guiding Principles\n\n- No speed limits\n- Numerous off-ramps\n- Smooth, safe roads\n- Clear traffic signs\n\n## Simple usage\n\nBelow is an example of a simple Hwy page. You'll notice it looks a lot like Remix, and you're right! Hwy is heavily inspired by Remix, but it uses HTMX instead of React.\n\n```tsx\n// src/pages/user/$user_id.page.tsx\n\nimport type { DataFunctionArgs, PageProps } from \"hwy\";\nimport { UserProfile, getUser } from \"./somewhere.js\";\n\nexport async function loader({ params }: DataFunctionArgs) {\n  return await getUser(params.user_id);\n}\n\nexport default async function ({ loaderData }: PageProps<typeof loader>) {\n  return <UserProfile user={loaderData} />;\n}\n```\n\nOr, if you prefer to fetch inside your components:\n\n```tsx\nexport default async function ({ params }: PageProps) {\n  const user = await getUser(params.user_id);\n\n  return <UserProfile user={user} />;\n}\n```\n\n## Get Started\n\nIf you want to dive right in, just open a terminal and run `npx create-hwy@latest` and follow the prompts.\n\nIf you'd prefer to read more first, take a peek at [our docs](https://hwy.dev/docs).\n\n## Acknowledgements\n\nHwy's APIs are obviously inspired by Remix. If Remix didn't exist, Hwy likely wouldn't exist either. Hwy doesn't use any Remix code, but it still owes a big thanks to the Remix team (past and present) for their top-tier patterns design. If you're building something huge and important today, use Remix.\n\n## Disclaimer\n\nHwy is in beta! Act accordingly.\n\n## License\n\nMIT License\n\nCopyright (c) 2023 Samuel J. Cook\n","readmeFilename":"README.md","_id":"hwy@0.4.0-beta.7","_nodeVersion":"20.3.1","_npmVersion":"9.6.7","dist":{"integrity":"sha512-9aU4WVBB7EoyVQPCD3idRpWB9PHCx1LQKMioawK9ZVfWwopbeaz8MO4x44qXQ2nyPgJoga4SEeEsPC19e3Ta+A==","shasum":"f77422011ba13122d5c62bb39a82f81ce61a8970","tarball":"https://registry.npmjs.org/hwy/-/hwy-0.4.0-beta.7.tgz","fileCount":4,"unpackedSize":35816,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCICq+xmHW9mk40mGvs2JL9T1VxVRmLFH0HaiBjO++AcZrAiB7NQs5Ztqmck6NBXpRZXjb5oxIQSplh3MBvTP2StwVug=="}]},"_npmUser":{"name":"sjc5","email":"email@samcook.cc"},"directories":{},"maintainers":[{"name":"sjc5","email":"email@samcook.cc"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/hwy_0.4.0-beta.7_1697316835835_0.8800357700456292"},"_hasShrinkwrap":false},"0.4.0-beta.8":{"name":"hwy","version":"0.4.0-beta.8","author":{"name":"Samuel J. Cook"},"license":"MIT","description":"Simple, lightweight, and flexible web framework, built on Hono and HTMX.","type":"module","main":"dist/index.js","scripts":{"build":"rm -rf dist && tsup-node index.ts --format esm --dts","dev":"rm -rf dist && tsup-node index.ts --format esm --dts --watch --sourcemap","publish-beta":"npm publish --tag beta"},"devDependencies":{"@hono/node-server":"^1.2.0","@hwy-js/build":"workspace:*","@hwy-js/dev":"workspace:*","@types/node":"^20.8.3","hono":"^3.7.5","tsup":"^7.2.0"},"repository":{"type":"git","url":"git+https://github.com/hwy-js/hwy.git","directory":"packages/core"},"homepage":"https://hwy.dev","bugs":{"url":"https://github.com/hwy-js/hwy/issues"},"keywords":["simple","lightweight","flexible","framework","metaframework","web","typescript","htmx","hono","router","nested","routing","jsx","tsx","nextjs","remix"],"sideEffects":false,"_id":"hwy@0.4.0-beta.8","readme":"# Hwy\n\nHwy is a simple, lightweight, and flexible web framework, built on Hono and HTMX.\n\n## Quick Start\n\n```bash\nnpx create-hwy@latest\n```\n\n## What is Hwy?\n\nHwy is a lot like NextJS or Remix, but it uses **_HTMX_** instead of React on the frontend.\n\nHwy lets you write **_React-style JSX_** in **_nested, file-based routes_**, with **_Remix-style actions and parallel loaders_**.\n\nPage components are async, so you can even **_fetch data in JSX_** if you want to (just be careful with waterfalls).\n\nThe backend server is built on **_Hono_**, so you have access to a rich, growing ecosystem with lots of middleware and wonderful docs.\n\nHwy is **_100% server-rendered_**, but with the HTMX defaults Hwy sets up for you out of the box, your app still **_feels like an SPA_**.\n\nLinks and forms are automatically **_progressively enhanced_** thanks to HTMX's `hx-boost` feature. Just use normal anchor tags and traditional form attributes.\n\nBecause Hwy replaces the **_full page_** on transitions by default, everything stays **_simple_**. You don't have to return different components from different endpoints (unless you want to).\n\nAnd best of all, **_anything you can do with Hono or HTMX, you can do with Hwy_**.\n\n## Features\n\n- Server-rendered JSX / TSX\n- Nested, file-based routing\n- Remix-style actions and parallel loaders\n- Async page components\n- Rich Hono middleware ecosystem\n- 100% type-safe\n- Server built on Hono\n- Client built on HTMX\n- Built-in critical CSS inlining\n- Live browser refresh during development\n- And more...\n\n## Guiding Principles\n\n- No speed limits\n- Numerous off-ramps\n- Smooth, safe roads\n- Clear traffic signs\n\n## Simple usage\n\nBelow is an example of a simple Hwy page. You'll notice it looks a lot like Remix, and you're right! Hwy is heavily inspired by Remix, but it uses HTMX instead of React.\n\n```tsx\n// src/pages/user/$user_id.page.tsx\n\nimport type { DataFunctionArgs, PageProps } from \"hwy\";\nimport { UserProfile, getUser } from \"./somewhere.js\";\n\nexport async function loader({ params }: DataFunctionArgs) {\n  return await getUser(params.user_id);\n}\n\nexport default async function ({ loaderData }: PageProps<typeof loader>) {\n  return <UserProfile user={loaderData} />;\n}\n```\n\nOr, if you prefer to fetch inside your components:\n\n```tsx\nexport default async function ({ params }: PageProps) {\n  const user = await getUser(params.user_id);\n\n  return <UserProfile user={user} />;\n}\n```\n\n## Get Started\n\nIf you want to dive right in, just open a terminal and run `npx create-hwy@latest` and follow the prompts.\n\nIf you'd prefer to read more first, take a peek at [our docs](https://hwy.dev/docs).\n\n## Acknowledgements\n\nHwy's APIs are obviously inspired by Remix. If Remix didn't exist, Hwy likely wouldn't exist either. Hwy doesn't use any Remix code, but it still owes a big thanks to the Remix team (past and present) for their top-tier patterns design. If you're building something huge and important today, use Remix.\n\n## Disclaimer\n\nHwy is in beta! Act accordingly.\n\n## License\n\nMIT License\n\nCopyright (c) 2023 Samuel J. Cook\n","readmeFilename":"README.md","gitHead":"fef99d4ff8e9150aff49396c58bb9072348fab07","types":"./dist/index.d.ts","_nodeVersion":"18.18.0","_npmVersion":"9.8.1","dist":{"integrity":"sha512-EPPzK9GJDgiIhNGz2bv2lQbi1AhtHUQNrqmpI1mfZBf2F2t9oJHFibdcjn+1aDndXm44egyxxY2DnXiX9RGT8w==","shasum":"beac8f4d2c6b80183f48ad88cfcfdee040e4f4b8","tarball":"https://registry.npmjs.org/hwy/-/hwy-0.4.0-beta.8.tgz","fileCount":4,"unpackedSize":35816,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQD4h3s88BfI14djlCpylf2Q5v56/U4eG4JS6nUSNYLy2QIgODQQhjJ1cDmOiFfN5bRcqDeI0SBs7cj4K/CV4+iWRYI="}]},"_npmUser":{"name":"sjc5","email":"email@samcook.cc"},"directories":{},"maintainers":[{"name":"sjc5","email":"email@samcook.cc"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/hwy_0.4.0-beta.8_1697320482382_0.3986235526273787"},"_hasShrinkwrap":false},"0.4.0-beta.9":{"name":"hwy","version":"0.4.0-beta.9","author":{"name":"Samuel J. Cook"},"license":"MIT","description":"Simple, lightweight, and flexible web framework, built on Hono and HTMX.","type":"module","main":"dist/index.js","scripts":{"build":"rm -rf dist && tsup-node index.ts --format esm --dts","dev":"rm -rf dist && tsup-node index.ts --format esm --dts --watch --sourcemap","publish-beta":"npm publish --tag beta"},"devDependencies":{"@hono/node-server":"^1.2.0","@hwy-js/build":"workspace:*","@hwy-js/dev":"workspace:*","@types/node":"^20.8.3","hono":"^3.7.5","tsup":"^7.2.0"},"repository":{"type":"git","url":"git+https://github.com/hwy-js/hwy.git","directory":"packages/core"},"homepage":"https://hwy.dev","bugs":{"url":"https://github.com/hwy-js/hwy/issues"},"keywords":["simple","lightweight","flexible","framework","metaframework","web","typescript","htmx","hono","router","nested","routing","jsx","tsx","nextjs","remix"],"sideEffects":false,"_id":"hwy@0.4.0-beta.9","readme":"# Hwy\n\nHwy is a simple, lightweight, and flexible web framework, built on Hono and HTMX.\n\n## Quick Start\n\n```bash\nnpx create-hwy@latest\n```\n\n## What is Hwy?\n\nHwy is a lot like NextJS or Remix, but it uses **_HTMX_** instead of React on the frontend.\n\nHwy lets you write **_React-style JSX_** in **_nested, file-based routes_**, with **_Remix-style actions and parallel loaders_**.\n\nPage components are async, so you can even **_fetch data in JSX_** if you want to (just be careful with waterfalls).\n\nThe backend server is built on **_Hono_**, so you have access to a rich, growing ecosystem with lots of middleware and wonderful docs.\n\nHwy is **_100% server-rendered_**, but with the HTMX defaults Hwy sets up for you out of the box, your app still **_feels like an SPA_**.\n\nLinks and forms are automatically **_progressively enhanced_** thanks to HTMX's `hx-boost` feature. Just use normal anchor tags and traditional form attributes.\n\nBecause Hwy replaces the **_full page_** on transitions by default, everything stays **_simple_**. You don't have to return different components from different endpoints (unless you want to).\n\nAnd best of all, **_anything you can do with Hono or HTMX, you can do with Hwy_**.\n\n## Features\n\n- Server-rendered JSX / TSX\n- Nested, file-based routing\n- Remix-style actions and parallel loaders\n- Async page components\n- Rich Hono middleware ecosystem\n- 100% type-safe\n- Server built on Hono\n- Client built on HTMX\n- Built-in critical CSS inlining\n- Live browser refresh during development\n- And more...\n\n## Guiding Principles\n\n- No speed limits\n- Numerous off-ramps\n- Smooth, safe roads\n- Clear traffic signs\n\n## Simple usage\n\nBelow is an example of a simple Hwy page. You'll notice it looks a lot like Remix, and you're right! Hwy is heavily inspired by Remix, but it uses HTMX instead of React.\n\n```tsx\n// src/pages/user/$user_id.page.tsx\n\nimport type { DataFunctionArgs, PageProps } from \"hwy\";\nimport { UserProfile, getUser } from \"./somewhere.js\";\n\nexport async function loader({ params }: DataFunctionArgs) {\n  return await getUser(params.user_id);\n}\n\nexport default async function ({ loaderData }: PageProps<typeof loader>) {\n  return <UserProfile user={loaderData} />;\n}\n```\n\nOr, if you prefer to fetch inside your components:\n\n```tsx\nexport default async function ({ params }: PageProps) {\n  const user = await getUser(params.user_id);\n\n  return <UserProfile user={user} />;\n}\n```\n\n## Get Started\n\nIf you want to dive right in, just open a terminal and run `npx create-hwy@latest` and follow the prompts.\n\nIf you'd prefer to read more first, take a peek at [our docs](https://hwy.dev/docs).\n\n## Acknowledgements\n\nHwy's APIs are obviously inspired by Remix. If Remix didn't exist, Hwy likely wouldn't exist either. Hwy doesn't use any Remix code, but it still owes a big thanks to the Remix team (past and present) for their top-tier patterns design. If you're building something huge and important today, use Remix.\n\n## Disclaimer\n\nHwy is in beta! Act accordingly.\n\n## License\n\nMIT License\n\nCopyright (c) 2023 Samuel J. Cook\n","readmeFilename":"README.md","gitHead":"fef99d4ff8e9150aff49396c58bb9072348fab07","types":"./dist/index.d.ts","_nodeVersion":"18.18.0","_npmVersion":"9.8.1","dist":{"integrity":"sha512-D6tAEeX1N7kfKqIpgY4npW6ln5N1j0Cv8MnhPsYSQM6Vp7QPj8pCOTArItNabeY5c4AvE6NA0YvVfV4BfOds4A==","shasum":"f0b90c7b22e1ee55c6ebc5a66cdc6317ede1cb5c","tarball":"https://registry.npmjs.org/hwy/-/hwy-0.4.0-beta.9.tgz","fileCount":4,"unpackedSize":35816,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIGHaoFmQyQczeq9R7A4Q4zjn4Z93PMOZsWORNGYzLOZ0AiEA6IeAx+tLioy8xNZz4bOaDHjB2LBoy1XutJ0IfNlJU7I="}]},"_npmUser":{"name":"sjc5","email":"email@samcook.cc"},"directories":{},"maintainers":[{"name":"sjc5","email":"email@samcook.cc"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/hwy_0.4.0-beta.9_1697320818845_0.21962086920921942"},"_hasShrinkwrap":false},"0.4.0-beta.10":{"name":"hwy","version":"0.4.0-beta.10","author":{"name":"Samuel J. Cook"},"license":"MIT","description":"Simple, lightweight, and flexible web framework, built on Hono and HTMX.","type":"module","main":"dist/index.js","scripts":{"build":"rm -rf dist && tsup-node index.ts --format esm --dts","dev":"rm -rf dist && tsup-node index.ts --format esm --dts --watch --sourcemap","publish-beta":"npm publish --tag beta"},"devDependencies":{"@hono/node-server":"^1.2.0","@hwy-js/build":"workspace:*","@hwy-js/dev":"workspace:*","@types/node":"^20.8.3","hono":"^3.7.5","tsup":"^7.2.0"},"repository":{"type":"git","url":"git+https://github.com/hwy-js/hwy.git","directory":"packages/core"},"homepage":"https://hwy.dev","bugs":{"url":"https://github.com/hwy-js/hwy/issues"},"keywords":["simple","lightweight","flexible","framework","metaframework","web","typescript","htmx","hono","router","nested","routing","jsx","tsx","nextjs","remix"],"sideEffects":false,"_id":"hwy@0.4.0-beta.10","readme":"# Hwy\n\nHwy is a simple, lightweight, and flexible web framework, built on Hono and HTMX.\n\n## Quick Start\n\n```bash\nnpx create-hwy@latest\n```\n\n## What is Hwy?\n\nHwy is a lot like NextJS or Remix, but it uses **_HTMX_** instead of React on the frontend.\n\nHwy lets you write **_React-style JSX_** in **_nested, file-based routes_**, with **_Remix-style actions and parallel loaders_**.\n\nPage components are async, so you can even **_fetch data in JSX_** if you want to (just be careful with waterfalls).\n\nThe backend server is built on **_Hono_**, so you have access to a rich, growing ecosystem with lots of middleware and wonderful docs.\n\nHwy is **_100% server-rendered_**, but with the HTMX defaults Hwy sets up for you out of the box, your app still **_feels like an SPA_**.\n\nLinks and forms are automatically **_progressively enhanced_** thanks to HTMX's `hx-boost` feature. Just use normal anchor tags and traditional form attributes.\n\nBecause Hwy replaces the **_full page_** on transitions by default, everything stays **_simple_**. You don't have to return different components from different endpoints (unless you want to).\n\nAnd best of all, **_anything you can do with Hono or HTMX, you can do with Hwy_**.\n\n## Features\n\n- Server-rendered JSX / TSX\n- Nested, file-based routing\n- Remix-style actions and parallel loaders\n- Async page components\n- Rich Hono middleware ecosystem\n- 100% type-safe\n- Server built on Hono\n- Client built on HTMX\n- Built-in critical CSS inlining\n- Live browser refresh during development\n- And more...\n\n## Guiding Principles\n\n- No speed limits\n- Numerous off-ramps\n- Smooth, safe roads\n- Clear traffic signs\n\n## Simple usage\n\nBelow is an example of a simple Hwy page. You'll notice it looks a lot like Remix, and you're right! Hwy is heavily inspired by Remix, but it uses HTMX instead of React.\n\n```tsx\n// src/pages/user/$user_id.page.tsx\n\nimport type { DataFunctionArgs, PageProps } from \"hwy\";\nimport { UserProfile, getUser } from \"./somewhere.js\";\n\nexport async function loader({ params }: DataFunctionArgs) {\n  return await getUser(params.user_id);\n}\n\nexport default async function ({ loaderData }: PageProps<typeof loader>) {\n  return <UserProfile user={loaderData} />;\n}\n```\n\nOr, if you prefer to fetch inside your components:\n\n```tsx\nexport default async function ({ params }: PageProps) {\n  const user = await getUser(params.user_id);\n\n  return <UserProfile user={user} />;\n}\n```\n\n## Get Started\n\nIf you want to dive right in, just open a terminal and run `npx create-hwy@latest` and follow the prompts.\n\nIf you'd prefer to read more first, take a peek at [our docs](https://hwy.dev/docs).\n\n## Acknowledgements\n\nHwy's APIs are obviously inspired by Remix. If Remix didn't exist, Hwy likely wouldn't exist either. Hwy doesn't use any Remix code, but it still owes a big thanks to the Remix team (past and present) for their top-tier patterns design. If you're building something huge and important today, use Remix.\n\n## Disclaimer\n\nHwy is in beta! Act accordingly.\n\n## License\n\nMIT License\n\nCopyright (c) 2023 Samuel J. Cook\n","readmeFilename":"README.md","gitHead":"fef99d4ff8e9150aff49396c58bb9072348fab07","types":"./dist/index.d.ts","_nodeVersion":"18.18.0","_npmVersion":"9.8.1","dist":{"integrity":"sha512-E8DCR8dQG41e4o6a1lTw4DgIHy7ZBtCup2Io0HELANIRBwpi7ObcOsXS73/5ahw66KaALcWIk91GUyikZ2LS2g==","shasum":"4de2002a0da770200107c7361da888ac53ad7970","tarball":"https://registry.npmjs.org/hwy/-/hwy-0.4.0-beta.10.tgz","fileCount":4,"unpackedSize":35817,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCR4ft5oJDV8iBKTE7BgmEjbiVorxBVIwpEQA790qaDfwIhALK72cNgcz2EJjLkK5XQmU0yy0vlLRwNwBTv8ZQGE+Dz"}]},"_npmUser":{"name":"sjc5","email":"email@samcook.cc"},"directories":{},"maintainers":[{"name":"sjc5","email":"email@samcook.cc"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/hwy_0.4.0-beta.10_1697321022541_0.3648607488587474"},"_hasShrinkwrap":false},"0.4.0-beta.11":{"name":"hwy","version":"0.4.0-beta.11","author":{"name":"Samuel J. Cook"},"license":"MIT","description":"Simple, lightweight, and flexible web framework, built on Hono and HTMX.","type":"module","main":"dist/index.js","scripts":{"build":"rm -rf dist && tsup-node index.ts --format esm --dts","dev":"rm -rf dist && tsup-node index.ts --format esm --dts --watch --sourcemap","publish-beta":"npm publish --tag beta"},"devDependencies":{"@hono/node-server":"^1.2.0","@hwy-js/build":"workspace:*","@hwy-js/dev":"workspace:*","@types/node":"^20.8.3","hono":"^3.7.5","tsup":"^7.2.0"},"repository":{"type":"git","url":"git+https://github.com/hwy-js/hwy.git","directory":"packages/core"},"homepage":"https://hwy.dev","bugs":{"url":"https://github.com/hwy-js/hwy/issues"},"keywords":["simple","lightweight","flexible","framework","metaframework","web","typescript","htmx","hono","router","nested","routing","jsx","tsx","nextjs","remix"],"sideEffects":false,"_id":"hwy@0.4.0-beta.11","readme":"# Hwy\n\nHwy is a simple, lightweight, and flexible web framework, built on Hono and HTMX.\n\n## Quick Start\n\n```bash\nnpx create-hwy@latest\n```\n\n## What is Hwy?\n\nHwy is a lot like NextJS or Remix, but it uses **_HTMX_** instead of React on the frontend.\n\nHwy lets you write **_React-style JSX_** in **_nested, file-based routes_**, with **_Remix-style actions and parallel loaders_**.\n\nPage components are async, so you can even **_fetch data in JSX_** if you want to (just be careful with waterfalls).\n\nThe backend server is built on **_Hono_**, so you have access to a rich, growing ecosystem with lots of middleware and wonderful docs.\n\nHwy is **_100% server-rendered_**, but with the HTMX defaults Hwy sets up for you out of the box, your app still **_feels like an SPA_**.\n\nLinks and forms are automatically **_progressively enhanced_** thanks to HTMX's `hx-boost` feature. Just use normal anchor tags and traditional form attributes.\n\nBecause Hwy replaces the **_full page_** on transitions by default, everything stays **_simple_**. You don't have to return different components from different endpoints (unless you want to).\n\nAnd best of all, **_anything you can do with Hono or HTMX, you can do with Hwy_**.\n\n## Features\n\n- Server-rendered JSX / TSX\n- Nested, file-based routing\n- Remix-style actions and parallel loaders\n- Async page components\n- Rich Hono middleware ecosystem\n- 100% type-safe\n- Server built on Hono\n- Client built on HTMX\n- Built-in critical CSS inlining\n- Live browser refresh during development\n- And more...\n\n## Guiding Principles\n\n- No speed limits\n- Numerous off-ramps\n- Smooth, safe roads\n- Clear traffic signs\n\n## Simple usage\n\nBelow is an example of a simple Hwy page. You'll notice it looks a lot like Remix, and you're right! Hwy is heavily inspired by Remix, but it uses HTMX instead of React.\n\n```tsx\n// src/pages/user/$user_id.page.tsx\n\nimport type { DataFunctionArgs, PageProps } from \"hwy\";\nimport { UserProfile, getUser } from \"./somewhere.js\";\n\nexport async function loader({ params }: DataFunctionArgs) {\n  return await getUser(params.user_id);\n}\n\nexport default async function ({ loaderData }: PageProps<typeof loader>) {\n  return <UserProfile user={loaderData} />;\n}\n```\n\nOr, if you prefer to fetch inside your components:\n\n```tsx\nexport default async function ({ params }: PageProps) {\n  const user = await getUser(params.user_id);\n\n  return <UserProfile user={user} />;\n}\n```\n\n## Get Started\n\nIf you want to dive right in, just open a terminal and run `npx create-hwy@latest` and follow the prompts.\n\nIf you'd prefer to read more first, take a peek at [our docs](https://hwy.dev/docs).\n\n## Acknowledgements\n\nHwy's APIs are obviously inspired by Remix. If Remix didn't exist, Hwy likely wouldn't exist either. Hwy doesn't use any Remix code, but it still owes a big thanks to the Remix team (past and present) for their top-tier patterns design. If you're building something huge and important today, use Remix.\n\n## Disclaimer\n\nHwy is in beta! Act accordingly.\n\n## License\n\nMIT License\n\nCopyright (c) 2023 Samuel J. Cook\n","readmeFilename":"README.md","gitHead":"9291e98446e75413885d32e030a0b14dced36ddf","types":"./dist/index.d.ts","_nodeVersion":"18.18.0","_npmVersion":"9.8.1","dist":{"integrity":"sha512-JDJuE/95LJ2MjqMv9bBYNSyW47NI7ufzOUpFHvgwIRAxP4pmR0ds+zNyJTObMaglGqBkjYsy7Z4Tb8OP3brtrA==","shasum":"e24a8fc45ea80ea366175b7924c5d713c61d58bd","tarball":"https://registry.npmjs.org/hwy/-/hwy-0.4.0-beta.11.tgz","fileCount":4,"unpackedSize":35855,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCLto3LIm/7uzbSEqtGq3YSRg0b0kwE4BDVSXMkj2Y5hQIhAI3O1eLQtEPSUjvssIw7GpXUL93ezhMT+NCCfjKPEpM6"}]},"_npmUser":{"name":"sjc5","email":"email@samcook.cc"},"directories":{},"maintainers":[{"name":"sjc5","email":"email@samcook.cc"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/hwy_0.4.0-beta.11_1697341703165_0.6191317408883801"},"_hasShrinkwrap":false},"0.4.0-beta.12":{"name":"hwy","version":"0.4.0-beta.12","author":{"name":"Samuel J. Cook"},"license":"MIT","description":"Simple, lightweight, and flexible web framework, built on Hono and HTMX.","type":"module","main":"dist/index.js","scripts":{"build":"rm -rf dist && tsup-node index.ts --format esm --dts","dev":"rm -rf dist && tsup-node index.ts --format esm --dts --watch --sourcemap","publish-beta":"npm publish --tag beta"},"devDependencies":{"@hono/node-server":"^1.2.0","@hwy-js/build":"workspace:*","@hwy-js/dev":"workspace:*","@types/node":"^20.8.3","hono":"^3.7.5","tsup":"^7.2.0"},"repository":{"type":"git","url":"git+https://github.com/hwy-js/hwy.git","directory":"packages/core"},"homepage":"https://hwy.dev","bugs":{"url":"https://github.com/hwy-js/hwy/issues"},"keywords":["simple","lightweight","flexible","framework","metaframework","web","typescript","htmx","hono","router","nested","routing","jsx","tsx","nextjs","remix"],"sideEffects":false,"_id":"hwy@0.4.0-beta.12","readme":"# Hwy\n\nHwy is a simple, lightweight, and flexible web framework, built on Hono and HTMX.\n\n## Quick Start\n\n```bash\nnpx create-hwy@latest\n```\n\n## What is Hwy?\n\nHwy is a lot like NextJS or Remix, but it uses **_HTMX_** instead of React on the frontend.\n\nHwy lets you write **_React-style JSX_** in **_nested, file-based routes_**, with **_Remix-style actions and parallel loaders_**.\n\nPage components are async, so you can even **_fetch data in JSX_** if you want to (just be careful with waterfalls).\n\nThe backend server is built on **_Hono_**, so you have access to a rich, growing ecosystem with lots of middleware and wonderful docs.\n\nHwy is **_100% server-rendered_**, but with the HTMX defaults Hwy sets up for you out of the box, your app still **_feels like an SPA_**.\n\nLinks and forms are automatically **_progressively enhanced_** thanks to HTMX's `hx-boost` feature. Just use normal anchor tags and traditional form attributes.\n\nBecause Hwy replaces the **_full page_** on transitions by default, everything stays **_simple_**. You don't have to return different components from different endpoints (unless you want to).\n\nAnd best of all, **_anything you can do with Hono or HTMX, you can do with Hwy_**.\n\n## Features\n\n- Server-rendered JSX / TSX\n- Nested, file-based routing\n- Remix-style actions and parallel loaders\n- Async page components\n- Rich Hono middleware ecosystem\n- 100% type-safe\n- Server built on Hono\n- Client built on HTMX\n- Built-in critical CSS inlining\n- Live browser refresh during development\n- And more...\n\n## Guiding Principles\n\n- No speed limits\n- Numerous off-ramps\n- Smooth, safe roads\n- Clear traffic signs\n\n## Simple usage\n\nBelow is an example of a simple Hwy page. You'll notice it looks a lot like Remix, and you're right! Hwy is heavily inspired by Remix, but it uses HTMX instead of React.\n\n```tsx\n// src/pages/user/$user_id.page.tsx\n\nimport type { DataFunctionArgs, PageProps } from \"hwy\";\nimport { UserProfile, getUser } from \"./somewhere.js\";\n\nexport async function loader({ params }: DataFunctionArgs) {\n  return await getUser(params.user_id);\n}\n\nexport default async function ({ loaderData }: PageProps<typeof loader>) {\n  return <UserProfile user={loaderData} />;\n}\n```\n\nOr, if you prefer to fetch inside your components:\n\n```tsx\nexport default async function ({ params }: PageProps) {\n  const user = await getUser(params.user_id);\n\n  return <UserProfile user={user} />;\n}\n```\n\n## Get Started\n\nIf you want to dive right in, just open a terminal and run `npx create-hwy@latest` and follow the prompts.\n\nIf you'd prefer to read more first, take a peek at [our docs](https://hwy.dev/docs).\n\n## Acknowledgements\n\nHwy's APIs are obviously inspired by Remix. If Remix didn't exist, Hwy likely wouldn't exist either. Hwy doesn't use any Remix code, but it still owes a big thanks to the Remix team (past and present) for their top-tier patterns design. If you're building something huge and important today, use Remix.\n\n## Disclaimer\n\nHwy is in beta! Act accordingly.\n\n## License\n\nMIT License\n\nCopyright (c) 2023 Samuel J. Cook\n","readmeFilename":"README.md","gitHead":"bffda46d152b8077986d89351bdcce3ae4a6d041","types":"./dist/index.d.ts","_nodeVersion":"18.18.0","_npmVersion":"9.8.1","dist":{"integrity":"sha512-Zm/iWs1D1RqI3dFpPNNqCYxTeChkIutDVVXaKjMURW1lZhfQNFphFlWDlRGr2DO5P2a4ZgdbwlS0zWv/bRVPqw==","shasum":"a643606665f75f649cd87cdfb287fa4f8eb68335","tarball":"https://registry.npmjs.org/hwy/-/hwy-0.4.0-beta.12.tgz","fileCount":4,"unpackedSize":36913,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIF1b12X9R3lv6E/vc6KXnrXm5aIjIXqwOuQRfCLp7DgxAiEApyFLHuc9OMosZ1Af+cQoU3UayQ4U+11kg6kJNf3kqTA="}]},"_npmUser":{"name":"sjc5","email":"email@samcook.cc"},"directories":{},"maintainers":[{"name":"sjc5","email":"email@samcook.cc"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/hwy_0.4.0-beta.12_1697411046767_0.19426118641903822"},"_hasShrinkwrap":false},"0.4.0-beta.13":{"name":"hwy","version":"0.4.0-beta.13","author":{"name":"Samuel J. Cook"},"license":"MIT","description":"Simple, lightweight, and flexible web framework, built on Hono and HTMX.","type":"module","main":"dist/index.js","scripts":{"build":"rm -rf dist && tsup-node index.ts --format esm --dts","dev":"rm -rf dist && tsup-node index.ts --format esm --dts --watch --sourcemap","publish-beta":"npm publish --tag beta"},"devDependencies":{"@hono/node-server":"^1.2.0","@hwy-js/build":"workspace:*","@hwy-js/dev":"workspace:*","@types/node":"^20.8.3","hono":"^3.7.5","tsup":"^7.2.0"},"repository":{"type":"git","url":"git+https://github.com/hwy-js/hwy.git","directory":"packages/core"},"homepage":"https://hwy.dev","bugs":{"url":"https://github.com/hwy-js/hwy/issues"},"keywords":["simple","lightweight","flexible","framework","metaframework","web","typescript","htmx","hono","router","nested","routing","jsx","tsx","nextjs","remix"],"sideEffects":false,"types":"./dist/index.d.ts","gitHead":"d281a674a2cb3999d697c402b6f5daca49105be2","readme":"# Hwy\n\nHwy is a simple, lightweight, and flexible web framework, built on Hono and HTMX.\n\n## Quick Start\n\n```bash\nnpx create-hwy@latest\n```\n\n## What is Hwy?\n\nHwy is a lot like NextJS or Remix, but it uses **_HTMX_** instead of React on the frontend.\n\nHwy lets you write **_React-style JSX_** in **_nested, file-based routes_**, with **_Remix-style actions and parallel loaders_**.\n\nPage components are async, so you can even **_fetch data in JSX_** if you want to (just be careful with waterfalls).\n\nThe backend server is built on **_Hono_**, so you have access to a rich, growing ecosystem with lots of middleware and wonderful docs.\n\nHwy is **_100% server-rendered_**, but with the HTMX defaults Hwy sets up for you out of the box, your app still **_feels like an SPA_**.\n\nLinks and forms are automatically **_progressively enhanced_** thanks to HTMX's `hx-boost` feature. Just use normal anchor tags and traditional form attributes.\n\nBecause Hwy replaces the **_full page_** on transitions by default, everything stays **_simple_**. You don't have to return different components from different endpoints (unless you want to).\n\nAnd best of all, **_anything you can do with Hono or HTMX, you can do with Hwy_**.\n\n## Features\n\n- Server-rendered JSX / TSX\n- Nested, file-based routing\n- Remix-style actions and parallel loaders\n- Async page components\n- Rich Hono middleware ecosystem\n- 100% type-safe\n- Server built on Hono\n- Client built on HTMX\n- Built-in critical CSS inlining\n- Live browser refresh during development\n- And more...\n\n## Guiding Principles\n\n- No speed limits\n- Numerous off-ramps\n- Smooth, safe roads\n- Clear traffic signs\n\n## Simple usage\n\nBelow is an example of a simple Hwy page. You'll notice it looks a lot like Remix, and you're right! Hwy is heavily inspired by Remix, but it uses HTMX instead of React.\n\n```tsx\n// src/pages/user/$user_id.page.tsx\n\nimport type { DataFunctionArgs, PageProps } from \"hwy\";\nimport { UserProfile, getUser } from \"./somewhere.js\";\n\nexport async function loader({ params }: DataFunctionArgs) {\n  return await getUser(params.user_id);\n}\n\nexport default async function ({ loaderData }: PageProps<typeof loader>) {\n  return <UserProfile user={loaderData} />;\n}\n```\n\nOr, if you prefer to fetch inside your components:\n\n```tsx\nexport default async function ({ params }: PageProps) {\n  const user = await getUser(params.user_id);\n\n  return <UserProfile user={user} />;\n}\n```\n\n## Get Started\n\nIf you want to dive right in, just open a terminal and run `npx create-hwy@latest` and follow the prompts.\n\nIf you'd prefer to read more first, take a peek at [our docs](https://hwy.dev/docs).\n\n## Acknowledgements\n\nHwy's APIs are obviously inspired by Remix. If Remix didn't exist, Hwy likely wouldn't exist either. Hwy doesn't use any Remix code, but it still owes a big thanks to the Remix team (past and present) for their top-tier patterns design. If you're building something huge and important today, use Remix.\n\n## Disclaimer\n\nHwy is in beta! Act accordingly.\n\n## License\n\nMIT License\n\nCopyright (c) 2023 Samuel J. Cook\n","readmeFilename":"README.md","_id":"hwy@0.4.0-beta.13","_nodeVersion":"20.3.1","_npmVersion":"9.6.7","dist":{"integrity":"sha512-FBeslv/U/gYEsnxbDBi8b3lbtvMfl85cTb66ahvYbBzBTMz+wzke2UmUP7jmaFUIrK/SSKLbYIkMaLIjee1Wuw==","shasum":"b852f2212db128d8516a1783164fab88cb0a08e3","tarball":"https://registry.npmjs.org/hwy/-/hwy-0.4.0-beta.13.tgz","fileCount":4,"unpackedSize":36920,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCi8my8yhL8n4HRikQZa/Cd2yNq64Gfy6wRMqANfi7aAAIgcPw9aSmNZPo8j5HIF2wW/bRX8EXgGnubPzOq6fqG22c="}]},"_npmUser":{"name":"sjc5","email":"email@samcook.cc"},"directories":{},"maintainers":[{"name":"sjc5","email":"email@samcook.cc"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/hwy_0.4.0-beta.13_1697414233563_0.6367215414860692"},"_hasShrinkwrap":false},"0.4.0-beta.14":{"name":"hwy","version":"0.4.0-beta.14","author":{"name":"Samuel J. Cook"},"license":"MIT","description":"Simple, lightweight, and flexible web framework, built on Hono and HTMX.","type":"module","main":"dist/index.js","scripts":{"build":"rm -rf dist && tsup-node index.ts --format esm --dts","dev":"rm -rf dist && tsup-node index.ts --format esm --dts --watch --sourcemap","publish-beta":"npm publish --tag beta"},"devDependencies":{"@hono/node-server":"^1.2.0","@hwy-js/build":"workspace:*","@hwy-js/dev":"workspace:*","@types/node":"^20.8.3","hono":"^3.7.5","tsup":"^7.2.0"},"repository":{"type":"git","url":"git+https://github.com/hwy-js/hwy.git","directory":"packages/core"},"homepage":"https://hwy.dev","bugs":{"url":"https://github.com/hwy-js/hwy/issues"},"keywords":["simple","lightweight","flexible","framework","metaframework","web","typescript","htmx","hono","router","nested","routing","jsx","tsx","nextjs","remix"],"sideEffects":false,"types":"./dist/index.d.ts","gitHead":"f5aa8fd22893c4bdae14b780ad52a74c9f5c1319","readme":"# Hwy\n\nHwy is a simple, lightweight, and flexible web framework, built on Hono and HTMX.\n\n## Quick Start\n\n```bash\nnpx create-hwy@latest\n```\n\n## What is Hwy?\n\nHwy is a lot like NextJS or Remix, but it uses **_HTMX_** instead of React on the frontend.\n\nHwy lets you write **_React-style JSX_** in **_nested, file-based routes_**, with **_Remix-style actions and parallel loaders_**.\n\nPage components are async, so you can even **_fetch data in JSX_** if you want to (just be careful with waterfalls).\n\nThe backend server is built on **_Hono_**, so you have access to a rich, growing ecosystem with lots of middleware and wonderful docs.\n\nHwy is **_100% server-rendered_**, but with the HTMX defaults Hwy sets up for you out of the box, your app still **_feels like an SPA_**.\n\nLinks and forms are automatically **_progressively enhanced_** thanks to HTMX's `hx-boost` feature. Just use normal anchor tags and traditional form attributes.\n\nBecause Hwy replaces the **_full page_** on transitions by default, everything stays **_simple_**. You don't have to return different components from different endpoints (unless you want to).\n\nAnd best of all, **_anything you can do with Hono or HTMX, you can do with Hwy_**.\n\n## Features\n\n- Server-rendered JSX / TSX\n- Nested, file-based routing\n- Remix-style actions and parallel loaders\n- Async page components\n- Rich Hono middleware ecosystem\n- 100% type-safe\n- Server built on Hono\n- Client built on HTMX\n- Built-in critical CSS inlining\n- Live browser refresh during development\n- And more...\n\n## Guiding Principles\n\n- No speed limits\n- Numerous off-ramps\n- Smooth, safe roads\n- Clear traffic signs\n\n## Simple usage\n\nBelow is an example of a simple Hwy page. You'll notice it looks a lot like Remix, and you're right! Hwy is heavily inspired by Remix, but it uses HTMX instead of React.\n\n```tsx\n// src/pages/user/$user_id.page.tsx\n\nimport type { DataFunctionArgs, PageProps } from \"hwy\";\nimport { UserProfile, getUser } from \"./somewhere.js\";\n\nexport async function loader({ params }: DataFunctionArgs) {\n  return await getUser(params.user_id);\n}\n\nexport default async function ({ loaderData }: PageProps<typeof loader>) {\n  return <UserProfile user={loaderData} />;\n}\n```\n\nOr, if you prefer to fetch inside your components:\n\n```tsx\nexport default async function ({ params }: PageProps) {\n  const user = await getUser(params.user_id);\n\n  return <UserProfile user={user} />;\n}\n```\n\n## Get Started\n\nIf you want to dive right in, just open a terminal and run `npx create-hwy@latest` and follow the prompts.\n\nIf you'd prefer to read more first, take a peek at [our docs](https://hwy.dev/docs).\n\n## Acknowledgements\n\nHwy's APIs are obviously inspired by Remix. If Remix didn't exist, Hwy likely wouldn't exist either. Hwy doesn't use any Remix code, but it still owes a big thanks to the Remix team (past and present) for their top-tier patterns design. If you're building something huge and important today, use Remix.\n\n## Disclaimer\n\nHwy is in beta! Act accordingly.\n\n## License\n\nMIT License\n\nCopyright (c) 2023 Samuel J. Cook\n","readmeFilename":"README.md","_id":"hwy@0.4.0-beta.14","_nodeVersion":"20.3.1","_npmVersion":"9.6.7","dist":{"integrity":"sha512-kFkt1j7rSTO4ffDcgSdSoCZXPzQSr3G1pNaXUqFO6SWC1ZlvvjnjnC7G4pWeBCrTu91w78BwImiI7FwRz1hQ/g==","shasum":"eae73f3eb03cf12d21adc62bd5274b2992c49c00","tarball":"https://registry.npmjs.org/hwy/-/hwy-0.4.0-beta.14.tgz","fileCount":4,"unpackedSize":36920,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCfhIuDftT+GgFvaCzrambVPrDyz47jranWF8PFnHob9QIhAOM02qPolfu2EkSbzXKVqHkGSc/5EV8H1d/Q0vpeMZ50"}]},"_npmUser":{"name":"sjc5","email":"email@samcook.cc"},"directories":{},"maintainers":[{"name":"sjc5","email":"email@samcook.cc"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/hwy_0.4.0-beta.14_1697416452487_0.2077650035055585"},"_hasShrinkwrap":false},"0.4.0-beta.15":{"name":"hwy","version":"0.4.0-beta.15","author":{"name":"Samuel J. Cook"},"license":"MIT","description":"Simple, lightweight, and flexible web framework, built on Hono and HTMX.","type":"module","main":"dist/index.js","scripts":{"build":"rm -rf dist && tsup-node index.ts --format esm --dts","dev":"rm -rf dist && tsup-node index.ts --format esm --dts --watch --sourcemap","publish-beta":"npm publish --tag beta"},"devDependencies":{"@hono/node-server":"^1.2.0","@hwy-js/build":"workspace:*","@hwy-js/dev":"workspace:*","@types/node":"^20.8.3","hono":"^3.7.5","tsup":"^7.2.0"},"repository":{"type":"git","url":"git+https://github.com/hwy-js/hwy.git","directory":"packages/core"},"homepage":"https://hwy.dev","bugs":{"url":"https://github.com/hwy-js/hwy/issues"},"keywords":["simple","lightweight","flexible","framework","metaframework","web","typescript","htmx","hono","router","nested","routing","jsx","tsx","nextjs","remix"],"sideEffects":false,"_id":"hwy@0.4.0-beta.15","readme":"# Hwy\n\nHwy is a simple, lightweight, and flexible web framework, built on Hono and HTMX.\n\n## Quick Start\n\n```bash\nnpx create-hwy@latest\n```\n\n## What is Hwy?\n\nHwy is a lot like NextJS or Remix, but it uses **_HTMX_** instead of React on the frontend.\n\nHwy lets you write **_React-style JSX_** in **_nested, file-based routes_**, with **_Remix-style actions and parallel loaders_**.\n\nPage components are async, so you can even **_fetch data in JSX_** if you want to (just be careful with waterfalls).\n\nThe backend server is built on **_Hono_**, so you have access to a rich, growing ecosystem with lots of middleware and wonderful docs.\n\nHwy is **_100% server-rendered_**, but with the HTMX defaults Hwy sets up for you out of the box, your app still **_feels like an SPA_**.\n\nLinks and forms are automatically **_progressively enhanced_** thanks to HTMX's `hx-boost` feature. Just use normal anchor tags and traditional form attributes.\n\nBecause Hwy replaces the **_full page_** on transitions by default, everything stays **_simple_**. You don't have to return different components from different endpoints (unless you want to).\n\nAnd best of all, **_anything you can do with Hono or HTMX, you can do with Hwy_**.\n\n## Features\n\n- Server-rendered JSX / TSX\n- Nested, file-based routing\n- Remix-style actions and parallel loaders\n- Async page components\n- Rich Hono middleware ecosystem\n- 100% type-safe\n- Server built on Hono\n- Client built on HTMX\n- Built-in critical CSS inlining\n- Live browser refresh during development\n- And more...\n\n## Guiding Principles\n\n- No speed limits\n- Numerous off-ramps\n- Smooth, safe roads\n- Clear traffic signs\n\n## Simple usage\n\nBelow is an example of a simple Hwy page. You'll notice it looks a lot like Remix, and you're right! Hwy is heavily inspired by Remix, but it uses HTMX instead of React.\n\n```tsx\n// src/pages/user/$user_id.page.tsx\n\nimport type { DataFunctionArgs, PageProps } from \"hwy\";\nimport { UserProfile, getUser } from \"./somewhere.js\";\n\nexport async function loader({ params }: DataFunctionArgs) {\n  return await getUser(params.user_id);\n}\n\nexport default async function ({ loaderData }: PageProps<typeof loader>) {\n  return <UserProfile user={loaderData} />;\n}\n```\n\nOr, if you prefer to fetch inside your components:\n\n```tsx\nexport default async function ({ params }: PageProps) {\n  const user = await getUser(params.user_id);\n\n  return <UserProfile user={user} />;\n}\n```\n\n## Get Started\n\nIf you want to dive right in, just open a terminal and run `npx create-hwy@latest` and follow the prompts.\n\nIf you'd prefer to read more first, take a peek at [our docs](https://hwy.dev/docs).\n\n## Acknowledgements\n\nHwy's APIs are obviously inspired by Remix. If Remix didn't exist, Hwy likely wouldn't exist either. Hwy doesn't use any Remix code, but it still owes a big thanks to the Remix team (past and present) for their top-tier patterns design. If you're building something huge and important today, use Remix.\n\n## Disclaimer\n\nHwy is in beta! Act accordingly.\n\n## License\n\nMIT License\n\nCopyright (c) 2023 Samuel J. Cook\n","readmeFilename":"README.md","gitHead":"f5aa8fd22893c4bdae14b780ad52a74c9f5c1319","types":"./dist/index.d.ts","_nodeVersion":"18.18.0","_npmVersion":"9.8.1","dist":{"integrity":"sha512-i0sx4HDUz4Lp5HdQnC7P5tcrj7zuZfaLuT5KJ8zAkYT0fEALjNWlcctFM1l7mgSM0F5IxhXy18wzarV27O6pHQ==","shasum":"117ba68ff63f603d4248fdd1c9b7cb27274a80da","tarball":"https://registry.npmjs.org/hwy/-/hwy-0.4.0-beta.15.tgz","fileCount":4,"unpackedSize":36920,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIF/ffzBfcLSULIWbadxe7qhovo/CCzD88XZrlIhRzpkiAiEA61NlVG+eSpKcr6adxumJGkxob2kWj9u4ZOi5Ea9i7JU="}]},"_npmUser":{"name":"sjc5","email":"email@samcook.cc"},"directories":{},"maintainers":[{"name":"sjc5","email":"email@samcook.cc"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/hwy_0.4.0-beta.15_1697417881992_0.966899936210629"},"_hasShrinkwrap":false},"0.4.0-beta.16":{"name":"hwy","version":"0.4.0-beta.16","author":{"name":"Samuel J. Cook"},"license":"MIT","description":"Simple, lightweight, and flexible web framework, built on Hono and HTMX.","type":"module","main":"dist/index.js","scripts":{"build":"rm -rf dist && tsup-node index.ts --format esm --dts","dev":"rm -rf dist && tsup-node index.ts --format esm --dts --watch --sourcemap","publish-beta":"npm publish --tag beta"},"devDependencies":{"@hono/node-server":"^1.2.0","@hwy-js/build":"workspace:*","@hwy-js/dev":"workspace:*","@types/node":"^20.8.3","hono":"^3.7.5","tsup":"^7.2.0"},"repository":{"type":"git","url":"git+https://github.com/hwy-js/hwy.git","directory":"packages/core"},"homepage":"https://hwy.dev","bugs":{"url":"https://github.com/hwy-js/hwy/issues"},"keywords":["simple","lightweight","flexible","framework","metaframework","web","typescript","htmx","hono","router","nested","routing","jsx","tsx","nextjs","remix"],"_id":"hwy@0.4.0-beta.16","readme":"# Hwy\n\nHwy is a simple, lightweight, and flexible web framework, built on Hono and HTMX.\n\n## Quick Start\n\n```bash\nnpx create-hwy@latest\n```\n\n## What is Hwy?\n\nHwy is a lot like NextJS or Remix, but it uses **_HTMX_** instead of React on the frontend.\n\nHwy lets you write **_React-style JSX_** in **_nested, file-based routes_**, with **_Remix-style actions and parallel loaders_**.\n\nPage components are async, so you can even **_fetch data in JSX_** if you want to (just be careful with waterfalls).\n\nThe backend server is built on **_Hono_**, so you have access to a rich, growing ecosystem with lots of middleware and wonderful docs.\n\nHwy is **_100% server-rendered_**, but with the HTMX defaults Hwy sets up for you out of the box, your app still **_feels like an SPA_**.\n\nLinks and forms are automatically **_progressively enhanced_** thanks to HTMX's `hx-boost` feature. Just use normal anchor tags and traditional form attributes.\n\nBecause Hwy replaces the **_full page_** on transitions by default, everything stays **_simple_**. You don't have to return different components from different endpoints (unless you want to).\n\nAnd best of all, **_anything you can do with Hono or HTMX, you can do with Hwy_**.\n\n## Features\n\n- Server-rendered JSX / TSX\n- Nested, file-based routing\n- Remix-style actions and parallel loaders\n- Async page components\n- Rich Hono middleware ecosystem\n- 100% type-safe\n- Server built on Hono\n- Client built on HTMX\n- Built-in critical CSS inlining\n- Live browser refresh during development\n- And more...\n\n## Guiding Principles\n\n- No speed limits\n- Numerous off-ramps\n- Smooth, safe roads\n- Clear traffic signs\n\n## Simple usage\n\nBelow is an example of a simple Hwy page. You'll notice it looks a lot like Remix, and you're right! Hwy is heavily inspired by Remix, but it uses HTMX instead of React.\n\n```tsx\n// src/pages/user/$user_id.page.tsx\n\nimport type { DataFunctionArgs, PageProps } from \"hwy\";\nimport { UserProfile, getUser } from \"./somewhere.js\";\n\nexport async function loader({ params }: DataFunctionArgs) {\n  return await getUser(params.user_id);\n}\n\nexport default async function ({ loaderData }: PageProps<typeof loader>) {\n  return <UserProfile user={loaderData} />;\n}\n```\n\nOr, if you prefer to fetch inside your components:\n\n```tsx\nexport default async function ({ params }: PageProps) {\n  const user = await getUser(params.user_id);\n\n  return <UserProfile user={user} />;\n}\n```\n\n## Get Started\n\nIf you want to dive right in, just open a terminal and run `npx create-hwy@latest` and follow the prompts.\n\nIf you'd prefer to read more first, take a peek at [our docs](https://hwy.dev/docs).\n\n## Acknowledgements\n\nHwy's APIs are obviously inspired by Remix. If Remix didn't exist, Hwy likely wouldn't exist either. Hwy doesn't use any Remix code, but it still owes a big thanks to the Remix team (past and present) for their top-tier patterns design. If you're building something huge and important today, use Remix.\n\n## Disclaimer\n\nHwy is in beta! Act accordingly.\n\n## License\n\nMIT License\n\nCopyright (c) 2023 Samuel J. Cook\n","readmeFilename":"README.md","gitHead":"e9940419088696dff69b30a5d84fd0b0f3b0d150","types":"./dist/index.d.ts","_nodeVersion":"18.18.0","_npmVersion":"9.8.1","dist":{"integrity":"sha512-4JH+frrwZTIo0yBu53uqfwpvylrja9hKH1xuNxRZccnr5RKlb0fF8T3mmpb2/9og+gTviTmS0WhzFwhscd3/sQ==","shasum":"c717a2fb32115efdb7657b436211be04fd3400f9","tarball":"https://registry.npmjs.org/hwy/-/hwy-0.4.0-beta.16.tgz","fileCount":4,"unpackedSize":37091,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQD3gj2QRUVwOFbv+NC/Dm5MMpy6hC80/gJjlhYqQmu0+gIhAMramJAQPsUW9QCvpgaqrmrrGs4xfVclflWjgK47a2aN"}]},"_npmUser":{"name":"sjc5","email":"email@samcook.cc"},"directories":{},"maintainers":[{"name":"sjc5","email":"email@samcook.cc"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/hwy_0.4.0-beta.16_1697511961245_0.2747654127359289"},"_hasShrinkwrap":false},"0.4.0-beta.17":{"name":"hwy","version":"0.4.0-beta.17","author":{"name":"Samuel J. Cook"},"license":"MIT","description":"Simple, lightweight, and flexible web framework, built on Hono and HTMX.","type":"module","main":"dist/index.js","scripts":{"build":"rm -rf dist && tsup-node index.ts --format esm --dts","dev":"rm -rf dist && tsup-node index.ts --format esm --dts --watch --sourcemap","publish-beta":"npm publish --tag beta"},"devDependencies":{"@hono/node-server":"^1.2.0","@hwy-js/build":"workspace:*","@hwy-js/dev":"workspace:*","@types/node":"^20.8.3","hono":"^3.7.5","tsup":"^7.2.0"},"repository":{"type":"git","url":"git+https://github.com/hwy-js/hwy.git","directory":"packages/core"},"homepage":"https://hwy.dev","bugs":{"url":"https://github.com/hwy-js/hwy/issues"},"keywords":["simple","lightweight","flexible","framework","metaframework","web","typescript","htmx","hono","router","nested","routing","jsx","tsx","nextjs","remix"],"_id":"hwy@0.4.0-beta.17","readme":"# Hwy\n\nHwy is a simple, lightweight, and flexible web framework, built on Hono and HTMX.\n\n## Quick Start\n\n```bash\nnpx create-hwy@latest\n```\n\n## What is Hwy?\n\nHwy is a lot like NextJS or Remix, but it uses **_HTMX_** instead of React on the frontend.\n\nHwy lets you write **_React-style JSX_** in **_nested, file-based routes_**, with **_Remix-style actions and parallel loaders_**.\n\nPage components are async, so you can even **_fetch data in JSX_** if you want to (just be careful with waterfalls).\n\nThe backend server is built on **_Hono_**, so you have access to a rich, growing ecosystem with lots of middleware and wonderful docs.\n\nHwy is **_100% server-rendered_**, but with the HTMX defaults Hwy sets up for you out of the box, your app still **_feels like an SPA_**.\n\nLinks and forms are automatically **_progressively enhanced_** thanks to HTMX's `hx-boost` feature. Just use normal anchor tags and traditional form attributes.\n\nBecause Hwy replaces the **_full page_** on transitions by default, everything stays **_simple_**. You don't have to return different components from different endpoints (unless you want to).\n\nAnd best of all, **_anything you can do with Hono or HTMX, you can do with Hwy_**.\n\n## Features\n\n- Server-rendered JSX / TSX\n- Nested, file-based routing\n- Remix-style actions and parallel loaders\n- Async page components\n- Rich Hono middleware ecosystem\n- 100% type-safe\n- Server built on Hono\n- Client built on HTMX\n- Built-in critical CSS inlining\n- Live browser refresh during development\n- And more...\n\n## Guiding Principles\n\n- No speed limits\n- Numerous off-ramps\n- Smooth, safe roads\n- Clear traffic signs\n\n## Simple usage\n\nBelow is an example of a simple Hwy page. You'll notice it looks a lot like Remix, and you're right! Hwy is heavily inspired by Remix, but it uses HTMX instead of React.\n\n```tsx\n// src/pages/user/$user_id.page.tsx\n\nimport type { DataFunctionArgs, PageProps } from \"hwy\";\nimport { UserProfile, getUser } from \"./somewhere.js\";\n\nexport async function loader({ params }: DataFunctionArgs) {\n  return await getUser(params.user_id);\n}\n\nexport default async function ({ loaderData }: PageProps<typeof loader>) {\n  return <UserProfile user={loaderData} />;\n}\n```\n\nOr, if you prefer to fetch inside your components:\n\n```tsx\nexport default async function ({ params }: PageProps) {\n  const user = await getUser(params.user_id);\n\n  return <UserProfile user={user} />;\n}\n```\n\n## Get Started\n\nIf you want to dive right in, just open a terminal and run `npx create-hwy@latest` and follow the prompts.\n\nIf you'd prefer to read more first, take a peek at [our docs](https://hwy.dev/docs).\n\n## Acknowledgements\n\nHwy's APIs are obviously inspired by Remix. If Remix didn't exist, Hwy likely wouldn't exist either. Hwy doesn't use any Remix code, but it still owes a big thanks to the Remix team (past and present) for their top-tier patterns design. If you're building something huge and important today, use Remix.\n\n## Disclaimer\n\nHwy is in beta! Act accordingly.\n\n## License\n\nMIT License\n\nCopyright (c) 2023 Samuel J. Cook\n","readmeFilename":"README.md","gitHead":"64c4fadd71a19ce568800d15f7386cb4ccd8f91f","types":"./dist/index.d.ts","_nodeVersion":"18.18.0","_npmVersion":"9.8.1","dist":{"integrity":"sha512-+OmQk2hjiidiPIaCEYsBiGloW58sM04Do/hZHoBv9qFqYDEmuAawFFEOP1fkEfRhZ0sy+eTUpyBR3BPqDbKe3A==","shasum":"515be2a4ffe06bc21f011316e30659cb56676f5a","tarball":"https://registry.npmjs.org/hwy/-/hwy-0.4.0-beta.17.tgz","fileCount":4,"unpackedSize":35802,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIHDWjerF24bePTW97UIS3BEerRUS99mdEufvUO8efGm2AiAcaNgRAQoI7hwGK09o/tOlWpBokmCKu1G/eMSfgag+sg=="}]},"_npmUser":{"name":"sjc5","email":"email@samcook.cc"},"directories":{},"maintainers":[{"name":"sjc5","email":"email@samcook.cc"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/hwy_0.4.0-beta.17_1697598066305_0.14638432972609006"},"_hasShrinkwrap":false},"0.4.0-beta.18":{"name":"hwy","version":"0.4.0-beta.18","author":{"name":"Samuel J. Cook"},"license":"MIT","description":"Simple, lightweight, and flexible web framework, built on Hono and HTMX.","type":"module","main":"dist/index.js","scripts":{"build":"rm -rf dist && tsup-node index.ts --format esm --dts","dev":"rm -rf dist && tsup-node index.ts --format esm --dts --watch --sourcemap","publish-beta":"npm publish --tag beta"},"devDependencies":{"@hono/node-server":"^1.2.0","@hwy-js/build":"workspace:*","@hwy-js/dev":"workspace:*","@types/node":"^20.8.3","hono":"^3.7.5","tsup":"^7.2.0"},"repository":{"type":"git","url":"git+https://github.com/hwy-js/hwy.git","directory":"packages/core"},"homepage":"https://hwy.dev","bugs":{"url":"https://github.com/hwy-js/hwy/issues"},"keywords":["simple","lightweight","flexible","framework","metaframework","web","typescript","htmx","hono","router","nested","routing","jsx","tsx","nextjs","remix"],"_id":"hwy@0.4.0-beta.18","readme":"# Hwy\n\nHwy is a simple, lightweight, and flexible web framework, built on Hono and HTMX.\n\n## Quick Start\n\n```bash\nnpx create-hwy@latest\n```\n\n## What is Hwy?\n\nHwy is a lot like NextJS or Remix, but it uses **_HTMX_** instead of React on the frontend.\n\nHwy lets you write **_React-style JSX_** in **_nested, file-based routes_**, with **_Remix-style actions and parallel loaders_**.\n\nPage components are async, so you can even **_fetch data in JSX_** if you want to (just be careful with waterfalls).\n\nThe backend server is built on **_Hono_**, so you have access to a rich, growing ecosystem with lots of middleware and wonderful docs.\n\nHwy is **_100% server-rendered_**, but with the HTMX defaults Hwy sets up for you out of the box, your app still **_feels like an SPA_**.\n\nLinks and forms are automatically **_progressively enhanced_** thanks to HTMX's `hx-boost` feature. Just use normal anchor tags and traditional form attributes.\n\nBecause Hwy replaces the **_full page_** on transitions by default, everything stays **_simple_**. You don't have to return different components from different endpoints (unless you want to).\n\nAnd best of all, **_anything you can do with Hono or HTMX, you can do with Hwy_**.\n\n## Features\n\n- Server-rendered JSX / TSX\n- Nested, file-based routing\n- Remix-style actions and parallel loaders\n- Async page components\n- Rich Hono middleware ecosystem\n- 100% type-safe\n- Server built on Hono\n- Client built on HTMX\n- Built-in critical CSS inlining\n- Live browser refresh during development\n- And more...\n\n## Guiding Principles\n\n- No speed limits\n- Numerous off-ramps\n- Smooth, safe roads\n- Clear traffic signs\n\n## Simple usage\n\nBelow is an example of a simple Hwy page. You'll notice it looks a lot like Remix, and you're right! Hwy is heavily inspired by Remix, but it uses HTMX instead of React.\n\n```tsx\n// src/pages/user/$user_id.page.tsx\n\nimport type { DataFunctionArgs, PageProps } from \"hwy\";\nimport { UserProfile, getUser } from \"./somewhere.js\";\n\nexport async function loader({ params }: DataFunctionArgs) {\n  return await getUser(params.user_id);\n}\n\nexport default async function ({ loaderData }: PageProps<typeof loader>) {\n  return <UserProfile user={loaderData} />;\n}\n```\n\nOr, if you prefer to fetch inside your components:\n\n```tsx\nexport default async function ({ params }: PageProps) {\n  const user = await getUser(params.user_id);\n\n  return <UserProfile user={user} />;\n}\n```\n\n## Get Started\n\nIf you want to dive right in, just open a terminal and run `npx create-hwy@latest` and follow the prompts.\n\nIf you'd prefer to read more first, take a peek at [our docs](https://hwy.dev/docs).\n\n## Acknowledgements\n\nHwy's APIs are obviously inspired by Remix. If Remix didn't exist, Hwy likely wouldn't exist either. Hwy doesn't use any Remix code, but it still owes a big thanks to the Remix team (past and present) for their top-tier patterns design. If you're building something huge and important today, use Remix.\n\n## Disclaimer\n\nHwy is in beta! Act accordingly.\n\n## License\n\nMIT License\n\nCopyright (c) 2023 Samuel J. Cook\n","readmeFilename":"README.md","gitHead":"64c4fadd71a19ce568800d15f7386cb4ccd8f91f","types":"./dist/index.d.ts","_nodeVersion":"18.18.0","_npmVersion":"9.8.1","dist":{"integrity":"sha512-w/5h5weyQ6F3L3W2p7jNyueYOoM9Mng+oFuskbOolWb7CGkeCzp3jEF/ggHkbWmXj6u48l4AH2rHstZnMllpCA==","shasum":"3885324d5648d3a98ffcee2cc5ed611522a12530","tarball":"https://registry.npmjs.org/hwy/-/hwy-0.4.0-beta.18.tgz","fileCount":4,"unpackedSize":35802,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCFLYsSOSHmMFmhJxgNd4KrDVunHR/1TnUDkmUxjSnfUgIgHcx4fV0QQsv886SeplfbOWRyOaIw+heHOtkLHJiPwgk="}]},"_npmUser":{"name":"sjc5","email":"email@samcook.cc"},"directories":{},"maintainers":[{"name":"sjc5","email":"email@samcook.cc"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/hwy_0.4.0-beta.18_1697598474370_0.9416288735953338"},"_hasShrinkwrap":false},"0.4.0-beta.19":{"name":"hwy","version":"0.4.0-beta.19","author":{"name":"Samuel J. Cook"},"license":"MIT","description":"Simple, lightweight, and flexible web framework, built on Hono and HTMX.","type":"module","main":"dist/index.js","scripts":{"build":"rm -rf dist && tsup-node index.ts --format esm --dts","dev":"rm -rf dist && tsup-node index.ts --format esm --dts --watch --sourcemap","publish-beta":"npm publish --tag beta"},"devDependencies":{"@hono/node-server":"^1.2.0","@hwy-js/build":"workspace:*","@hwy-js/dev":"workspace:*","@types/node":"^20.8.3","hono":"^3.7.5","tsup":"^7.2.0"},"repository":{"type":"git","url":"git+https://github.com/hwy-js/hwy.git","directory":"packages/core"},"homepage":"https://hwy.dev","bugs":{"url":"https://github.com/hwy-js/hwy/issues"},"keywords":["simple","lightweight","flexible","framework","metaframework","web","typescript","htmx","hono","router","nested","routing","jsx","tsx","nextjs","remix"],"_id":"hwy@0.4.0-beta.19","readme":"# Hwy\n\nHwy is a simple, lightweight, and flexible web framework, built on Hono and HTMX.\n\n## Quick Start\n\n```bash\nnpx create-hwy@latest\n```\n\n## What is Hwy?\n\nHwy is a lot like NextJS or Remix, but it uses **_HTMX_** instead of React on the frontend.\n\nHwy lets you write **_React-style JSX_** in **_nested, file-based routes_**, with **_Remix-style actions and parallel loaders_**.\n\nPage components are async, so you can even **_fetch data in JSX_** if you want to (just be careful with waterfalls).\n\nThe backend server is built on **_Hono_**, so you have access to a rich, growing ecosystem with lots of middleware and wonderful docs.\n\nHwy is **_100% server-rendered_**, but with the HTMX defaults Hwy sets up for you out of the box, your app still **_feels like an SPA_**.\n\nLinks and forms are automatically **_progressively enhanced_** thanks to HTMX's `hx-boost` feature. Just use normal anchor tags and traditional form attributes.\n\nBecause Hwy replaces the **_full page_** on transitions by default, everything stays **_simple_**. You don't have to return different components from different endpoints (unless you want to).\n\nAnd best of all, **_anything you can do with Hono or HTMX, you can do with Hwy_**.\n\n## Features\n\n- Server-rendered JSX / TSX\n- Nested, file-based routing\n- Remix-style actions and parallel loaders\n- Async page components\n- Rich Hono middleware ecosystem\n- 100% type-safe\n- Server built on Hono\n- Client built on HTMX\n- Built-in critical CSS inlining\n- Live browser refresh during development\n- And more...\n\n## Guiding Principles\n\n- No speed limits\n- Numerous off-ramps\n- Smooth, safe roads\n- Clear traffic signs\n\n## Simple usage\n\nBelow is an example of a simple Hwy page. You'll notice it looks a lot like Remix, and you're right! Hwy is heavily inspired by Remix, but it uses HTMX instead of React.\n\n```tsx\n// src/pages/user/$user_id.page.tsx\n\nimport type { DataFunctionArgs, PageProps } from \"hwy\";\nimport { UserProfile, getUser } from \"./somewhere.js\";\n\nexport async function loader({ params }: DataFunctionArgs) {\n  return await getUser(params.user_id);\n}\n\nexport default async function ({ loaderData }: PageProps<typeof loader>) {\n  return <UserProfile user={loaderData} />;\n}\n```\n\nOr, if you prefer to fetch inside your components:\n\n```tsx\nexport default async function ({ params }: PageProps) {\n  const user = await getUser(params.user_id);\n\n  return <UserProfile user={user} />;\n}\n```\n\n## Get Started\n\nIf you want to dive right in, just open a terminal and run `npx create-hwy@latest` and follow the prompts.\n\nIf you'd prefer to read more first, take a peek at [our docs](https://hwy.dev/docs).\n\n## Acknowledgements\n\nHwy's APIs are obviously inspired by Remix. If Remix didn't exist, Hwy likely wouldn't exist either. Hwy doesn't use any Remix code, but it still owes a big thanks to the Remix team (past and present) for their top-tier patterns design. If you're building something huge and important today, use Remix.\n\n## Disclaimer\n\nHwy is in beta! Act accordingly.\n\n## License\n\nMIT License\n\nCopyright (c) 2023 Samuel J. Cook\n","readmeFilename":"README.md","gitHead":"64c4fadd71a19ce568800d15f7386cb4ccd8f91f","types":"./dist/index.d.ts","_nodeVersion":"18.18.0","_npmVersion":"9.8.1","dist":{"integrity":"sha512-v2J41anfCvLA3kefKsT5T3Ciu6YgD2zB5Qi3i9BdpxjwMy99yM29VsbGYijzRBCnKw1Up8WY4X+he9npIFziYQ==","shasum":"fd95326276766a6b5aadc15918bb16f060933b13","tarball":"https://registry.npmjs.org/hwy/-/hwy-0.4.0-beta.19.tgz","fileCount":4,"unpackedSize":35802,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIH09tVCKh66whWrqKoJQADA9lqFU+ieFaUZPUBS0hcvcAiEAopTFHjaZ/73RtRsLjIxOhpBNNGP8H8pdtj2psNOZ31Y="}]},"_npmUser":{"name":"sjc5","email":"email@samcook.cc"},"directories":{},"maintainers":[{"name":"sjc5","email":"email@samcook.cc"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/hwy_0.4.0-beta.19_1697599133854_0.1997099552545647"},"_hasShrinkwrap":false},"0.4.0-beta.20":{"name":"hwy","version":"0.4.0-beta.20","author":{"name":"Samuel J. Cook"},"license":"MIT","description":"Simple, lightweight, and flexible web framework, built on Hono and HTMX.","type":"module","main":"dist/index.js","scripts":{"build":"rm -rf dist && tsup-node index.ts --format esm --dts","dev":"rm -rf dist && tsup-node index.ts --format esm --dts --watch --sourcemap","publish-beta":"npm publish --tag beta"},"devDependencies":{"@hono/node-server":"^1.2.0","@hwy-js/build":"workspace:*","@hwy-js/dev":"workspace:*","@types/node":"^20.8.3","hono":"^3.7.5","tsup":"^7.2.0"},"repository":{"type":"git","url":"git+https://github.com/hwy-js/hwy.git","directory":"packages/core"},"homepage":"https://hwy.dev","bugs":{"url":"https://github.com/hwy-js/hwy/issues"},"keywords":["simple","lightweight","flexible","framework","metaframework","web","typescript","htmx","hono","router","nested","routing","jsx","tsx","nextjs","remix"],"_id":"hwy@0.4.0-beta.20","readme":"# Hwy\n\nHwy is a simple, lightweight, and flexible web framework, built on Hono and HTMX.\n\n## Quick Start\n\n```bash\nnpx create-hwy@latest\n```\n\n## What is Hwy?\n\nHwy is a lot like NextJS or Remix, but it uses **_HTMX_** instead of React on the frontend.\n\nHwy lets you write **_React-style JSX_** in **_nested, file-based routes_**, with **_Remix-style actions and parallel loaders_**.\n\nPage components are async, so you can even **_fetch data in JSX_** if you want to (just be careful with waterfalls).\n\nThe backend server is built on **_Hono_**, so you have access to a rich, growing ecosystem with lots of middleware and wonderful docs.\n\nHwy is **_100% server-rendered_**, but with the HTMX defaults Hwy sets up for you out of the box, your app still **_feels like an SPA_**.\n\nLinks and forms are automatically **_progressively enhanced_** thanks to HTMX's `hx-boost` feature. Just use normal anchor tags and traditional form attributes.\n\nBecause Hwy replaces the **_full page_** on transitions by default, everything stays **_simple_**. You don't have to return different components from different endpoints (unless you want to).\n\nAnd best of all, **_anything you can do with Hono or HTMX, you can do with Hwy_**.\n\n## Features\n\n- Server-rendered JSX / TSX\n- Nested, file-based routing\n- Remix-style actions and parallel loaders\n- Async page components\n- Rich Hono middleware ecosystem\n- 100% type-safe\n- Server built on Hono\n- Client built on HTMX\n- Built-in critical CSS inlining\n- Live browser refresh during development\n- And more...\n\n## Guiding Principles\n\n- No speed limits\n- Numerous off-ramps\n- Smooth, safe roads\n- Clear traffic signs\n\n## Simple usage\n\nBelow is an example of a simple Hwy page. You'll notice it looks a lot like Remix, and you're right! Hwy is heavily inspired by Remix, but it uses HTMX instead of React.\n\n```tsx\n// src/pages/user/$user_id.page.tsx\n\nimport type { DataFunctionArgs, PageProps } from \"hwy\";\nimport { UserProfile, getUser } from \"./somewhere.js\";\n\nexport async function loader({ params }: DataFunctionArgs) {\n  return await getUser(params.user_id);\n}\n\nexport default async function ({ loaderData }: PageProps<typeof loader>) {\n  return <UserProfile user={loaderData} />;\n}\n```\n\nOr, if you prefer to fetch inside your components:\n\n```tsx\nexport default async function ({ params }: PageProps) {\n  const user = await getUser(params.user_id);\n\n  return <UserProfile user={user} />;\n}\n```\n\n## Get Started\n\nIf you want to dive right in, just open a terminal and run `npx create-hwy@latest` and follow the prompts.\n\nIf you'd prefer to read more first, take a peek at [our docs](https://hwy.dev/docs).\n\n## Acknowledgements\n\nHwy's APIs are obviously inspired by Remix. If Remix didn't exist, Hwy likely wouldn't exist either. Hwy doesn't use any Remix code, but it still owes a big thanks to the Remix team (past and present) for their top-tier patterns design. If you're building something huge and important today, use Remix.\n\n## Disclaimer\n\nHwy is in beta! Act accordingly.\n\n## License\n\nMIT License\n\nCopyright (c) 2023 Samuel J. Cook\n","readmeFilename":"README.md","gitHead":"64c4fadd71a19ce568800d15f7386cb4ccd8f91f","types":"./dist/index.d.ts","_nodeVersion":"18.18.0","_npmVersion":"9.8.1","dist":{"integrity":"sha512-w2J08otlQj7LoKvGdQt8/HF1siWkoAbYbvzwtwFJkxgFABPb/DTAtiryZYDOXAEtfijwXFG+Zlhdazlckj0UsA==","shasum":"97af9106466c2c0de8181d531478e1a1bfdb01c8","tarball":"https://registry.npmjs.org/hwy/-/hwy-0.4.0-beta.20.tgz","fileCount":4,"unpackedSize":35802,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQC1KPufru13B59bLKp457UARsBab8rI/a2pBhNg0t9aCQIgFlUxZt58ONwGDqe6PVER8TLe/b/hkIQcgKhbSi86+B4="}]},"_npmUser":{"name":"sjc5","email":"email@samcook.cc"},"directories":{},"maintainers":[{"name":"sjc5","email":"email@samcook.cc"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/hwy_0.4.0-beta.20_1697599616836_0.8771730973042022"},"_hasShrinkwrap":false},"0.4.0-beta.21":{"name":"hwy","version":"0.4.0-beta.21","author":{"name":"Samuel J. Cook"},"license":"MIT","description":"Simple, lightweight, and flexible web framework, built on Hono and HTMX.","type":"module","main":"dist/index.js","scripts":{"build":"rm -rf dist && tsup-node index.ts --format esm --dts","dev":"rm -rf dist && tsup-node index.ts --format esm --dts --watch --sourcemap","publish-beta":"npm publish --tag beta"},"devDependencies":{"@hono/node-server":"^1.2.0","@hwy-js/build":"workspace:*","@hwy-js/dev":"workspace:*","@types/node":"^20.8.3","hono":"^3.7.5","tsup":"^7.2.0"},"repository":{"type":"git","url":"git+https://github.com/hwy-js/hwy.git","directory":"packages/core"},"homepage":"https://hwy.dev","bugs":{"url":"https://github.com/hwy-js/hwy/issues"},"keywords":["simple","lightweight","flexible","framework","metaframework","web","typescript","htmx","hono","router","nested","routing","jsx","tsx","nextjs","remix"],"_id":"hwy@0.4.0-beta.21","readme":"# Hwy\n\nHwy is a simple, lightweight, and flexible web framework, built on Hono and HTMX.\n\n## Quick Start\n\n```bash\nnpx create-hwy@latest\n```\n\n## What is Hwy?\n\nHwy is a lot like NextJS or Remix, but it uses **_HTMX_** instead of React on the frontend.\n\nHwy lets you write **_React-style JSX_** in **_nested, file-based routes_**, with **_Remix-style actions and parallel loaders_**.\n\nPage components are async, so you can even **_fetch data in JSX_** if you want to (just be careful with waterfalls).\n\nThe backend server is built on **_Hono_**, so you have access to a rich, growing ecosystem with lots of middleware and wonderful docs.\n\nHwy is **_100% server-rendered_**, but with the HTMX defaults Hwy sets up for you out of the box, your app still **_feels like an SPA_**.\n\nLinks and forms are automatically **_progressively enhanced_** thanks to HTMX's `hx-boost` feature. Just use normal anchor tags and traditional form attributes.\n\nBecause Hwy replaces the **_full page_** on transitions by default, everything stays **_simple_**. You don't have to return different components from different endpoints (unless you want to).\n\nAnd best of all, **_anything you can do with Hono or HTMX, you can do with Hwy_**.\n\n## Features\n\n- Server-rendered JSX / TSX\n- Nested, file-based routing\n- Remix-style actions and parallel loaders\n- Async page components\n- Rich Hono middleware ecosystem\n- 100% type-safe\n- Server built on Hono\n- Client built on HTMX\n- Built-in critical CSS inlining\n- Live browser refresh during development\n- And more...\n\n## Guiding Principles\n\n- No speed limits\n- Numerous off-ramps\n- Smooth, safe roads\n- Clear traffic signs\n\n## Simple usage\n\nBelow is an example of a simple Hwy page. You'll notice it looks a lot like Remix, and you're right! Hwy is heavily inspired by Remix, but it uses HTMX instead of React.\n\n```tsx\n// src/pages/user/$user_id.page.tsx\n\nimport type { DataFunctionArgs, PageProps } from \"hwy\";\nimport { UserProfile, getUser } from \"./somewhere.js\";\n\nexport async function loader({ params }: DataFunctionArgs) {\n  return await getUser(params.user_id);\n}\n\nexport default async function ({ loaderData }: PageProps<typeof loader>) {\n  return <UserProfile user={loaderData} />;\n}\n```\n\nOr, if you prefer to fetch inside your components:\n\n```tsx\nexport default async function ({ params }: PageProps) {\n  const user = await getUser(params.user_id);\n\n  return <UserProfile user={user} />;\n}\n```\n\n## Get Started\n\nIf you want to dive right in, just open a terminal and run `npx create-hwy@latest` and follow the prompts.\n\nIf you'd prefer to read more first, take a peek at [our docs](https://hwy.dev/docs).\n\n## Acknowledgements\n\nHwy's APIs are obviously inspired by Remix. If Remix didn't exist, Hwy likely wouldn't exist either. Hwy doesn't use any Remix code, but it still owes a big thanks to the Remix team (past and present) for their top-tier patterns design. If you're building something huge and important today, use Remix.\n\n## Disclaimer\n\nHwy is in beta! Act accordingly.\n\n## License\n\nMIT License\n\nCopyright (c) 2023 Samuel J. Cook\n","readmeFilename":"README.md","gitHead":"64c4fadd71a19ce568800d15f7386cb4ccd8f91f","types":"./dist/index.d.ts","_nodeVersion":"18.18.0","_npmVersion":"9.8.1","dist":{"integrity":"sha512-vz7oiOB38LfaWxJjP44BZ3ISvVvnVhb7jW6DfVQ5M1R4B+KrUs1xoMprVC7FZIBajtIT3op/WaeVvDFcZy7vHg==","shasum":"ba559aa7139809e8235bf277ff93211dd931aa88","tarball":"https://registry.npmjs.org/hwy/-/hwy-0.4.0-beta.21.tgz","fileCount":4,"unpackedSize":35834,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDDo2nH66kmOQXmK1O2ZQDRw3RPN7M3QU4mj30khYWQ4AIhAI9hIcVjYutEHAP0uI1NqQ1frwY84YgpYRjr2NV93vnF"}]},"_npmUser":{"name":"sjc5","email":"email@samcook.cc"},"directories":{},"maintainers":[{"name":"sjc5","email":"email@samcook.cc"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/hwy_0.4.0-beta.21_1697600761292_0.0776755391698416"},"_hasShrinkwrap":false},"0.4.0-beta.22":{"name":"hwy","version":"0.4.0-beta.22","author":{"name":"Samuel J. Cook"},"license":"MIT","description":"Simple, lightweight, and flexible web framework, built on Hono and HTMX.","type":"module","main":"dist/index.js","scripts":{"build":"rm -rf dist && tsup-node index.ts --format esm --dts","dev":"rm -rf dist && tsup-node index.ts --format esm --dts --watch --sourcemap","publish-beta":"npm publish --tag beta"},"devDependencies":{"@hono/node-server":"^1.2.0","@hwy-js/build":"workspace:*","@hwy-js/dev":"workspace:*","@types/node":"^20.8.3","hono":"^3.7.5","tsup":"^7.2.0"},"repository":{"type":"git","url":"git+https://github.com/hwy-js/hwy.git","directory":"packages/core"},"homepage":"https://hwy.dev","bugs":{"url":"https://github.com/hwy-js/hwy/issues"},"keywords":["simple","lightweight","flexible","framework","metaframework","web","typescript","htmx","hono","router","nested","routing","jsx","tsx","nextjs","remix"],"_id":"hwy@0.4.0-beta.22","readme":"# Hwy\n\nHwy is a simple, lightweight, and flexible web framework, built on Hono and HTMX.\n\n## Quick Start\n\n```bash\nnpx create-hwy@latest\n```\n\n## What is Hwy?\n\nHwy is a lot like NextJS or Remix, but it uses **_HTMX_** instead of React on the frontend.\n\nHwy lets you write **_React-style JSX_** in **_nested, file-based routes_**, with **_Remix-style actions and parallel loaders_**.\n\nPage components are async, so you can even **_fetch data in JSX_** if you want to (just be careful with waterfalls).\n\nThe backend server is built on **_Hono_**, so you have access to a rich, growing ecosystem with lots of middleware and wonderful docs.\n\nHwy is **_100% server-rendered_**, but with the HTMX defaults Hwy sets up for you out of the box, your app still **_feels like an SPA_**.\n\nLinks and forms are automatically **_progressively enhanced_** thanks to HTMX's `hx-boost` feature. Just use normal anchor tags and traditional form attributes.\n\nBecause Hwy replaces the **_full page_** on transitions by default, everything stays **_simple_**. You don't have to return different components from different endpoints (unless you want to).\n\nAnd best of all, **_anything you can do with Hono or HTMX, you can do with Hwy_**.\n\n## Features\n\n- Server-rendered JSX / TSX\n- Nested, file-based routing\n- Remix-style actions and parallel loaders\n- Async page components\n- Rich Hono middleware ecosystem\n- 100% type-safe\n- Server built on Hono\n- Client built on HTMX\n- Built-in critical CSS inlining\n- Live browser refresh during development\n- And more...\n\n## Guiding Principles\n\n- No speed limits\n- Numerous off-ramps\n- Smooth, safe roads\n- Clear traffic signs\n\n## Simple usage\n\nBelow is an example of a simple Hwy page. You'll notice it looks a lot like Remix, and you're right! Hwy is heavily inspired by Remix, but it uses HTMX instead of React.\n\n```tsx\n// src/pages/user/$user_id.page.tsx\n\nimport type { DataFunctionArgs, PageProps } from \"hwy\";\nimport { UserProfile, getUser } from \"./somewhere.js\";\n\nexport async function loader({ params }: DataFunctionArgs) {\n  return await getUser(params.user_id);\n}\n\nexport default async function ({ loaderData }: PageProps<typeof loader>) {\n  return <UserProfile user={loaderData} />;\n}\n```\n\nOr, if you prefer to fetch inside your components:\n\n```tsx\nexport default async function ({ params }: PageProps) {\n  const user = await getUser(params.user_id);\n\n  return <UserProfile user={user} />;\n}\n```\n\n## Get Started\n\nIf you want to dive right in, just open a terminal and run `npx create-hwy@latest` and follow the prompts.\n\nIf you'd prefer to read more first, take a peek at [our docs](https://hwy.dev/docs).\n\n## Acknowledgements\n\nHwy's APIs are obviously inspired by Remix. If Remix didn't exist, Hwy likely wouldn't exist either. Hwy doesn't use any Remix code, but it still owes a big thanks to the Remix team (past and present) for their top-tier patterns design. If you're building something huge and important today, use Remix.\n\n## Disclaimer\n\nHwy is in beta! Act accordingly.\n\n## License\n\nMIT License\n\nCopyright (c) 2023 Samuel J. Cook\n","readmeFilename":"README.md","gitHead":"64c4fadd71a19ce568800d15f7386cb4ccd8f91f","types":"./dist/index.d.ts","_nodeVersion":"18.18.0","_npmVersion":"9.8.1","dist":{"integrity":"sha512-f/qptLs7/3T+jkX04DanuLrnJEXuYW9ejQOqFm8EVRUBLGt2tG9oyc+TgYARdVH9B8Vgy4BzX94suGTioDk+Nw==","shasum":"074603ccf796e2d0202a4f75fa73dc00433428f8","tarball":"https://registry.npmjs.org/hwy/-/hwy-0.4.0-beta.22.tgz","fileCount":4,"unpackedSize":36752,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIHxEj3i2G9NTiAZNZCDDWMDa2Idlnno/8apKKKCY0eKcAiEAqK0mhvdl2gsoDXgb8B2Ffs1mEmBVj1cV/NChmdM9C9Y="}]},"_npmUser":{"name":"sjc5","email":"email@samcook.cc"},"directories":{},"maintainers":[{"name":"sjc5","email":"email@samcook.cc"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/hwy_0.4.0-beta.22_1697602113832_0.07999879292272127"},"_hasShrinkwrap":false},"0.4.0-beta.23":{"name":"hwy","version":"0.4.0-beta.23","author":{"name":"Samuel J. Cook"},"license":"MIT","description":"Simple, lightweight, and flexible web framework, built on Hono and HTMX.","type":"module","main":"dist/index.js","scripts":{"build":"rm -rf dist && tsup-node index.ts --format esm --dts","dev":"rm -rf dist && tsup-node index.ts --format esm --dts --watch --sourcemap","publish-beta":"npm publish --tag beta"},"devDependencies":{"@hono/node-server":"^1.2.0","@hwy-js/build":"workspace:*","@hwy-js/dev":"workspace:*","@types/node":"^20.8.3","hono":"^3.7.5","tsup":"^7.2.0"},"repository":{"type":"git","url":"git+https://github.com/hwy-js/hwy.git","directory":"packages/core"},"homepage":"https://hwy.dev","bugs":{"url":"https://github.com/hwy-js/hwy/issues"},"keywords":["simple","lightweight","flexible","framework","metaframework","web","typescript","htmx","hono","router","nested","routing","jsx","tsx","nextjs","remix"],"_id":"hwy@0.4.0-beta.23","readme":"# Hwy\n\nHwy is a simple, lightweight, and flexible web framework, built on Hono and HTMX.\n\n## Quick Start\n\n```bash\nnpx create-hwy@latest\n```\n\n## What is Hwy?\n\nHwy is a lot like NextJS or Remix, but it uses **_HTMX_** instead of React on the frontend.\n\nHwy lets you write **_React-style JSX_** in **_nested, file-based routes_**, with **_Remix-style actions and parallel loaders_**.\n\nPage components are async, so you can even **_fetch data in JSX_** if you want to (just be careful with waterfalls).\n\nThe backend server is built on **_Hono_**, so you have access to a rich, growing ecosystem with lots of middleware and wonderful docs.\n\nHwy is **_100% server-rendered_**, but with the HTMX defaults Hwy sets up for you out of the box, your app still **_feels like an SPA_**.\n\nLinks and forms are automatically **_progressively enhanced_** thanks to HTMX's `hx-boost` feature. Just use normal anchor tags and traditional form attributes.\n\nBecause Hwy replaces the **_full page_** on transitions by default, everything stays **_simple_**. You don't have to return different components from different endpoints (unless you want to).\n\nAnd best of all, **_anything you can do with Hono or HTMX, you can do with Hwy_**.\n\n## Features\n\n- Server-rendered JSX / TSX\n- Nested, file-based routing\n- Remix-style actions and parallel loaders\n- Async page components\n- Rich Hono middleware ecosystem\n- 100% type-safe\n- Server built on Hono\n- Client built on HTMX\n- Built-in critical CSS inlining\n- Live browser refresh during development\n- And more...\n\n## Guiding Principles\n\n- No speed limits\n- Numerous off-ramps\n- Smooth, safe roads\n- Clear traffic signs\n\n## Simple usage\n\nBelow is an example of a simple Hwy page. You'll notice it looks a lot like Remix, and you're right! Hwy is heavily inspired by Remix, but it uses HTMX instead of React.\n\n```tsx\n// src/pages/user/$user_id.page.tsx\n\nimport type { DataFunctionArgs, PageProps } from \"hwy\";\nimport { UserProfile, getUser } from \"./somewhere.js\";\n\nexport async function loader({ params }: DataFunctionArgs) {\n  return await getUser(params.user_id);\n}\n\nexport default async function ({ loaderData }: PageProps<typeof loader>) {\n  return <UserProfile user={loaderData} />;\n}\n```\n\nOr, if you prefer to fetch inside your components:\n\n```tsx\nexport default async function ({ params }: PageProps) {\n  const user = await getUser(params.user_id);\n\n  return <UserProfile user={user} />;\n}\n```\n\n## Get Started\n\nIf you want to dive right in, just open a terminal and run `npx create-hwy@latest` and follow the prompts.\n\nIf you'd prefer to read more first, take a peek at [our docs](https://hwy.dev/docs).\n\n## Acknowledgements\n\nHwy's APIs are obviously inspired by Remix. If Remix didn't exist, Hwy likely wouldn't exist either. Hwy doesn't use any Remix code, but it still owes a big thanks to the Remix team (past and present) for their top-tier patterns design. If you're building something huge and important today, use Remix.\n\n## Disclaimer\n\nHwy is in beta! Act accordingly.\n\n## License\n\nMIT License\n\nCopyright (c) 2023 Samuel J. Cook\n","readmeFilename":"README.md","gitHead":"64c4fadd71a19ce568800d15f7386cb4ccd8f91f","types":"./dist/index.d.ts","_nodeVersion":"18.18.0","_npmVersion":"9.8.1","dist":{"integrity":"sha512-KFVy0z8M/QWiWNQq8JikhoFpH1Nylp7rDgGgUl9lyFpYKLNLk3EGkVoFRSzcpljAWFYP6K2vc3XIZdzk5Jj3bQ==","shasum":"12817043e1ebfa546e1e06acf729e9175322ae34","tarball":"https://registry.npmjs.org/hwy/-/hwy-0.4.0-beta.23.tgz","fileCount":4,"unpackedSize":36752,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCtQegyRkV8Bz8UZ4Q+si0b7D0l75+yhOe+4SzarvV3CAIhAJ7d+oMmSBq1YNT6LwnypYb3rByXauAFa9VCCTaNCNF6"}]},"_npmUser":{"name":"sjc5","email":"email@samcook.cc"},"directories":{},"maintainers":[{"name":"sjc5","email":"email@samcook.cc"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/hwy_0.4.0-beta.23_1697603160520_0.3664289630312081"},"_hasShrinkwrap":false},"0.4.0-beta.24":{"name":"hwy","version":"0.4.0-beta.24","author":{"name":"Samuel J. Cook"},"license":"MIT","description":"Simple, lightweight, and flexible web framework, built on Hono and HTMX.","type":"module","main":"dist/index.js","scripts":{"build":"rm -rf dist && tsup-node index.ts --format esm --dts","dev":"rm -rf dist && tsup-node index.ts --format esm --dts --watch --sourcemap","publish-beta":"npm publish --tag beta"},"devDependencies":{"@hono/node-server":"^1.2.0","@hwy-js/build":"workspace:*","@hwy-js/dev":"workspace:*","@types/node":"^20.8.3","hono":"^3.7.5","tsup":"^7.2.0"},"repository":{"type":"git","url":"git+https://github.com/hwy-js/hwy.git","directory":"packages/core"},"homepage":"https://hwy.dev","bugs":{"url":"https://github.com/hwy-js/hwy/issues"},"keywords":["simple","lightweight","flexible","framework","metaframework","web","typescript","htmx","hono","router","nested","routing","jsx","tsx","nextjs","remix"],"_id":"hwy@0.4.0-beta.24","readme":"# Hwy\n\nHwy is a simple, lightweight, and flexible web framework, built on Hono and HTMX.\n\n## Quick Start\n\n```bash\nnpx create-hwy@latest\n```\n\n## What is Hwy?\n\nHwy is a lot like NextJS or Remix, but it uses **_HTMX_** instead of React on the frontend.\n\nHwy lets you write **_React-style JSX_** in **_nested, file-based routes_**, with **_Remix-style actions and parallel loaders_**.\n\nPage components are async, so you can even **_fetch data in JSX_** if you want to (just be careful with waterfalls).\n\nThe backend server is built on **_Hono_**, so you have access to a rich, growing ecosystem with lots of middleware and wonderful docs.\n\nHwy is **_100% server-rendered_**, but with the HTMX defaults Hwy sets up for you out of the box, your app still **_feels like an SPA_**.\n\nLinks and forms are automatically **_progressively enhanced_** thanks to HTMX's `hx-boost` feature. Just use normal anchor tags and traditional form attributes.\n\nBecause Hwy replaces the **_full page_** on transitions by default, everything stays **_simple_**. You don't have to return different components from different endpoints (unless you want to).\n\nAnd best of all, **_anything you can do with Hono or HTMX, you can do with Hwy_**.\n\n## Features\n\n- Server-rendered JSX / TSX\n- Nested, file-based routing\n- Remix-style actions and parallel loaders\n- Async page components\n- Rich Hono middleware ecosystem\n- 100% type-safe\n- Server built on Hono\n- Client built on HTMX\n- Built-in critical CSS inlining\n- Live browser refresh during development\n- And more...\n\n## Guiding Principles\n\n- No speed limits\n- Numerous off-ramps\n- Smooth, safe roads\n- Clear traffic signs\n\n## Simple usage\n\nBelow is an example of a simple Hwy page. You'll notice it looks a lot like Remix, and you're right! Hwy is heavily inspired by Remix, but it uses HTMX instead of React.\n\n```tsx\n// src/pages/user/$user_id.page.tsx\n\nimport type { DataFunctionArgs, PageProps } from \"hwy\";\nimport { UserProfile, getUser } from \"./somewhere.js\";\n\nexport async function loader({ params }: DataFunctionArgs) {\n  return await getUser(params.user_id);\n}\n\nexport default async function ({ loaderData }: PageProps<typeof loader>) {\n  return <UserProfile user={loaderData} />;\n}\n```\n\nOr, if you prefer to fetch inside your components:\n\n```tsx\nexport default async function ({ params }: PageProps) {\n  const user = await getUser(params.user_id);\n\n  return <UserProfile user={user} />;\n}\n```\n\n## Get Started\n\nIf you want to dive right in, just open a terminal and run `npx create-hwy@latest` and follow the prompts.\n\nIf you'd prefer to read more first, take a peek at [our docs](https://hwy.dev/docs).\n\n## Acknowledgements\n\nHwy's APIs are obviously inspired by Remix. If Remix didn't exist, Hwy likely wouldn't exist either. Hwy doesn't use any Remix code, but it still owes a big thanks to the Remix team (past and present) for their top-tier patterns design. If you're building something huge and important today, use Remix.\n\n## Disclaimer\n\nHwy is in beta! Act accordingly.\n\n## License\n\nMIT License\n\nCopyright (c) 2023 Samuel J. Cook\n","readmeFilename":"README.md","gitHead":"64c4fadd71a19ce568800d15f7386cb4ccd8f91f","types":"./dist/index.d.ts","_nodeVersion":"18.18.0","_npmVersion":"9.8.1","dist":{"integrity":"sha512-XQdPjBbNzQMD2MDnTu1wurNbynrx3Sz1bJB5yi0MaynDzOSghWzF/7kjpb8kTYR+l9YquhwlaLBI6MMf+BU7/g==","shasum":"e9e4f93291d6d35ab4c61035a49661287b4d85f5","tarball":"https://registry.npmjs.org/hwy/-/hwy-0.4.0-beta.24.tgz","fileCount":4,"unpackedSize":36752,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIG/unWXEuk8WDz7StEA2BIPs74BM2q6HIsme5/JiVGAdAiEAiJhKA9UFdPDILaRWIHCH2u9YkvG2/NhgVAbWS+kqPPI="}]},"_npmUser":{"name":"sjc5","email":"email@samcook.cc"},"directories":{},"maintainers":[{"name":"sjc5","email":"email@samcook.cc"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/hwy_0.4.0-beta.24_1697603863585_0.36164105923181267"},"_hasShrinkwrap":false},"0.4.0-beta.25":{"name":"hwy","version":"0.4.0-beta.25","author":{"name":"Samuel J. Cook"},"license":"MIT","description":"Simple, lightweight, and flexible web framework, built on Hono and HTMX.","type":"module","main":"dist/index.js","scripts":{"build":"rm -rf dist && tsup-node index.ts --format esm --dts","dev":"rm -rf dist && tsup-node index.ts --format esm --dts --watch --sourcemap","publish-beta":"npm publish --tag beta"},"devDependencies":{"@hono/node-server":"^1.2.0","@hwy-js/build":"workspace:*","@hwy-js/dev":"workspace:*","@types/node":"^20.8.3","hono":"^3.7.5","tsup":"^7.2.0"},"repository":{"type":"git","url":"git+https://github.com/hwy-js/hwy.git","directory":"packages/core"},"homepage":"https://hwy.dev","bugs":{"url":"https://github.com/hwy-js/hwy/issues"},"keywords":["simple","lightweight","flexible","framework","metaframework","web","typescript","htmx","hono","router","nested","routing","jsx","tsx","nextjs","remix"],"_id":"hwy@0.4.0-beta.25","readme":"# Hwy\n\nHwy is a simple, lightweight, and flexible web framework, built on Hono and HTMX.\n\n## Quick Start\n\n```bash\nnpx create-hwy@latest\n```\n\n## What is Hwy?\n\nHwy is a lot like NextJS or Remix, but it uses **_HTMX_** instead of React on the frontend.\n\nHwy lets you write **_React-style JSX_** in **_nested, file-based routes_**, with **_Remix-style actions and parallel loaders_**.\n\nPage components are async, so you can even **_fetch data in JSX_** if you want to (just be careful with waterfalls).\n\nThe backend server is built on **_Hono_**, so you have access to a rich, growing ecosystem with lots of middleware and wonderful docs.\n\nHwy is **_100% server-rendered_**, but with the HTMX defaults Hwy sets up for you out of the box, your app still **_feels like an SPA_**.\n\nLinks and forms are automatically **_progressively enhanced_** thanks to HTMX's `hx-boost` feature. Just use normal anchor tags and traditional form attributes.\n\nBecause Hwy replaces the **_full page_** on transitions by default, everything stays **_simple_**. You don't have to return different components from different endpoints (unless you want to).\n\nAnd best of all, **_anything you can do with Hono or HTMX, you can do with Hwy_**.\n\n## Features\n\n- Server-rendered JSX / TSX\n- Nested, file-based routing\n- Remix-style actions and parallel loaders\n- Async page components\n- Rich Hono middleware ecosystem\n- 100% type-safe\n- Server built on Hono\n- Client built on HTMX\n- Built-in critical CSS inlining\n- Live browser refresh during development\n- And more...\n\n## Guiding Principles\n\n- No speed limits\n- Numerous off-ramps\n- Smooth, safe roads\n- Clear traffic signs\n\n## Simple usage\n\nBelow is an example of a simple Hwy page. You'll notice it looks a lot like Remix, and you're right! Hwy is heavily inspired by Remix, but it uses HTMX instead of React.\n\n```tsx\n// src/pages/user/$user_id.page.tsx\n\nimport type { DataFunctionArgs, PageProps } from \"hwy\";\nimport { UserProfile, getUser } from \"./somewhere.js\";\n\nexport async function loader({ params }: DataFunctionArgs) {\n  return await getUser(params.user_id);\n}\n\nexport default async function ({ loaderData }: PageProps<typeof loader>) {\n  return <UserProfile user={loaderData} />;\n}\n```\n\nOr, if you prefer to fetch inside your components:\n\n```tsx\nexport default async function ({ params }: PageProps) {\n  const user = await getUser(params.user_id);\n\n  return <UserProfile user={user} />;\n}\n```\n\n## Get Started\n\nIf you want to dive right in, just open a terminal and run `npx create-hwy@latest` and follow the prompts.\n\nIf you'd prefer to read more first, take a peek at [our docs](https://hwy.dev/docs).\n\n## Acknowledgements\n\nHwy's APIs are obviously inspired by Remix. If Remix didn't exist, Hwy likely wouldn't exist either. Hwy doesn't use any Remix code, but it still owes a big thanks to the Remix team (past and present) for their top-tier patterns design. If you're building something huge and important today, use Remix.\n\n## Disclaimer\n\nHwy is in beta! Act accordingly.\n\n## License\n\nMIT License\n\nCopyright (c) 2023 Samuel J. Cook\n","readmeFilename":"README.md","gitHead":"64c4fadd71a19ce568800d15f7386cb4ccd8f91f","types":"./dist/index.d.ts","_nodeVersion":"18.18.0","_npmVersion":"9.8.1","dist":{"integrity":"sha512-o8u+OQMQbVbO/rizYv4pl5Dz1a/678jgq88HJC1slK1rd6DLyu9+MhDpKjGOdkbgtA9B/2qEJ0ct2qpE+3c5kA==","shasum":"2fdc4fca6b942c0b8bcd1ca9d1ca0319336fcd52","tarball":"https://registry.npmjs.org/hwy/-/hwy-0.4.0-beta.25.tgz","fileCount":4,"unpackedSize":36752,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIHCNMOkNK+wpnSGRNB1mVDE+CdrW3H32ZJZp5OWOaZhOAiEA44IqbN8frt+ge/HVoYSLGmIB8Jj2i4KG8PXDvrAmy78="}]},"_npmUser":{"name":"sjc5","email":"email@samcook.cc"},"directories":{},"maintainers":[{"name":"sjc5","email":"email@samcook.cc"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/hwy_0.4.0-beta.25_1697604993554_0.1416689864036782"},"_hasShrinkwrap":false},"0.4.0-beta.26":{"name":"hwy","version":"0.4.0-beta.26","author":{"name":"Samuel J. Cook"},"license":"MIT","description":"Simple, lightweight, and flexible web framework, built on Hono and HTMX.","type":"module","main":"dist/index.js","scripts":{"build":"rm -rf dist && tsup-node index.ts --format esm --dts","dev":"rm -rf dist && tsup-node index.ts --format esm --dts --watch --sourcemap","publish-beta":"npm publish --tag beta"},"devDependencies":{"@hono/node-server":"^1.2.0","@hwy-js/build":"workspace:*","@hwy-js/dev":"workspace:*","@types/node":"^20.8.3","hono":"^3.7.5","tsup":"^7.2.0"},"repository":{"type":"git","url":"git+https://github.com/hwy-js/hwy.git","directory":"packages/core"},"homepage":"https://hwy.dev","bugs":{"url":"https://github.com/hwy-js/hwy/issues"},"keywords":["simple","lightweight","flexible","framework","metaframework","web","typescript","htmx","hono","router","nested","routing","jsx","tsx","nextjs","remix"],"_id":"hwy@0.4.0-beta.26","readme":"# Hwy\n\nHwy is a simple, lightweight, and flexible web framework, built on Hono and HTMX.\n\n## Quick Start\n\n```bash\nnpx create-hwy@latest\n```\n\n## What is Hwy?\n\nHwy is a lot like NextJS or Remix, but it uses **_HTMX_** instead of React on the frontend.\n\nHwy lets you write **_React-style JSX_** in **_nested, file-based routes_**, with **_Remix-style actions and parallel loaders_**.\n\nPage components are async, so you can even **_fetch data in JSX_** if you want to (just be careful with waterfalls).\n\nThe backend server is built on **_Hono_**, so you have access to a rich, growing ecosystem with lots of middleware and wonderful docs.\n\nHwy is **_100% server-rendered_**, but with the HTMX defaults Hwy sets up for you out of the box, your app still **_feels like an SPA_**.\n\nLinks and forms are automatically **_progressively enhanced_** thanks to HTMX's `hx-boost` feature. Just use normal anchor tags and traditional form attributes.\n\nBecause Hwy replaces the **_full page_** on transitions by default, everything stays **_simple_**. You don't have to return different components from different endpoints (unless you want to).\n\nAnd best of all, **_anything you can do with Hono or HTMX, you can do with Hwy_**.\n\n## Features\n\n- Server-rendered JSX / TSX\n- Nested, file-based routing\n- Remix-style actions and parallel loaders\n- Async page components\n- Rich Hono middleware ecosystem\n- 100% type-safe\n- Server built on Hono\n- Client built on HTMX\n- Built-in critical CSS inlining\n- Live browser refresh during development\n- And more...\n\n## Guiding Principles\n\n- No speed limits\n- Numerous off-ramps\n- Smooth, safe roads\n- Clear traffic signs\n\n## Simple usage\n\nBelow is an example of a simple Hwy page. You'll notice it looks a lot like Remix, and you're right! Hwy is heavily inspired by Remix, but it uses HTMX instead of React.\n\n```tsx\n// src/pages/user/$user_id.page.tsx\n\nimport type { DataFunctionArgs, PageProps } from \"hwy\";\nimport { UserProfile, getUser } from \"./somewhere.js\";\n\nexport async function loader({ params }: DataFunctionArgs) {\n  return await getUser(params.user_id);\n}\n\nexport default async function ({ loaderData }: PageProps<typeof loader>) {\n  return <UserProfile user={loaderData} />;\n}\n```\n\nOr, if you prefer to fetch inside your components:\n\n```tsx\nexport default async function ({ params }: PageProps) {\n  const user = await getUser(params.user_id);\n\n  return <UserProfile user={user} />;\n}\n```\n\n## Get Started\n\nIf you want to dive right in, just open a terminal and run `npx create-hwy@latest` and follow the prompts.\n\nIf you'd prefer to read more first, take a peek at [our docs](https://hwy.dev/docs).\n\n## Acknowledgements\n\nHwy's APIs are obviously inspired by Remix. If Remix didn't exist, Hwy likely wouldn't exist either. Hwy doesn't use any Remix code, but it still owes a big thanks to the Remix team (past and present) for their top-tier patterns design. If you're building something huge and important today, use Remix.\n\n## Disclaimer\n\nHwy is in beta! Act accordingly.\n\n## License\n\nMIT License\n\nCopyright (c) 2023 Samuel J. Cook\n","readmeFilename":"README.md","gitHead":"64c4fadd71a19ce568800d15f7386cb4ccd8f91f","types":"./dist/index.d.ts","_nodeVersion":"18.18.0","_npmVersion":"9.8.1","dist":{"integrity":"sha512-jVEPCZ5aw9OI8+5dvLcrWPb3elPpmO1GE0n5+XxXcA4uxj6T4zB+ZKU4Khhad2RSs2W2L0eMCrzkvjvZU5kWfg==","shasum":"6ea3a1d2458b44b51e060a1c7f790030c41ed400","tarball":"https://registry.npmjs.org/hwy/-/hwy-0.4.0-beta.26.tgz","fileCount":4,"unpackedSize":36752,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCdAa8+G2jP7vRkzT62wXf9FN0AoQ4p1IjbMOsmJA4OTgIhAIuEllXmQDFlkz+vPDKt6N5OXTxMEMEAoQoQI+25OUlJ"}]},"_npmUser":{"name":"sjc5","email":"email@samcook.cc"},"directories":{},"maintainers":[{"name":"sjc5","email":"email@samcook.cc"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/hwy_0.4.0-beta.26_1697606764199_0.8446240106950869"},"_hasShrinkwrap":false},"0.4.0-beta.27":{"name":"hwy","version":"0.4.0-beta.27","author":{"name":"Samuel J. Cook"},"license":"MIT","description":"Simple, lightweight, and flexible web framework, built on Hono and HTMX.","type":"module","main":"dist/index.js","scripts":{"build":"rm -rf dist && tsup-node index.ts --format esm --dts","dev":"rm -rf dist && tsup-node index.ts --format esm --dts --watch --sourcemap","publish-beta":"npm publish --tag beta"},"devDependencies":{"@hono/node-server":"^1.2.0","@hwy-js/build":"workspace:*","@hwy-js/dev":"workspace:*","@types/node":"^20.8.3","hono":"^3.7.5","tsup":"^7.2.0"},"repository":{"type":"git","url":"git+https://github.com/hwy-js/hwy.git","directory":"packages/core"},"homepage":"https://hwy.dev","bugs":{"url":"https://github.com/hwy-js/hwy/issues"},"keywords":["simple","lightweight","flexible","framework","metaframework","web","typescript","htmx","hono","router","nested","routing","jsx","tsx","nextjs","remix"],"_id":"hwy@0.4.0-beta.27","readme":"# Hwy\n\nHwy is a simple, lightweight, and flexible web framework, built on Hono and HTMX.\n\n## Quick Start\n\n```bash\nnpx create-hwy@latest\n```\n\n## What is Hwy?\n\nHwy is a lot like NextJS or Remix, but it uses **_HTMX_** instead of React on the frontend.\n\nHwy lets you write **_React-style JSX_** in **_nested, file-based routes_**, with **_Remix-style actions and parallel loaders_**.\n\nPage components are async, so you can even **_fetch data in JSX_** if you want to (just be careful with waterfalls).\n\nThe backend server is built on **_Hono_**, so you have access to a rich, growing ecosystem with lots of middleware and wonderful docs.\n\nHwy is **_100% server-rendered_**, but with the HTMX defaults Hwy sets up for you out of the box, your app still **_feels like an SPA_**.\n\nLinks and forms are automatically **_progressively enhanced_** thanks to HTMX's `hx-boost` feature. Just use normal anchor tags and traditional form attributes.\n\nBecause Hwy replaces the **_full page_** on transitions by default, everything stays **_simple_**. You don't have to return different components from different endpoints (unless you want to).\n\nAnd best of all, **_anything you can do with Hono or HTMX, you can do with Hwy_**.\n\n## Features\n\n- Server-rendered JSX / TSX\n- Nested, file-based routing\n- Remix-style actions and parallel loaders\n- Async page components\n- Rich Hono middleware ecosystem\n- 100% type-safe\n- Server built on Hono\n- Client built on HTMX\n- Built-in critical CSS inlining\n- Live browser refresh during development\n- And more...\n\n## Guiding Principles\n\n- No speed limits\n- Numerous off-ramps\n- Smooth, safe roads\n- Clear traffic signs\n\n## Simple usage\n\nBelow is an example of a simple Hwy page. You'll notice it looks a lot like Remix, and you're right! Hwy is heavily inspired by Remix, but it uses HTMX instead of React.\n\n```tsx\n// src/pages/user/$user_id.page.tsx\n\nimport type { DataFunctionArgs, PageProps } from \"hwy\";\nimport { UserProfile, getUser } from \"./somewhere.js\";\n\nexport async function loader({ params }: DataFunctionArgs) {\n  return await getUser(params.user_id);\n}\n\nexport default async function ({ loaderData }: PageProps<typeof loader>) {\n  return <UserProfile user={loaderData} />;\n}\n```\n\nOr, if you prefer to fetch inside your components:\n\n```tsx\nexport default async function ({ params }: PageProps) {\n  const user = await getUser(params.user_id);\n\n  return <UserProfile user={user} />;\n}\n```\n\n## Get Started\n\nIf you want to dive right in, just open a terminal and run `npx create-hwy@latest` and follow the prompts.\n\nIf you'd prefer to read more first, take a peek at [our docs](https://hwy.dev/docs).\n\n## Acknowledgements\n\nHwy's APIs are obviously inspired by Remix. If Remix didn't exist, Hwy likely wouldn't exist either. Hwy doesn't use any Remix code, but it still owes a big thanks to the Remix team (past and present) for their top-tier patterns design. If you're building something huge and important today, use Remix.\n\n## Disclaimer\n\nHwy is in beta! Act accordingly.\n\n## License\n\nMIT License\n\nCopyright (c) 2023 Samuel J. Cook\n","readmeFilename":"README.md","gitHead":"64c4fadd71a19ce568800d15f7386cb4ccd8f91f","types":"./dist/index.d.ts","_nodeVersion":"18.18.0","_npmVersion":"9.8.1","dist":{"integrity":"sha512-c3bmDsZPdANMcAqg/JDR3eZPCbdfmfF800hIomS8aefKkr+9bjNZATwTkqk/Ko2ISruSOFkvweV5k5HfLYjlzg==","shasum":"74328e93b26c48f179b495ce2fabc56734de0084","tarball":"https://registry.npmjs.org/hwy/-/hwy-0.4.0-beta.27.tgz","fileCount":4,"unpackedSize":36752,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQC/bL2NsbUPHfFTIEPSQ91iAr8yx0expxhp/1+sM1DMsgIhAN5if09SsNvjuy9+MmHNuIR/VChRtexxAaWDEoxMrk8H"}]},"_npmUser":{"name":"sjc5","email":"email@samcook.cc"},"directories":{},"maintainers":[{"name":"sjc5","email":"email@samcook.cc"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/hwy_0.4.0-beta.27_1697607389899_0.8915681310281793"},"_hasShrinkwrap":false},"0.4.0-beta.28":{"name":"hwy","version":"0.4.0-beta.28","author":{"name":"Samuel J. Cook"},"license":"MIT","description":"Simple, lightweight, and flexible web framework, built on Hono and HTMX.","type":"module","main":"dist/index.js","scripts":{"build":"rm -rf dist && tsup-node index.ts --format esm --dts","dev":"rm -rf dist && tsup-node index.ts --format esm --dts --watch --sourcemap","publish-beta":"npm publish --tag beta"},"devDependencies":{"@hono/node-server":"^1.2.0","@hwy-js/build":"workspace:*","@hwy-js/dev":"workspace:*","@types/node":"^20.8.3","hono":"^3.7.5","tsup":"^7.2.0"},"repository":{"type":"git","url":"git+https://github.com/hwy-js/hwy.git","directory":"packages/core"},"homepage":"https://hwy.dev","bugs":{"url":"https://github.com/hwy-js/hwy/issues"},"keywords":["simple","lightweight","flexible","framework","metaframework","web","typescript","htmx","hono","router","nested","routing","jsx","tsx","nextjs","remix"],"_id":"hwy@0.4.0-beta.28","readme":"# Hwy\n\nHwy is a simple, lightweight, and flexible web framework, built on Hono and HTMX.\n\n## Quick Start\n\n```bash\nnpx create-hwy@latest\n```\n\n## What is Hwy?\n\nHwy is a lot like NextJS or Remix, but it uses **_HTMX_** instead of React on the frontend.\n\nHwy lets you write **_React-style JSX_** in **_nested, file-based routes_**, with **_Remix-style actions and parallel loaders_**.\n\nPage components are async, so you can even **_fetch data in JSX_** if you want to (just be careful with waterfalls).\n\nThe backend server is built on **_Hono_**, so you have access to a rich, growing ecosystem with lots of middleware and wonderful docs.\n\nHwy is **_100% server-rendered_**, but with the HTMX defaults Hwy sets up for you out of the box, your app still **_feels like an SPA_**.\n\nLinks and forms are automatically **_progressively enhanced_** thanks to HTMX's `hx-boost` feature. Just use normal anchor tags and traditional form attributes.\n\nBecause Hwy replaces the **_full page_** on transitions by default, everything stays **_simple_**. You don't have to return different components from different endpoints (unless you want to).\n\nAnd best of all, **_anything you can do with Hono or HTMX, you can do with Hwy_**.\n\n## Features\n\n- Server-rendered JSX / TSX\n- Nested, file-based routing\n- Remix-style actions and parallel loaders\n- Async page components\n- Rich Hono middleware ecosystem\n- 100% type-safe\n- Server built on Hono\n- Client built on HTMX\n- Built-in critical CSS inlining\n- Live browser refresh during development\n- And more...\n\n## Guiding Principles\n\n- No speed limits\n- Numerous off-ramps\n- Smooth, safe roads\n- Clear traffic signs\n\n## Simple usage\n\nBelow is an example of a simple Hwy page. You'll notice it looks a lot like Remix, and you're right! Hwy is heavily inspired by Remix, but it uses HTMX instead of React.\n\n```tsx\n// src/pages/user/$user_id.page.tsx\n\nimport type { DataFunctionArgs, PageProps } from \"hwy\";\nimport { UserProfile, getUser } from \"./somewhere.js\";\n\nexport async function loader({ params }: DataFunctionArgs) {\n  return await getUser(params.user_id);\n}\n\nexport default async function ({ loaderData }: PageProps<typeof loader>) {\n  return <UserProfile user={loaderData} />;\n}\n```\n\nOr, if you prefer to fetch inside your components:\n\n```tsx\nexport default async function ({ params }: PageProps) {\n  const user = await getUser(params.user_id);\n\n  return <UserProfile user={user} />;\n}\n```\n\n## Get Started\n\nIf you want to dive right in, just open a terminal and run `npx create-hwy@latest` and follow the prompts.\n\nIf you'd prefer to read more first, take a peek at [our docs](https://hwy.dev/docs).\n\n## Acknowledgements\n\nHwy's APIs are obviously inspired by Remix. If Remix didn't exist, Hwy likely wouldn't exist either. Hwy doesn't use any Remix code, but it still owes a big thanks to the Remix team (past and present) for their top-tier patterns design. If you're building something huge and important today, use Remix.\n\n## Disclaimer\n\nHwy is in beta! Act accordingly.\n\n## License\n\nMIT License\n\nCopyright (c) 2023 Samuel J. Cook\n","readmeFilename":"README.md","gitHead":"64c4fadd71a19ce568800d15f7386cb4ccd8f91f","types":"./dist/index.d.ts","_nodeVersion":"18.18.0","_npmVersion":"9.8.1","dist":{"integrity":"sha512-oy+bgRcsMlKghD/nfO2G461rDa2xOEU7+Lraw3bl8jvhLOmXf/U0ybqYLNoTBQ2P9C27zsQTXWjNDOBN40kpCQ==","shasum":"6b70a6fd1b731509c7e94262cef51436889a1d8f","tarball":"https://registry.npmjs.org/hwy/-/hwy-0.4.0-beta.28.tgz","fileCount":4,"unpackedSize":36752,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQC2B67DNj8WSkQjMsSAscLcoYrlDjwqU8ux62MwTVCt/AIgZCItO3pk3EWlKbNQhAuz8X13NJnI8DC7O2irDby9dg8="}]},"_npmUser":{"name":"sjc5","email":"email@samcook.cc"},"directories":{},"maintainers":[{"name":"sjc5","email":"email@samcook.cc"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/hwy_0.4.0-beta.28_1697607756486_0.2803756785404712"},"_hasShrinkwrap":false},"0.4.0-beta.29":{"name":"hwy","version":"0.4.0-beta.29","author":{"name":"Samuel J. Cook"},"license":"MIT","description":"Simple, lightweight, and flexible web framework, built on Hono and HTMX.","type":"module","main":"dist/index.js","scripts":{"build":"rm -rf dist && tsup-node index.ts --format esm --dts","dev":"rm -rf dist && tsup-node index.ts --format esm --dts --watch --sourcemap","publish-beta":"npm publish --tag beta"},"devDependencies":{"@hono/node-server":"^1.2.0","@hwy-js/build":"workspace:*","@hwy-js/dev":"workspace:*","@types/node":"^20.8.3","hono":"^3.7.5","tsup":"^7.2.0"},"repository":{"type":"git","url":"git+https://github.com/hwy-js/hwy.git","directory":"packages/core"},"homepage":"https://hwy.dev","bugs":{"url":"https://github.com/hwy-js/hwy/issues"},"keywords":["simple","lightweight","flexible","framework","metaframework","web","typescript","htmx","hono","router","nested","routing","jsx","tsx","nextjs","remix"],"_id":"hwy@0.4.0-beta.29","readme":"# Hwy\n\nHwy is a simple, lightweight, and flexible web framework, built on Hono and HTMX.\n\n## Quick Start\n\n```bash\nnpx create-hwy@latest\n```\n\n## What is Hwy?\n\nHwy is a lot like NextJS or Remix, but it uses **_HTMX_** instead of React on the frontend.\n\nHwy lets you write **_React-style JSX_** in **_nested, file-based routes_**, with **_Remix-style actions and parallel loaders_**.\n\nPage components are async, so you can even **_fetch data in JSX_** if you want to (just be careful with waterfalls).\n\nThe backend server is built on **_Hono_**, so you have access to a rich, growing ecosystem with lots of middleware and wonderful docs.\n\nHwy is **_100% server-rendered_**, but with the HTMX defaults Hwy sets up for you out of the box, your app still **_feels like an SPA_**.\n\nLinks and forms are automatically **_progressively enhanced_** thanks to HTMX's `hx-boost` feature. Just use normal anchor tags and traditional form attributes.\n\nBecause Hwy replaces the **_full page_** on transitions by default, everything stays **_simple_**. You don't have to return different components from different endpoints (unless you want to).\n\nAnd best of all, **_anything you can do with Hono or HTMX, you can do with Hwy_**.\n\n## Features\n\n- Server-rendered JSX / TSX\n- Nested, file-based routing\n- Remix-style actions and parallel loaders\n- Async page components\n- Rich Hono middleware ecosystem\n- 100% type-safe\n- Server built on Hono\n- Client built on HTMX\n- Built-in critical CSS inlining\n- Live browser refresh during development\n- And more...\n\n## Guiding Principles\n\n- No speed limits\n- Numerous off-ramps\n- Smooth, safe roads\n- Clear traffic signs\n\n## Simple usage\n\nBelow is an example of a simple Hwy page. You'll notice it looks a lot like Remix, and you're right! Hwy is heavily inspired by Remix, but it uses HTMX instead of React.\n\n```tsx\n// src/pages/user/$user_id.page.tsx\n\nimport type { DataFunctionArgs, PageProps } from \"hwy\";\nimport { UserProfile, getUser } from \"./somewhere.js\";\n\nexport async function loader({ params }: DataFunctionArgs) {\n  return await getUser(params.user_id);\n}\n\nexport default async function ({ loaderData }: PageProps<typeof loader>) {\n  return <UserProfile user={loaderData} />;\n}\n```\n\nOr, if you prefer to fetch inside your components:\n\n```tsx\nexport default async function ({ params }: PageProps) {\n  const user = await getUser(params.user_id);\n\n  return <UserProfile user={user} />;\n}\n```\n\n## Get Started\n\nIf you want to dive right in, just open a terminal and run `npx create-hwy@latest` and follow the prompts.\n\nIf you'd prefer to read more first, take a peek at [our docs](https://hwy.dev/docs).\n\n## Acknowledgements\n\nHwy's APIs are obviously inspired by Remix. If Remix didn't exist, Hwy likely wouldn't exist either. Hwy doesn't use any Remix code, but it still owes a big thanks to the Remix team (past and present) for their top-tier patterns design. If you're building something huge and important today, use Remix.\n\n## Disclaimer\n\nHwy is in beta! Act accordingly.\n\n## License\n\nMIT License\n\nCopyright (c) 2023 Samuel J. Cook\n","readmeFilename":"README.md","gitHead":"4294f859f10a07bf77f2c261b156f1a92d4b3994","types":"./dist/index.d.ts","_nodeVersion":"18.18.0","_npmVersion":"9.8.1","dist":{"integrity":"sha512-FG0y+MYVQyPTfSDfnOTGZEwNLIfwrh4W3opPOxSdmfMhXgxAGJYPP5bF+QTzY5BE4Smj1UFE5k8srgELHlM8Og==","shasum":"1eff10692f6c43158e46a95c63cf9ecfc2911666","tarball":"https://registry.npmjs.org/hwy/-/hwy-0.4.0-beta.29.tgz","fileCount":4,"unpackedSize":36813,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQC4MASvEPeZ0+E5cQI0TjFsAjNSexTBXYU9l9fSiUERZAIgCWTkOkTnFGBEZo3/GyQeAZa+W+8Fi6RVUScpxTSFH3M="}]},"_npmUser":{"name":"sjc5","email":"email@samcook.cc"},"directories":{},"maintainers":[{"name":"sjc5","email":"email@samcook.cc"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/hwy_0.4.0-beta.29_1697679728762_0.35850213420891897"},"_hasShrinkwrap":false},"0.4.0-beta.30":{"name":"hwy","version":"0.4.0-beta.30","author":{"name":"Samuel J. Cook"},"license":"MIT","description":"Simple, lightweight, and flexible web framework, built on Hono and HTMX.","type":"module","main":"dist/index.js","scripts":{"build":"rm -rf dist && tsup-node index.ts --format esm --dts","dev":"rm -rf dist && tsup-node index.ts --format esm --dts --watch --sourcemap","publish-beta":"npm publish --tag beta"},"devDependencies":{"@hono/node-server":"^1.2.0","@hwy-js/build":"workspace:*","@hwy-js/dev":"workspace:*","@types/node":"^20.8.3","hono":"^3.7.5","tsup":"^7.2.0"},"repository":{"type":"git","url":"git+https://github.com/hwy-js/hwy.git","directory":"packages/core"},"homepage":"https://hwy.dev","bugs":{"url":"https://github.com/hwy-js/hwy/issues"},"keywords":["simple","lightweight","flexible","framework","metaframework","web","typescript","htmx","hono","router","nested","routing","jsx","tsx","nextjs","remix"],"_id":"hwy@0.4.0-beta.30","readme":"# Hwy\n\nHwy is a simple, lightweight, and flexible web framework, built on Hono and HTMX.\n\n## Quick Start\n\n```bash\nnpx create-hwy@latest\n```\n\n## What is Hwy?\n\nHwy is a lot like NextJS or Remix, but it uses **_HTMX_** instead of React on the frontend.\n\nHwy lets you write **_React-style JSX_** in **_nested, file-based routes_**, with **_Remix-style actions and parallel loaders_**.\n\nPage components are async, so you can even **_fetch data in JSX_** if you want to (just be careful with waterfalls).\n\nThe backend server is built on **_Hono_**, so you have access to a rich, growing ecosystem with lots of middleware and wonderful docs.\n\nHwy is **_100% server-rendered_**, but with the HTMX defaults Hwy sets up for you out of the box, your app still **_feels like an SPA_**.\n\nLinks and forms are automatically **_progressively enhanced_** thanks to HTMX's `hx-boost` feature. Just use normal anchor tags and traditional form attributes.\n\nBecause Hwy replaces the **_full page_** on transitions by default, everything stays **_simple_**. You don't have to return different components from different endpoints (unless you want to).\n\nAnd best of all, **_anything you can do with Hono or HTMX, you can do with Hwy_**.\n\n## Features\n\n- Server-rendered JSX / TSX\n- Nested, file-based routing\n- Remix-style actions and parallel loaders\n- Async page components\n- Rich Hono middleware ecosystem\n- 100% type-safe\n- Server built on Hono\n- Client built on HTMX\n- Built-in critical CSS inlining\n- Live browser refresh during development\n- And more...\n\n## Guiding Principles\n\n- No speed limits\n- Numerous off-ramps\n- Smooth, safe roads\n- Clear traffic signs\n\n## Simple usage\n\nBelow is an example of a simple Hwy page. You'll notice it looks a lot like Remix, and you're right! Hwy is heavily inspired by Remix, but it uses HTMX instead of React.\n\n```tsx\n// src/pages/user/$user_id.page.tsx\n\nimport type { DataFunctionArgs, PageProps } from \"hwy\";\nimport { UserProfile, getUser } from \"./somewhere.js\";\n\nexport async function loader({ params }: DataFunctionArgs) {\n  return await getUser(params.user_id);\n}\n\nexport default async function ({ loaderData }: PageProps<typeof loader>) {\n  return <UserProfile user={loaderData} />;\n}\n```\n\nOr, if you prefer to fetch inside your components:\n\n```tsx\nexport default async function ({ params }: PageProps) {\n  const user = await getUser(params.user_id);\n\n  return <UserProfile user={user} />;\n}\n```\n\n## Get Started\n\nIf you want to dive right in, just open a terminal and run `npx create-hwy@latest` and follow the prompts.\n\nIf you'd prefer to read more first, take a peek at [our docs](https://hwy.dev/docs).\n\n## Acknowledgements\n\nHwy's APIs are obviously inspired by Remix. If Remix didn't exist, Hwy likely wouldn't exist either. Hwy doesn't use any Remix code, but it still owes a big thanks to the Remix team (past and present) for their top-tier patterns design. If you're building something huge and important today, use Remix.\n\n## Disclaimer\n\nHwy is in beta! Act accordingly.\n\n## License\n\nMIT License\n\nCopyright (c) 2023 Samuel J. Cook\n","readmeFilename":"README.md","gitHead":"800dbd4726700d0b26ede5ecfa02117b95ae3572","types":"./dist/index.d.ts","_nodeVersion":"18.18.0","_npmVersion":"9.8.1","dist":{"integrity":"sha512-qccZ3RhM8yyfTbEbt1jbNpHQdBkyQ/76iEk/zkg1YidgdAE2ieCDJbxUE19p1Nz02h79lIVjHub6DZSHvItYPA==","shasum":"0d09f9f808303245cb6984625a280035ce538f25","tarball":"https://registry.npmjs.org/hwy/-/hwy-0.4.0-beta.30.tgz","fileCount":4,"unpackedSize":37500,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCd6XhH4owWB5AzIaFo2w3NHaiSfeXGHQD9XIV0s7FHnAIhAMGCSHpAv+NORGB5BWrJ1UEu62kROLGfrSjMrCpgC3sr"}]},"_npmUser":{"name":"sjc5","email":"email@samcook.cc"},"directories":{},"maintainers":[{"name":"sjc5","email":"email@samcook.cc"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/hwy_0.4.0-beta.30_1697762467158_0.8419368283510009"},"_hasShrinkwrap":false},"0.4.0-beta.31":{"name":"hwy","version":"0.4.0-beta.31","author":{"name":"Samuel J. Cook"},"license":"MIT","description":"Simple, lightweight, and flexible web framework, built on Hono and HTMX.","type":"module","main":"dist/index.js","scripts":{"build":"rm -rf dist && tsup-node index.ts --format esm --dts","dev":"rm -rf dist && tsup-node index.ts --format esm --dts --watch --sourcemap","publish-beta":"npm publish --tag beta"},"devDependencies":{"@hono/node-server":"^1.2.0","@hwy-js/build":"workspace:*","@hwy-js/dev":"workspace:*","@types/node":"^20.8.3","hono":"^3.7.5","tsup":"^7.2.0"},"repository":{"type":"git","url":"git+https://github.com/hwy-js/hwy.git","directory":"packages/core"},"homepage":"https://hwy.dev","bugs":{"url":"https://github.com/hwy-js/hwy/issues"},"keywords":["simple","lightweight","flexible","framework","metaframework","web","typescript","htmx","hono","router","nested","routing","jsx","tsx","nextjs","remix"],"_id":"hwy@0.4.0-beta.31","readme":"# Hwy\n\nHwy is a simple, lightweight, and flexible web framework, built on Hono and HTMX.\n\n## Quick Start\n\n```bash\nnpx create-hwy@latest\n```\n\n## What is Hwy?\n\nHwy is a lot like NextJS or Remix, but it uses **_HTMX_** instead of React on the frontend.\n\nHwy lets you write **_React-style JSX_** in **_nested, file-based routes_**, with **_Remix-style actions and parallel loaders_**.\n\nPage components are async, so you can even **_fetch data in JSX_** if you want to (just be careful with waterfalls).\n\nThe backend server is built on **_Hono_**, so you have access to a rich, growing ecosystem with lots of middleware and wonderful docs.\n\nHwy is **_100% server-rendered_**, but with the HTMX defaults Hwy sets up for you out of the box, your app still **_feels like an SPA_**.\n\nLinks and forms are automatically **_progressively enhanced_** thanks to HTMX's `hx-boost` feature. Just use normal anchor tags and traditional form attributes.\n\nBecause Hwy replaces the **_full page_** on transitions by default, everything stays **_simple_**. You don't have to return different components from different endpoints (unless you want to).\n\nAnd best of all, **_anything you can do with Hono or HTMX, you can do with Hwy_**.\n\n## Features\n\n- Server-rendered JSX / TSX\n- Nested, file-based routing\n- Remix-style actions and parallel loaders\n- Async page components\n- Rich Hono middleware ecosystem\n- 100% type-safe\n- Server built on Hono\n- Client built on HTMX\n- Built-in critical CSS inlining\n- Live browser refresh during development\n- And more...\n\n## Guiding Principles\n\n- No speed limits\n- Numerous off-ramps\n- Smooth, safe roads\n- Clear traffic signs\n\n## Simple usage\n\nBelow is an example of a simple Hwy page. You'll notice it looks a lot like Remix, and you're right! Hwy is heavily inspired by Remix, but it uses HTMX instead of React.\n\n```tsx\n// src/pages/user/$user_id.page.tsx\n\nimport type { DataFunctionArgs, PageProps } from \"hwy\";\nimport { UserProfile, getUser } from \"./somewhere.js\";\n\nexport async function loader({ params }: DataFunctionArgs) {\n  return await getUser(params.user_id);\n}\n\nexport default async function ({ loaderData }: PageProps<typeof loader>) {\n  return <UserProfile user={loaderData} />;\n}\n```\n\nOr, if you prefer to fetch inside your components:\n\n```tsx\nexport default async function ({ params }: PageProps) {\n  const user = await getUser(params.user_id);\n\n  return <UserProfile user={user} />;\n}\n```\n\n## Get Started\n\nIf you want to dive right in, just open a terminal and run `npx create-hwy@latest` and follow the prompts.\n\nIf you'd prefer to read more first, take a peek at [our docs](https://hwy.dev/docs).\n\n## Acknowledgements\n\nHwy's APIs are obviously inspired by Remix. If Remix didn't exist, Hwy likely wouldn't exist either. Hwy doesn't use any Remix code, but it still owes a big thanks to the Remix team (past and present) for their top-tier patterns design. If you're building something huge and important today, use Remix.\n\n## Disclaimer\n\nHwy is in beta! Act accordingly.\n\n## License\n\nMIT License\n\nCopyright (c) 2023 Samuel J. Cook\n","readmeFilename":"README.md","gitHead":"64cce02b6c7c40c92ab6d808dbb6e6983cb1b202","types":"./dist/index.d.ts","_nodeVersion":"18.18.0","_npmVersion":"9.8.1","dist":{"integrity":"sha512-SIX16N12Yr7NA5yWSo8fTiA1R4IZRfMqYvGSJJp1GqCq1/SLoUxureD4t/eaHKEtC6xceXi3almZul+DhmlBMQ==","shasum":"6b4d9a9e70559ca38dfa2f55239250eded0d82f1","tarball":"https://registry.npmjs.org/hwy/-/hwy-0.4.0-beta.31.tgz","fileCount":4,"unpackedSize":37500,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQC0ck9kI34RRh7mAfwR0KSB0dc+SZT3YJq+gN1yHZymZgIgCCBAe7VwzwFgFC/CTZ1gZmgJMRFcf+HYCd69O5MVrZ4="}]},"_npmUser":{"name":"sjc5","email":"email@samcook.cc"},"directories":{},"maintainers":[{"name":"sjc5","email":"email@samcook.cc"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/hwy_0.4.0-beta.31_1697763021919_0.39696774784329536"},"_hasShrinkwrap":false},"0.4.0-beta.32":{"name":"hwy","version":"0.4.0-beta.32","author":{"name":"Samuel J. Cook"},"license":"MIT","description":"Simple, lightweight, and flexible web framework, built on Hono and HTMX.","type":"module","main":"dist/index.js","scripts":{"build":"rm -rf dist && tsup-node index.ts --format esm --dts","dev":"rm -rf dist && tsup-node index.ts --format esm --dts --watch --sourcemap","publish-beta":"npm publish --tag beta"},"devDependencies":{"@hono/node-server":"^1.2.0","@hwy-js/build":"workspace:*","@hwy-js/dev":"workspace:*","@types/node":"^20.8.3","hono":"^3.7.5","tsup":"^7.2.0"},"repository":{"type":"git","url":"git+https://github.com/hwy-js/hwy.git","directory":"packages/core"},"homepage":"https://hwy.dev","bugs":{"url":"https://github.com/hwy-js/hwy/issues"},"keywords":["simple","lightweight","flexible","framework","metaframework","web","typescript","htmx","hono","router","nested","routing","jsx","tsx","nextjs","remix"],"_id":"hwy@0.4.0-beta.32","readme":"# Hwy\n\nHwy is a simple, lightweight, and flexible web framework, built on Hono and HTMX.\n\n## Quick Start\n\n```bash\nnpx create-hwy@latest\n```\n\n## What is Hwy?\n\nHwy is a lot like NextJS or Remix, but it uses **_HTMX_** instead of React on the frontend.\n\nHwy lets you write **_React-style JSX_** in **_nested, file-based routes_**, with **_Remix-style actions and parallel loaders_**.\n\nPage components are async, so you can even **_fetch data in JSX_** if you want to (just be careful with waterfalls).\n\nThe backend server is built on **_Hono_**, so you have access to a rich, growing ecosystem with lots of middleware and wonderful docs.\n\nHwy is **_100% server-rendered_**, but with the HTMX defaults Hwy sets up for you out of the box, your app still **_feels like an SPA_**.\n\nLinks and forms are automatically **_progressively enhanced_** thanks to HTMX's `hx-boost` feature. Just use normal anchor tags and traditional form attributes.\n\nBecause Hwy replaces the **_full page_** on transitions by default, everything stays **_simple_**. You don't have to return different components from different endpoints (unless you want to).\n\nAnd best of all, **_anything you can do with Hono or HTMX, you can do with Hwy_**.\n\n## Features\n\n- Server-rendered JSX / TSX\n- Nested, file-based routing\n- Remix-style actions and parallel loaders\n- Async page components\n- Rich Hono middleware ecosystem\n- 100% type-safe\n- Server built on Hono\n- Client built on HTMX\n- Built-in critical CSS inlining\n- Live browser refresh during development\n- And more...\n\n## Guiding Principles\n\n- No speed limits\n- Numerous off-ramps\n- Smooth, safe roads\n- Clear traffic signs\n\n## Simple usage\n\nBelow is an example of a simple Hwy page. You'll notice it looks a lot like Remix, and you're right! Hwy is heavily inspired by Remix, but it uses HTMX instead of React.\n\n```tsx\n// src/pages/user/$user_id.page.tsx\n\nimport type { DataFunctionArgs, PageProps } from \"hwy\";\nimport { UserProfile, getUser } from \"./somewhere.js\";\n\nexport async function loader({ params }: DataFunctionArgs) {\n  return await getUser(params.user_id);\n}\n\nexport default async function ({ loaderData }: PageProps<typeof loader>) {\n  return <UserProfile user={loaderData} />;\n}\n```\n\nOr, if you prefer to fetch inside your components:\n\n```tsx\nexport default async function ({ params }: PageProps) {\n  const user = await getUser(params.user_id);\n\n  return <UserProfile user={user} />;\n}\n```\n\n## Get Started\n\nIf you want to dive right in, just open a terminal and run `npx create-hwy@latest` and follow the prompts.\n\nIf you'd prefer to read more first, take a peek at [our docs](https://hwy.dev/docs).\n\n## Acknowledgements\n\nHwy's APIs are obviously inspired by Remix. If Remix didn't exist, Hwy likely wouldn't exist either. Hwy doesn't use any Remix code, but it still owes a big thanks to the Remix team (past and present) for their top-tier patterns design. If you're building something huge and important today, use Remix.\n\n## Disclaimer\n\nHwy is in beta! Act accordingly.\n\n## License\n\nMIT License\n\nCopyright (c) 2023 Samuel J. Cook\n","readmeFilename":"README.md","gitHead":"23ad9e276b94b2c32479190d6bccccb9784975ef","types":"./dist/index.d.ts","_nodeVersion":"18.18.0","_npmVersion":"9.8.1","dist":{"integrity":"sha512-EjOcMGh0NLc2ZRy4fyENtJNGuIIiSO06bQGyR7PViHp+8mVW2wuOLrP0STDnF/8Yk9dKFi81qpjDFnld5bsiCw==","shasum":"5c886120f87077ab22aee6921c313d759dd4e6d0","tarball":"https://registry.npmjs.org/hwy/-/hwy-0.4.0-beta.32.tgz","fileCount":4,"unpackedSize":37500,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQC8fgSLuPr4B7IbwJpr0xBDoGgJT4xsj7wc/tQMycdMbwIgKYvOrWHUceVHDXhM2OcNF/B7NmjWl48qeIeFgh2+shk="}]},"_npmUser":{"name":"sjc5","email":"email@samcook.cc"},"directories":{},"maintainers":[{"name":"sjc5","email":"email@samcook.cc"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/hwy_0.4.0-beta.32_1697763560928_0.31408234968627347"},"_hasShrinkwrap":false},"0.4.0-beta.33":{"name":"hwy","version":"0.4.0-beta.33","author":{"name":"Samuel J. Cook"},"license":"MIT","description":"Simple, lightweight, and flexible web framework, built on Hono and HTMX.","type":"module","main":"dist/index.js","scripts":{"build":"rm -rf dist && tsup-node index.ts --format esm --dts","dev":"rm -rf dist && tsup-node index.ts --format esm --dts --watch --sourcemap","publish-beta":"npm publish --tag beta"},"devDependencies":{"@hono/node-server":"^1.2.0","@hwy-js/build":"workspace:*","@hwy-js/dev":"workspace:*","@types/node":"^20.8.3","hono":"^3.7.5","tsup":"^7.2.0"},"repository":{"type":"git","url":"git+https://github.com/hwy-js/hwy.git","directory":"packages/core"},"homepage":"https://hwy.dev","bugs":{"url":"https://github.com/hwy-js/hwy/issues"},"keywords":["simple","lightweight","flexible","framework","metaframework","web","typescript","htmx","hono","router","nested","routing","jsx","tsx","nextjs","remix"],"_id":"hwy@0.4.0-beta.33","readme":"# Hwy\n\nHwy is a simple, lightweight, and flexible web framework, built on Hono and HTMX.\n\n## Quick Start\n\n```bash\nnpx create-hwy@latest\n```\n\n## What is Hwy?\n\nHwy is a lot like NextJS or Remix, but it uses **_HTMX_** instead of React on the frontend.\n\nHwy lets you write **_React-style JSX_** in **_nested, file-based routes_**, with **_Remix-style actions and parallel loaders_**.\n\nPage components are async, so you can even **_fetch data in JSX_** if you want to (just be careful with waterfalls).\n\nThe backend server is built on **_Hono_**, so you have access to a rich, growing ecosystem with lots of middleware and wonderful docs.\n\nHwy is **_100% server-rendered_**, but with the HTMX defaults Hwy sets up for you out of the box, your app still **_feels like an SPA_**.\n\nLinks and forms are automatically **_progressively enhanced_** thanks to HTMX's `hx-boost` feature. Just use normal anchor tags and traditional form attributes.\n\nBecause Hwy replaces the **_full page_** on transitions by default, everything stays **_simple_**. You don't have to return different components from different endpoints (unless you want to).\n\nAnd best of all, **_anything you can do with Hono or HTMX, you can do with Hwy_**.\n\n## Features\n\n- Server-rendered JSX / TSX\n- Nested, file-based routing\n- Remix-style actions and parallel loaders\n- Async page components\n- Rich Hono middleware ecosystem\n- 100% type-safe\n- Server built on Hono\n- Client built on HTMX\n- Built-in critical CSS inlining\n- Live browser refresh during development\n- And more...\n\n## Guiding Principles\n\n- No speed limits\n- Numerous off-ramps\n- Smooth, safe roads\n- Clear traffic signs\n\n## Simple usage\n\nBelow is an example of a simple Hwy page. You'll notice it looks a lot like Remix, and you're right! Hwy is heavily inspired by Remix, but it uses HTMX instead of React.\n\n```tsx\n// src/pages/user/$user_id.page.tsx\n\nimport type { DataFunctionArgs, PageProps } from \"hwy\";\nimport { UserProfile, getUser } from \"./somewhere.js\";\n\nexport async function loader({ params }: DataFunctionArgs) {\n  return await getUser(params.user_id);\n}\n\nexport default async function ({ loaderData }: PageProps<typeof loader>) {\n  return <UserProfile user={loaderData} />;\n}\n```\n\nOr, if you prefer to fetch inside your components:\n\n```tsx\nexport default async function ({ params }: PageProps) {\n  const user = await getUser(params.user_id);\n\n  return <UserProfile user={user} />;\n}\n```\n\n## Get Started\n\nIf you want to dive right in, just open a terminal and run `npx create-hwy@latest` and follow the prompts.\n\nIf you'd prefer to read more first, take a peek at [our docs](https://hwy.dev/docs).\n\n## Acknowledgements\n\nHwy's APIs are obviously inspired by Remix. If Remix didn't exist, Hwy likely wouldn't exist either. Hwy doesn't use any Remix code, but it still owes a big thanks to the Remix team (past and present) for their top-tier patterns design. If you're building something huge and important today, use Remix.\n\n## Disclaimer\n\nHwy is in beta! Act accordingly.\n\n## License\n\nMIT License\n\nCopyright (c) 2023 Samuel J. Cook\n","readmeFilename":"README.md","gitHead":"99ab27db23419f9edab49e7a20ed165cb1a81246","types":"./dist/index.d.ts","_nodeVersion":"18.18.0","_npmVersion":"9.8.1","dist":{"integrity":"sha512-HBr5wfL+gNlJjZ07cA3eyoOMlcGtRCSu0V+3hYi3MrQhQY5TsByWJ5kqCe2x0eBT59FtNvKazkI3Qjg1+fse4w==","shasum":"574d58fda6ef752ca9c5c5bc330450505e0d1687","tarball":"https://registry.npmjs.org/hwy/-/hwy-0.4.0-beta.33.tgz","fileCount":4,"unpackedSize":37500,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIQDkeilZZrQvNoOXAb3naZzr5YkLIlP/NhVoiMnyO6WktQIfDooR/4Acuj5Eria6KPIubRqAF0g0R95zuOUs8NrVDg=="}]},"_npmUser":{"name":"sjc5","email":"email@samcook.cc"},"directories":{},"maintainers":[{"name":"sjc5","email":"email@samcook.cc"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/hwy_0.4.0-beta.33_1697763982258_0.7933643694156169"},"_hasShrinkwrap":false},"0.4.0-beta.34":{"name":"hwy","version":"0.4.0-beta.34","author":{"name":"Samuel J. Cook"},"license":"MIT","description":"Simple, lightweight, and flexible web framework, built on Hono and HTMX.","type":"module","main":"dist/index.js","devDependencies":{"@hono/node-server":"^1.2.0","@types/node":"^20.8.3","hono":"^3.7.5","tsup":"^7.2.0","@hwy-js/build":"0.4.0-beta.34","@hwy-js/dev":"0.4.0-beta.34"},"repository":{"type":"git","url":"git+https://github.com/hwy-js/hwy.git","directory":"packages/core"},"homepage":"https://hwy.dev","bugs":{"url":"https://github.com/hwy-js/hwy/issues"},"keywords":["simple","lightweight","flexible","framework","metaframework","web","typescript","htmx","hono","router","nested","routing","jsx","tsx","nextjs","remix"],"scripts":{"build":"rm -rf dist && tsup-node index.ts --format esm --dts","lint":"tsc","dev":"rm -rf dist && tsup-node index.ts --format esm --dts --watch --sourcemap","publish-beta":"npm publish --tag beta"},"types":"./dist/index.d.ts","readme":"# Hwy\n\nHwy is a simple, lightweight, and flexible web framework, built on Hono and HTMX.\n\n## Quick Start\n\n```bash\nnpx create-hwy@latest\n```\n\n## What is Hwy?\n\nHwy is a lot like NextJS or Remix, but it uses **_HTMX_** instead of React on the frontend.\n\nHwy lets you write **_React-style JSX_** in **_nested, file-based routes_**, with **_Remix-style actions and parallel loaders_**.\n\nPage components are async, so you can even **_fetch data in JSX_** if you want to (just be careful with waterfalls).\n\nThe backend server is built on **_Hono_**, so you have access to a rich, growing ecosystem with lots of middleware and wonderful docs.\n\nHwy is **_100% server-rendered_**, but with the HTMX defaults Hwy sets up for you out of the box, your app still **_feels like an SPA_**.\n\nLinks and forms are automatically **_progressively enhanced_** thanks to HTMX's `hx-boost` feature. Just use normal anchor tags and traditional form attributes.\n\nBecause Hwy replaces the **_full page_** on transitions by default, everything stays **_simple_**. You don't have to return different components from different endpoints (unless you want to).\n\nAnd best of all, **_anything you can do with Hono or HTMX, you can do with Hwy_**.\n\n## Features\n\n- Server-rendered JSX / TSX\n- Nested, file-based routing\n- Remix-style actions and parallel loaders\n- Async page components\n- Rich Hono middleware ecosystem\n- 100% type-safe\n- Server built on Hono\n- Client built on HTMX\n- Built-in critical CSS inlining\n- Live browser refresh during development\n- And more...\n\n## Guiding Principles\n\n- No speed limits\n- Numerous off-ramps\n- Smooth, safe roads\n- Clear traffic signs\n\n## Simple usage\n\nBelow is an example of a simple Hwy page. You'll notice it looks a lot like Remix, and you're right! Hwy is heavily inspired by Remix, but it uses HTMX instead of React.\n\n```tsx\n// src/pages/user/$user_id.page.tsx\n\nimport type { DataFunctionArgs, PageProps } from \"hwy\";\nimport { UserProfile, getUser } from \"./somewhere.js\";\n\nexport async function loader({ params }: DataFunctionArgs) {\n  return await getUser(params.user_id);\n}\n\nexport default async function ({ loaderData }: PageProps<typeof loader>) {\n  return <UserProfile user={loaderData} />;\n}\n```\n\nOr, if you prefer to fetch inside your components:\n\n```tsx\nexport default async function ({ params }: PageProps) {\n  const user = await getUser(params.user_id);\n\n  return <UserProfile user={user} />;\n}\n```\n\n## Get Started\n\nIf you want to dive right in, just open a terminal and run `npx create-hwy@latest` and follow the prompts.\n\nIf you'd prefer to read more first, take a peek at [our docs](https://hwy.dev/docs).\n\n## Acknowledgements\n\nHwy's APIs are obviously inspired by Remix. If Remix didn't exist, Hwy likely wouldn't exist either. Hwy doesn't use any Remix code, but it still owes a big thanks to the Remix team (past and present) for their top-tier patterns design. If you're building something huge and important today, use Remix.\n\n## Disclaimer\n\nHwy is in beta! Act accordingly.\n\n## License\n\nMIT License\n\nCopyright (c) 2023 Samuel J. Cook\n","readmeFilename":"README.md","_id":"hwy@0.4.0-beta.34","_integrity":"sha512-kY2GqYVU0JK4GYOoXAU39n4PbPs91fB8+9axQgNig5CkO7qDqt4d9fY3Uyv/60c30qSFb3/wwyWIV2QWbhvPAw==","_resolved":"/private/var/folders/5f/8l64r22x6lz64v394wjbyybw0000gn/T/b55fe024c68e594d9da6cb429c0fbf1b/hwy-0.4.0-beta.34.tgz","_from":"file:hwy-0.4.0-beta.34.tgz","_nodeVersion":"18.18.0","_npmVersion":"9.8.1","dist":{"integrity":"sha512-kY2GqYVU0JK4GYOoXAU39n4PbPs91fB8+9axQgNig5CkO7qDqt4d9fY3Uyv/60c30qSFb3/wwyWIV2QWbhvPAw==","shasum":"94fce76c06cb8bde13e0b385f2215293b0aed0a3","tarball":"https://registry.npmjs.org/hwy/-/hwy-0.4.0-beta.34.tgz","fileCount":5,"unpackedSize":38725,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIBP3RuyMQWRum0hlHOUnLnoi1krCzT3uw92zpeTLkNRgAiEAmfjSaM6K2IUVdW3O9Wr+SzdJPutzzFJ454Vum4anG38="}]},"_npmUser":{"name":"sjc5","email":"email@samcook.cc"},"directories":{},"maintainers":[{"name":"sjc5","email":"email@samcook.cc"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/hwy_0.4.0-beta.34_1697914476277_0.38943736768336046"},"_hasShrinkwrap":false},"0.4.0-beta.35":{"name":"hwy","version":"0.4.0-beta.35","author":{"name":"Samuel J. Cook"},"license":"MIT","description":"Simple, lightweight, and flexible web framework, built on Hono and HTMX.","type":"module","main":"dist/index.js","devDependencies":{"@hono/node-server":"^1.2.0","@types/node":"^20.8.3","hono":"^3.7.5","tsup":"^7.2.0","@hwy-js/build":"0.4.0-beta.35","@hwy-js/dev":"0.4.0-beta.35"},"repository":{"type":"git","url":"git+https://github.com/hwy-js/hwy.git","directory":"packages/core"},"homepage":"https://hwy.dev","bugs":{"url":"https://github.com/hwy-js/hwy/issues"},"keywords":["simple","lightweight","flexible","framework","metaframework","web","typescript","htmx","hono","router","nested","routing","jsx","tsx","nextjs","remix"],"scripts":{"build":"rm -rf dist && tsup-node index.ts --format esm --dts","lint":"tsc","dev":"rm -rf dist && tsup-node index.ts --format esm --dts --watch --sourcemap","publish-beta":"npm publish --tag beta"},"types":"./dist/index.d.ts","readme":"# Hwy\n\nHwy is a simple, lightweight, and flexible web framework, built on Hono and HTMX.\n\n## Quick Start\n\n```bash\nnpx create-hwy@latest\n```\n\n## What is Hwy?\n\nHwy is a lot like NextJS or Remix, but it uses **_HTMX_** instead of React on the frontend.\n\nHwy lets you write **_React-style JSX_** in **_nested, file-based routes_**, with **_Remix-style actions and parallel loaders_**.\n\nPage components are async, so you can even **_fetch data in JSX_** if you want to (just be careful with waterfalls).\n\nThe backend server is built on **_Hono_**, so you have access to a rich, growing ecosystem with lots of middleware and wonderful docs.\n\nHwy is **_100% server-rendered_**, but with the HTMX defaults Hwy sets up for you out of the box, your app still **_feels like an SPA_**.\n\nLinks and forms are automatically **_progressively enhanced_** thanks to HTMX's `hx-boost` feature. Just use normal anchor tags and traditional form attributes.\n\nBecause Hwy replaces the **_full page_** on transitions by default, everything stays **_simple_**. You don't have to return different components from different endpoints (unless you want to).\n\nAnd best of all, **_anything you can do with Hono or HTMX, you can do with Hwy_**.\n\n## Features\n\n- Server-rendered JSX / TSX\n- Nested, file-based routing\n- Remix-style actions and parallel loaders\n- Async page components\n- Rich Hono middleware ecosystem\n- 100% type-safe\n- Server built on Hono\n- Client built on HTMX\n- Built-in critical CSS inlining\n- Live browser refresh during development\n- And more...\n\n## Guiding Principles\n\n- No speed limits\n- Numerous off-ramps\n- Smooth, safe roads\n- Clear traffic signs\n\n## Simple usage\n\nBelow is an example of a simple Hwy page. You'll notice it looks a lot like Remix, and you're right! Hwy is heavily inspired by Remix, but it uses HTMX instead of React.\n\n```tsx\n// src/pages/user/$user_id.page.tsx\n\nimport type { DataFunctionArgs, PageProps } from \"hwy\";\nimport { UserProfile, getUser } from \"./somewhere.js\";\n\nexport async function loader({ params }: DataFunctionArgs) {\n  return await getUser(params.user_id);\n}\n\nexport default async function ({ loaderData }: PageProps<typeof loader>) {\n  return <UserProfile user={loaderData} />;\n}\n```\n\nOr, if you prefer to fetch inside your components:\n\n```tsx\nexport default async function ({ params }: PageProps) {\n  const user = await getUser(params.user_id);\n\n  return <UserProfile user={user} />;\n}\n```\n\n## Get Started\n\nIf you want to dive right in, just open a terminal and run `npx create-hwy@latest` and follow the prompts.\n\nIf you'd prefer to read more first, take a peek at [our docs](https://hwy.dev/docs).\n\n## Acknowledgements\n\nHwy's APIs are obviously inspired by Remix. If Remix didn't exist, Hwy likely wouldn't exist either. Hwy doesn't use any Remix code, but it still owes a big thanks to the Remix team (past and present) for their top-tier patterns design. If you're building something huge and important today, use Remix.\n\n## Disclaimer\n\nHwy is in beta! Act accordingly.\n\n## License\n\nMIT License\n\nCopyright (c) 2023 Samuel J. Cook\n","readmeFilename":"README.md","_id":"hwy@0.4.0-beta.35","_integrity":"sha512-8n1XIyOUEJlW1VcW3ExU3ZHHkB8T/qb4MyqrkfYP/HvmNcGmP2mK7PugQ2hYUgc3em46+78JI1SpEt1Wo+43sg==","_resolved":"/private/var/folders/5f/8l64r22x6lz64v394wjbyybw0000gn/T/153c17099cb9c7c0c9433937ae48b04c/hwy-0.4.0-beta.35.tgz","_from":"file:hwy-0.4.0-beta.35.tgz","_nodeVersion":"18.18.0","_npmVersion":"9.8.1","dist":{"integrity":"sha512-8n1XIyOUEJlW1VcW3ExU3ZHHkB8T/qb4MyqrkfYP/HvmNcGmP2mK7PugQ2hYUgc3em46+78JI1SpEt1Wo+43sg==","shasum":"050dff4897f42a9452ea72aec3762d531b2fd664","tarball":"https://registry.npmjs.org/hwy/-/hwy-0.4.0-beta.35.tgz","fileCount":6,"unpackedSize":93557,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIC6fGUErxaQHFU+EO4dcUwEn7/Wml4yYgcu3q7lXBhRIAiAUmdgCtEJ7mGwOh4yYyJSz54TmONqrD/nDalJ8G0HwAg=="}]},"_npmUser":{"name":"sjc5","email":"email@samcook.cc"},"directories":{},"maintainers":[{"name":"sjc5","email":"email@samcook.cc"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/hwy_0.4.0-beta.35_1697917744359_0.5172803893659033"},"_hasShrinkwrap":false},"0.4.0-beta.36":{"name":"hwy","version":"0.4.0-beta.36","author":{"name":"Samuel J. Cook"},"license":"MIT","description":"Simple, lightweight, and flexible web framework, built on Hono and HTMX.","type":"module","main":"dist/index.js","devDependencies":{"@hono/node-server":"^1.2.0","@types/node":"^20.8.3","hono":"^3.7.5","tsup":"^7.2.0","@hwy-js/build":"0.4.0-beta.36","@hwy-js/dev":"0.4.0-beta.36"},"repository":{"type":"git","url":"git+https://github.com/hwy-js/hwy.git","directory":"packages/core"},"homepage":"https://hwy.dev","bugs":{"url":"https://github.com/hwy-js/hwy/issues"},"keywords":["simple","lightweight","flexible","framework","metaframework","web","typescript","htmx","hono","router","nested","routing","jsx","tsx","nextjs","remix"],"scripts":{"build":"rm -rf dist && tsup-node index.ts --format esm --dts","lint":"tsc","dev":"rm -rf dist && tsup-node index.ts --format esm --dts --watch --sourcemap","publish-beta":"npm publish --tag beta"},"types":"./dist/index.d.ts","readme":"# Hwy\n\nHwy is a simple, lightweight, and flexible web framework, built on Hono and HTMX.\n\n## Quick Start\n\n```bash\nnpx create-hwy@latest\n```\n\n## What is Hwy?\n\nHwy is a lot like NextJS or Remix, but it uses **_HTMX_** instead of React on the frontend.\n\nHwy lets you write **_React-style JSX_** in **_nested, file-based routes_**, with **_Remix-style actions and parallel loaders_**.\n\nPage components are async, so you can even **_fetch data in JSX_** if you want to (just be careful with waterfalls).\n\nThe backend server is built on **_Hono_**, so you have access to a rich, growing ecosystem with lots of middleware and wonderful docs.\n\nHwy is **_100% server-rendered_**, but with the HTMX defaults Hwy sets up for you out of the box, your app still **_feels like an SPA_**.\n\nLinks and forms are automatically **_progressively enhanced_** thanks to HTMX's `hx-boost` feature. Just use normal anchor tags and traditional form attributes.\n\nBecause Hwy replaces the **_full page_** on transitions by default, everything stays **_simple_**. You don't have to return different components from different endpoints (unless you want to).\n\nAnd best of all, **_anything you can do with Hono or HTMX, you can do with Hwy_**.\n\n## Features\n\n- Server-rendered JSX / TSX\n- Nested, file-based routing\n- Remix-style actions and parallel loaders\n- Async page components\n- Rich Hono middleware ecosystem\n- 100% type-safe\n- Server built on Hono\n- Client built on HTMX\n- Built-in critical CSS inlining\n- Live browser refresh during development\n- And more...\n\n## Guiding Principles\n\n- No speed limits\n- Numerous off-ramps\n- Smooth, safe roads\n- Clear traffic signs\n\n## Simple usage\n\nBelow is an example of a simple Hwy page. You'll notice it looks a lot like Remix, and you're right! Hwy is heavily inspired by Remix, but it uses HTMX instead of React.\n\n```tsx\n// src/pages/user/$user_id.page.tsx\n\nimport type { DataFunctionArgs, PageProps } from \"hwy\";\nimport { UserProfile, getUser } from \"./somewhere.js\";\n\nexport async function loader({ params }: DataFunctionArgs) {\n  return await getUser(params.user_id);\n}\n\nexport default async function ({ loaderData }: PageProps<typeof loader>) {\n  return <UserProfile user={loaderData} />;\n}\n```\n\nOr, if you prefer to fetch inside your components:\n\n```tsx\nexport default async function ({ params }: PageProps) {\n  const user = await getUser(params.user_id);\n\n  return <UserProfile user={user} />;\n}\n```\n\n## Get Started\n\nIf you want to dive right in, just open a terminal and run `npx create-hwy@latest` and follow the prompts.\n\nIf you'd prefer to read more first, take a peek at [our docs](https://hwy.dev/docs).\n\n## Acknowledgements\n\nHwy's APIs are obviously inspired by Remix. If Remix didn't exist, Hwy likely wouldn't exist either. Hwy doesn't use any Remix code, but it still owes a big thanks to the Remix team (past and present) for their top-tier patterns design. If you're building something huge and important today, use Remix.\n\n## Disclaimer\n\nHwy is in beta! Act accordingly.\n\n## License\n\nMIT License\n\nCopyright (c) 2023 Samuel J. Cook\n","readmeFilename":"README.md","_id":"hwy@0.4.0-beta.36","_integrity":"sha512-Wg6+BT6Y1ZKLzloIDzoHqbUECzym/54AdvDeaRTcVRcv8I4jvJvT9BG4KmNCxvBTDwgx0TV7hnNbf6CbE9vmHQ==","_resolved":"/private/var/folders/5f/8l64r22x6lz64v394wjbyybw0000gn/T/583bf6a4ce9b42bcb59f16e11cab1189/hwy-0.4.0-beta.36.tgz","_from":"file:hwy-0.4.0-beta.36.tgz","_nodeVersion":"18.18.0","_npmVersion":"9.8.1","dist":{"integrity":"sha512-Wg6+BT6Y1ZKLzloIDzoHqbUECzym/54AdvDeaRTcVRcv8I4jvJvT9BG4KmNCxvBTDwgx0TV7hnNbf6CbE9vmHQ==","shasum":"7a18cb1e1d8dd4a876453e93d7b8c2d16f014512","tarball":"https://registry.npmjs.org/hwy/-/hwy-0.4.0-beta.36.tgz","fileCount":5,"unpackedSize":38633,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIAX9CVF1pa1qDF7DkVRnDvCbtTRvg8x5LCbXp1Lg/EfRAiBvyULEcBRDEOKOuH3/f2zHzUmti0J7E4F9TNOrHJA+fw=="}]},"_npmUser":{"name":"sjc5","email":"email@samcook.cc"},"directories":{},"maintainers":[{"name":"sjc5","email":"email@samcook.cc"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/hwy_0.4.0-beta.36_1697918423666_0.7029586718148835"},"_hasShrinkwrap":false},"0.4.0-beta.37":{"name":"hwy","version":"0.4.0-beta.37","author":{"name":"Samuel J. Cook"},"license":"MIT","description":"Simple, lightweight, and flexible web framework, built on Hono and HTMX.","type":"module","main":"dist/index.js","devDependencies":{"@hono/node-server":"^1.2.0","@types/node":"^20.8.3","hono":"^3.7.5","tsup":"^7.2.0","@hwy-js/build":"0.4.0-beta.37","@hwy-js/dev":"0.4.0-beta.37"},"repository":{"type":"git","url":"git+https://github.com/hwy-js/hwy.git","directory":"packages/core"},"homepage":"https://hwy.dev","bugs":{"url":"https://github.com/hwy-js/hwy/issues"},"keywords":["simple","lightweight","flexible","framework","metaframework","web","typescript","htmx","hono","router","nested","routing","jsx","tsx","nextjs","remix"],"scripts":{"build":"rm -rf dist && tsup-node index.ts --format esm --dts","lint":"tsc","dev":"rm -rf dist && tsup-node index.ts --format esm --dts --watch --sourcemap","publish-beta":"npm publish --tag beta"},"types":"./dist/index.d.ts","readme":"# Hwy\n\nHwy is a simple, lightweight, and flexible web framework, built on Hono and HTMX.\n\n## Quick Start\n\n```bash\nnpx create-hwy@latest\n```\n\n## What is Hwy?\n\nHwy is a lot like NextJS or Remix, but it uses **_HTMX_** instead of React on the frontend.\n\nHwy lets you write **_React-style JSX_** in **_nested, file-based routes_**, with **_Remix-style actions and parallel loaders_**.\n\nPage components are async, so you can even **_fetch data in JSX_** if you want to (just be careful with waterfalls).\n\nThe backend server is built on **_Hono_**, so you have access to a rich, growing ecosystem with lots of middleware and wonderful docs.\n\nHwy is **_100% server-rendered_**, but with the HTMX defaults Hwy sets up for you out of the box, your app still **_feels like an SPA_**.\n\nLinks and forms are automatically **_progressively enhanced_** thanks to HTMX's `hx-boost` feature. Just use normal anchor tags and traditional form attributes.\n\nBecause Hwy replaces the **_full page_** on transitions by default, everything stays **_simple_**. You don't have to return different components from different endpoints (unless you want to).\n\nAnd best of all, **_anything you can do with Hono or HTMX, you can do with Hwy_**.\n\n## Features\n\n- Server-rendered JSX / TSX\n- Nested, file-based routing\n- Remix-style actions and parallel loaders\n- Async page components\n- Rich Hono middleware ecosystem\n- 100% type-safe\n- Server built on Hono\n- Client built on HTMX\n- Built-in critical CSS inlining\n- Live browser refresh during development\n- And more...\n\n## Guiding Principles\n\n- No speed limits\n- Numerous off-ramps\n- Smooth, safe roads\n- Clear traffic signs\n\n## Simple usage\n\nBelow is an example of a simple Hwy page. You'll notice it looks a lot like Remix, and you're right! Hwy is heavily inspired by Remix, but it uses HTMX instead of React.\n\n```tsx\n// src/pages/user/$user_id.page.tsx\n\nimport type { DataFunctionArgs, PageProps } from \"hwy\";\nimport { UserProfile, getUser } from \"./somewhere.js\";\n\nexport async function loader({ params }: DataFunctionArgs) {\n  return await getUser(params.user_id);\n}\n\nexport default async function ({ loaderData }: PageProps<typeof loader>) {\n  return <UserProfile user={loaderData} />;\n}\n```\n\nOr, if you prefer to fetch inside your components:\n\n```tsx\nexport default async function ({ params }: PageProps) {\n  const user = await getUser(params.user_id);\n\n  return <UserProfile user={user} />;\n}\n```\n\n## Get Started\n\nIf you want to dive right in, just open a terminal and run `npx create-hwy@latest` and follow the prompts.\n\nIf you'd prefer to read more first, take a peek at [our docs](https://hwy.dev/docs).\n\n## Acknowledgements\n\nHwy's APIs are obviously inspired by Remix. If Remix didn't exist, Hwy likely wouldn't exist either. Hwy doesn't use any Remix code, but it still owes a big thanks to the Remix team (past and present) for their top-tier patterns design. If you're building something huge and important today, use Remix.\n\n## Disclaimer\n\nHwy is in beta! Act accordingly.\n\n## License\n\nMIT License\n\nCopyright (c) 2023 Samuel J. Cook\n","readmeFilename":"README.md","_id":"hwy@0.4.0-beta.37","_integrity":"sha512-6MWWLwxeMB8fCxe6aLOxRf7U7LfX582L65pmnhzKMEkKxIaCPo2wYD1NsQ+UnK80r/l72Rwz+HZWMyE7i+Wtew==","_resolved":"/private/var/folders/5f/8l64r22x6lz64v394wjbyybw0000gn/T/4dc92f67a5ca0ef048741216c050e2fa/hwy-0.4.0-beta.37.tgz","_from":"file:hwy-0.4.0-beta.37.tgz","_nodeVersion":"18.18.0","_npmVersion":"9.8.1","dist":{"integrity":"sha512-6MWWLwxeMB8fCxe6aLOxRf7U7LfX582L65pmnhzKMEkKxIaCPo2wYD1NsQ+UnK80r/l72Rwz+HZWMyE7i+Wtew==","shasum":"9244b23d965be55be6a6261fa04c886593456050","tarball":"https://registry.npmjs.org/hwy/-/hwy-0.4.0-beta.37.tgz","fileCount":5,"unpackedSize":38633,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIH5M7BSH0SO2768cyOQLAI7YquGA+NJ8LVnT2aFmE7AmAiBwQ37LHuHdl22eldh3U1uAFgK2BPOMXTVi7W9cYsKPeQ=="}]},"_npmUser":{"name":"sjc5","email":"email@samcook.cc"},"directories":{},"maintainers":[{"name":"sjc5","email":"email@samcook.cc"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/hwy_0.4.0-beta.37_1697918894700_0.6855465900010018"},"_hasShrinkwrap":false},"0.4.0-beta.38":{"name":"hwy","version":"0.4.0-beta.38","author":{"name":"Samuel J. Cook"},"license":"MIT","description":"Simple, lightweight, and flexible web framework, built on Hono and HTMX.","type":"module","main":"dist/index.js","devDependencies":{"@hono/node-server":"^1.2.0","@types/node":"^20.8.3","hono":"^3.7.5","tsup":"^7.2.0","@hwy-js/build":"0.4.0-beta.38","@hwy-js/dev":"0.4.0-beta.38"},"repository":{"type":"git","url":"git+https://github.com/hwy-js/hwy.git","directory":"packages/core"},"homepage":"https://hwy.dev","bugs":{"url":"https://github.com/hwy-js/hwy/issues"},"keywords":["simple","lightweight","flexible","framework","metaframework","web","typescript","htmx","hono","router","nested","routing","jsx","tsx","nextjs","remix"],"scripts":{"build":"rm -rf dist && tsup-node index.ts --format esm --dts","lint":"tsc","dev":"rm -rf dist && tsup-node index.ts --format esm --dts --watch --sourcemap","publish-beta":"npm publish --tag beta"},"types":"./dist/index.d.ts","readme":"# Hwy\n\nHwy is a simple, lightweight, and flexible web framework, built on Hono and HTMX.\n\n## Quick Start\n\n```bash\nnpx create-hwy@latest\n```\n\n## What is Hwy?\n\nHwy is a lot like NextJS or Remix, but it uses **_HTMX_** instead of React on the frontend.\n\nHwy lets you write **_React-style JSX_** in **_nested, file-based routes_**, with **_Remix-style actions and parallel loaders_**.\n\nPage components are async, so you can even **_fetch data in JSX_** if you want to (just be careful with waterfalls).\n\nThe backend server is built on **_Hono_**, so you have access to a rich, growing ecosystem with lots of middleware and wonderful docs.\n\nHwy is **_100% server-rendered_**, but with the HTMX defaults Hwy sets up for you out of the box, your app still **_feels like an SPA_**.\n\nLinks and forms are automatically **_progressively enhanced_** thanks to HTMX's `hx-boost` feature. Just use normal anchor tags and traditional form attributes.\n\nBecause Hwy replaces the **_full page_** on transitions by default, everything stays **_simple_**. You don't have to return different components from different endpoints (unless you want to).\n\nAnd best of all, **_anything you can do with Hono or HTMX, you can do with Hwy_**.\n\n## Features\n\n- Server-rendered JSX / TSX\n- Nested, file-based routing\n- Remix-style actions and parallel loaders\n- Async page components\n- Rich Hono middleware ecosystem\n- 100% type-safe\n- Server built on Hono\n- Client built on HTMX\n- Built-in critical CSS inlining\n- Live browser refresh during development\n- And more...\n\n## Guiding Principles\n\n- No speed limits\n- Numerous off-ramps\n- Smooth, safe roads\n- Clear traffic signs\n\n## Simple usage\n\nBelow is an example of a simple Hwy page. You'll notice it looks a lot like Remix, and you're right! Hwy is heavily inspired by Remix, but it uses HTMX instead of React.\n\n```tsx\n// src/pages/user/$user_id.page.tsx\n\nimport type { DataFunctionArgs, PageProps } from \"hwy\";\nimport { UserProfile, getUser } from \"./somewhere.js\";\n\nexport async function loader({ params }: DataFunctionArgs) {\n  return await getUser(params.user_id);\n}\n\nexport default async function ({ loaderData }: PageProps<typeof loader>) {\n  return <UserProfile user={loaderData} />;\n}\n```\n\nOr, if you prefer to fetch inside your components:\n\n```tsx\nexport default async function ({ params }: PageProps) {\n  const user = await getUser(params.user_id);\n\n  return <UserProfile user={user} />;\n}\n```\n\n## Get Started\n\nIf you want to dive right in, just open a terminal and run `npx create-hwy@latest` and follow the prompts.\n\nIf you'd prefer to read more first, take a peek at [our docs](https://hwy.dev/docs).\n\n## Acknowledgements\n\nHwy's APIs are obviously inspired by Remix. If Remix didn't exist, Hwy likely wouldn't exist either. Hwy doesn't use any Remix code, but it still owes a big thanks to the Remix team (past and present) for their top-tier patterns design. If you're building something huge and important today, use Remix.\n\n## Disclaimer\n\nHwy is in beta! Act accordingly.\n\n## License\n\nMIT License\n\nCopyright (c) 2023 Samuel J. Cook\n","readmeFilename":"README.md","_id":"hwy@0.4.0-beta.38","_integrity":"sha512-tZgmjy1J7IM535vCRqXafeMWnR4l72+4ufNqFEa6i46YW6PQJfxzvEkd2yI9+0Ezn0ThirWeCWReYvDn2nTODA==","_resolved":"/private/var/folders/5f/8l64r22x6lz64v394wjbyybw0000gn/T/7f8a991257c6a90e1f9e9210864af554/hwy-0.4.0-beta.38.tgz","_from":"file:hwy-0.4.0-beta.38.tgz","_nodeVersion":"18.18.0","_npmVersion":"9.8.1","dist":{"integrity":"sha512-tZgmjy1J7IM535vCRqXafeMWnR4l72+4ufNqFEa6i46YW6PQJfxzvEkd2yI9+0Ezn0ThirWeCWReYvDn2nTODA==","shasum":"e6d028c0b632bfc6cee2d6593692dd5ef331ff98","tarball":"https://registry.npmjs.org/hwy/-/hwy-0.4.0-beta.38.tgz","fileCount":5,"unpackedSize":38633,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCb/tN9rVxWZhp2n5wIK2tmqz4iWo8FaLv41ohDrf0RGwIgG7zNaa5Qe3YDgGrRmyNLOU1oM4CmqBzr0VjofqsWs3M="}]},"_npmUser":{"name":"sjc5","email":"email@samcook.cc"},"directories":{},"maintainers":[{"name":"sjc5","email":"email@samcook.cc"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/hwy_0.4.0-beta.38_1697919416872_0.7309772594194586"},"_hasShrinkwrap":false},"0.4.0":{"name":"hwy","version":"0.4.0","author":{"name":"Samuel J. Cook"},"license":"MIT","description":"Simple, lightweight, and flexible web framework, built on Hono and HTMX.","type":"module","main":"dist/index.js","devDependencies":{"@hono/node-server":"^1.2.0","@types/node":"^20.8.3","hono":"^3.7.5","tsup":"^7.2.0","@hwy-js/build":"0.4.0","@hwy-js/dev":"0.4.0"},"repository":{"type":"git","url":"git+https://github.com/hwy-js/hwy.git","directory":"packages/core"},"homepage":"https://hwy.dev","bugs":{"url":"https://github.com/hwy-js/hwy/issues"},"keywords":["simple","lightweight","flexible","framework","metaframework","web","typescript","htmx","hono","router","nested","routing","jsx","tsx","nextjs","remix"],"scripts":{"build":"rm -rf dist && tsup-node index.ts --format esm --dts","lint":"tsc","dev":"rm -rf dist && tsup-node index.ts --format esm --dts --watch --sourcemap","publish-beta":"npm publish --tag beta"},"types":"./dist/index.d.ts","_id":"hwy@0.4.0","_integrity":"sha512-7TL2u9El/iNa82GauulORJkSXU3VBOfZkUC+b4rcoWqVHhbvyUmM9SI89ueY91rOMnRXEvtwtnVhZVpEmALCMQ==","_resolved":"/tmp/488fe183db1050d962e23d5e8da226d0/hwy-0.4.0.tgz","_from":"file:hwy-0.4.0.tgz","_nodeVersion":"18.18.2","_npmVersion":"9.8.1","dist":{"integrity":"sha512-7TL2u9El/iNa82GauulORJkSXU3VBOfZkUC+b4rcoWqVHhbvyUmM9SI89ueY91rOMnRXEvtwtnVhZVpEmALCMQ==","shasum":"9039feaa02504e2a02652c85682a58b996b6c173","tarball":"https://registry.npmjs.org/hwy/-/hwy-0.4.0.tgz","fileCount":5,"unpackedSize":38609,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIGRnnkNHuPan7nouG6rxKz459UPNqqKRiWm7XN0neT8KAiEAiijL00UsoWFAFTkoGO5Th86+vIzcbSY3uP+LE+gZ9ic="}]},"_npmUser":{"name":"sjc5","email":"email@samcook.cc"},"directories":{},"maintainers":[{"name":"sjc5","email":"email@samcook.cc"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/hwy_0.4.0_1697931950269_0.9460352632206985"},"_hasShrinkwrap":false},"0.4.1":{"name":"hwy","version":"0.4.1","author":{"name":"Samuel J. Cook"},"license":"MIT","description":"Simple, lightweight, and flexible web framework, built on Hono and HTMX.","type":"module","main":"dist/index.js","devDependencies":{"@hono/node-server":"^1.2.0","@types/node":"^20.8.3","hono":"^3.7.5","tsup":"^7.2.0","@hwy-js/build":"0.4.1","@hwy-js/dev":"0.4.1"},"repository":{"type":"git","url":"git+https://github.com/hwy-js/hwy.git","directory":"packages/core"},"homepage":"https://hwy.dev","bugs":{"url":"https://github.com/hwy-js/hwy/issues"},"keywords":["simple","lightweight","flexible","framework","metaframework","web","typescript","htmx","hono","router","nested","routing","jsx","tsx","nextjs","remix"],"scripts":{"build":"rm -rf dist && tsup-node index.ts --format esm --dts","lint":"tsc","dev":"rm -rf dist && tsup-node index.ts --format esm --dts --watch --sourcemap","publish-beta":"npm publish --tag beta"},"types":"./dist/index.d.ts","_id":"hwy@0.4.1","_integrity":"sha512-jDR8f5DPrwnvNsFnf3+6jgi9p8ZrzqkDFje95MuchYyxBloRqFkltK3Y6N7qnT4kgQu4T7hcbQY6ynoDBpd0pw==","_resolved":"/tmp/151a79c0fdd00e10f2500f57d045aa06/hwy-0.4.1.tgz","_from":"file:hwy-0.4.1.tgz","_nodeVersion":"18.18.2","_npmVersion":"9.8.1","dist":{"integrity":"sha512-jDR8f5DPrwnvNsFnf3+6jgi9p8ZrzqkDFje95MuchYyxBloRqFkltK3Y6N7qnT4kgQu4T7hcbQY6ynoDBpd0pw==","shasum":"ee1ef58e885cdcd84f8f6dc6655e1a6726cbc7b8","tarball":"https://registry.npmjs.org/hwy/-/hwy-0.4.1.tgz","fileCount":5,"unpackedSize":38609,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIEtJ6NHG3Cm+Ny8QpGDOdV6x1IiBnI2Kkqsp722Vjg5wAiEAk1jAIEYAYlv81scqDWa3IwCoxQGkIPiP8SAtmoaIdpY="}]},"_npmUser":{"name":"sjc5","email":"email@samcook.cc"},"directories":{},"maintainers":[{"name":"sjc5","email":"email@samcook.cc"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/hwy_0.4.1_1697933566017_0.3749819990383705"},"_hasShrinkwrap":false},"0.4.2-beta.0":{"name":"hwy","version":"0.4.2-beta.0","author":{"name":"Samuel J. Cook"},"license":"MIT","description":"Simple, lightweight, and flexible web framework, built on Hono and HTMX.","type":"module","main":"dist/index.js","devDependencies":{"@hono/node-server":"^1.2.0","@types/node":"^20.8.7","hono":"^3.8.3","tsup":"^7.2.0","@hwy-js/build":"0.4.2-beta.0","@hwy-js/dev":"0.4.2-beta.0"},"repository":{"type":"git","url":"git+https://github.com/hwy-js/hwy.git","directory":"packages/core"},"homepage":"https://hwy.dev","bugs":{"url":"https://github.com/hwy-js/hwy/issues"},"keywords":["simple","lightweight","flexible","framework","metaframework","web","typescript","htmx","hono","router","nested","routing","jsx","tsx","nextjs","remix"],"scripts":{"build":"rm -rf dist && tsup-node index.ts --format esm --dts","lint":"tsc","dev":"rm -rf dist && tsup-node index.ts --format esm --dts --watch --sourcemap","publish-beta":"npm publish --tag beta"},"types":"./dist/index.d.ts","readme":"# Hwy\n\nHwy is a simple, lightweight, and flexible web framework, built on Hono and HTMX.\n\n## Quick Start\n\n```bash\nnpx create-hwy@latest\n```\n\n## What is Hwy?\n\nHwy is a lot like NextJS or Remix, but it uses **_HTMX_** instead of React on the frontend.\n\nHwy lets you write **_React-style JSX_** in **_nested, file-based routes_**, with **_Remix-style actions and parallel loaders_**.\n\nPage components are async, so you can even **_fetch data in JSX_** if you want to (just be careful with waterfalls).\n\nThe backend server is built on **_Hono_**, so you have access to a rich, growing ecosystem with lots of middleware and wonderful docs.\n\nHwy is **_100% server-rendered_**, but with the HTMX defaults Hwy sets up for you out of the box, your app still **_feels like an SPA_**.\n\nLinks and forms are automatically **_progressively enhanced_** thanks to HTMX's `hx-boost` feature. Just use normal anchor tags and traditional form attributes.\n\nBecause Hwy replaces the **_full page_** on transitions by default, everything stays **_simple_**. You don't have to return different components from different endpoints (unless you want to).\n\nAnd best of all, **_anything you can do with Hono or HTMX, you can do with Hwy_**.\n\n## Features\n\n- Server-rendered JSX / TSX\n- Nested, file-based routing\n- Remix-style actions and parallel loaders\n- Async page components\n- Rich Hono middleware ecosystem\n- 100% type-safe\n- Server built on Hono\n- Client built on HTMX\n- Built-in critical CSS inlining\n- Live browser refresh during development\n- And more...\n\n## Guiding Principles\n\n- No speed limits\n- Numerous off-ramps\n- Smooth, safe roads\n- Clear traffic signs\n\n## Simple usage\n\nBelow is an example of a simple Hwy page. You'll notice it looks a lot like Remix, and you're right! Hwy is heavily inspired by Remix, but it uses HTMX instead of React.\n\n```tsx\n// src/pages/user/$user_id.page.tsx\n\nimport type { DataFunctionArgs, PageProps } from \"hwy\";\nimport { UserProfile, getUser } from \"./somewhere.js\";\n\nexport async function loader({ params }: DataFunctionArgs) {\n  return await getUser(params.user_id);\n}\n\nexport default async function ({ loaderData }: PageProps<typeof loader>) {\n  return <UserProfile user={loaderData} />;\n}\n```\n\nOr, if you prefer to fetch inside your components:\n\n```tsx\nexport default async function ({ params }: PageProps) {\n  const user = await getUser(params.user_id);\n\n  return <UserProfile user={user} />;\n}\n```\n\n## Get Started\n\nIf you want to dive right in, just open a terminal and run `npx create-hwy@latest` and follow the prompts.\n\nIf you'd prefer to read more first, take a peek at [our docs](https://hwy.dev/docs).\n\n## Acknowledgements\n\nHwy's APIs are obviously inspired by Remix. If Remix didn't exist, Hwy likely wouldn't exist either. Hwy doesn't use any Remix code, but it still owes a big thanks to the Remix team (past and present) for their top-tier patterns design. If you're building something huge and important today, use Remix.\n\n## Disclaimer\n\nHwy is in beta! Act accordingly.\n\n## License\n\nMIT License\n\nCopyright (c) 2023 Samuel J. Cook\n","readmeFilename":"README.md","_id":"hwy@0.4.2-beta.0","_integrity":"sha512-Y1UlxuWB7TRqNl/ACwK7KqypbJs7ufRA7Vz9/tKqUJ/AZhriIDpv3C6BdE3nItiQeJahTQVtYc5ZuFh7ms/F7Q==","_resolved":"/private/var/folders/5f/8l64r22x6lz64v394wjbyybw0000gn/T/732715b3607deb54e9a37650feb04231/hwy-0.4.2-beta.0.tgz","_from":"file:hwy-0.4.2-beta.0.tgz","_nodeVersion":"18.18.0","_npmVersion":"9.8.1","dist":{"integrity":"sha512-Y1UlxuWB7TRqNl/ACwK7KqypbJs7ufRA7Vz9/tKqUJ/AZhriIDpv3C6BdE3nItiQeJahTQVtYc5ZuFh7ms/F7Q==","shasum":"a0d8df08e9154135ace11259d93d9bf7ead53359","tarball":"https://registry.npmjs.org/hwy/-/hwy-0.4.2-beta.0.tgz","fileCount":6,"unpackedSize":93291,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCb8eBGXm/FHvyEy4iyjdB9LHwGLQLITKr9d18xrtn/PgIgWQdWY0kUGEApztkuTTkCbTgf5PDKLqTWG8DTu6LfxLw="}]},"_npmUser":{"name":"sjc5","email":"email@samcook.cc"},"directories":{},"maintainers":[{"name":"sjc5","email":"email@samcook.cc"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/hwy_0.4.2-beta.0_1698019968756_0.5605951359639236"},"_hasShrinkwrap":false},"0.4.2-beta.1":{"name":"hwy","version":"0.4.2-beta.1","author":{"name":"Samuel J. Cook"},"license":"MIT","description":"Simple, lightweight, and flexible web framework, built on Hono and HTMX.","type":"module","main":"dist/index.js","devDependencies":{"@hono/node-server":"^1.2.0","@types/node":"^20.8.7","hono":"^3.8.3","tsup":"^7.2.0","@hwy-js/build":"0.4.2-beta.1","@hwy-js/dev":"0.4.2-beta.1"},"repository":{"type":"git","url":"git+https://github.com/hwy-js/hwy.git","directory":"packages/core"},"homepage":"https://hwy.dev","bugs":{"url":"https://github.com/hwy-js/hwy/issues"},"keywords":["simple","lightweight","flexible","framework","metaframework","web","typescript","htmx","hono","router","nested","routing","jsx","tsx","nextjs","remix"],"scripts":{"build":"rm -rf dist && tsup-node index.ts --format esm --dts","lint":"tsc","dev":"rm -rf dist && tsup-node index.ts --format esm --dts --watch --sourcemap","publish-beta":"npm publish --tag beta"},"types":"./dist/index.d.ts","readme":"# Hwy\n\nHwy is a simple, lightweight, and flexible web framework, built on Hono and HTMX.\n\n## Quick Start\n\n```bash\nnpx create-hwy@latest\n```\n\n## What is Hwy?\n\nHwy is a lot like NextJS or Remix, but it uses **_HTMX_** instead of React on the frontend.\n\nHwy lets you write **_React-style JSX_** in **_nested, file-based routes_**, with **_Remix-style actions and parallel loaders_**.\n\nPage components are async, so you can even **_fetch data in JSX_** if you want to (just be careful with waterfalls).\n\nThe backend server is built on **_Hono_**, so you have access to a rich, growing ecosystem with lots of middleware and wonderful docs.\n\nHwy is **_100% server-rendered_**, but with the HTMX defaults Hwy sets up for you out of the box, your app still **_feels like an SPA_**.\n\nLinks and forms are automatically **_progressively enhanced_** thanks to HTMX's `hx-boost` feature. Just use normal anchor tags and traditional form attributes.\n\nBecause Hwy replaces the **_full page_** on transitions by default, everything stays **_simple_**. You don't have to return different components from different endpoints (unless you want to).\n\nAnd best of all, **_anything you can do with Hono or HTMX, you can do with Hwy_**.\n\n## Features\n\n- Server-rendered JSX / TSX\n- Nested, file-based routing\n- Remix-style actions and parallel loaders\n- Async page components\n- Rich Hono middleware ecosystem\n- 100% type-safe\n- Server built on Hono\n- Client built on HTMX\n- Built-in critical CSS inlining\n- Live browser refresh during development\n- And more...\n\n## Guiding Principles\n\n- No speed limits\n- Numerous off-ramps\n- Smooth, safe roads\n- Clear traffic signs\n\n## Simple usage\n\nBelow is an example of a simple Hwy page. You'll notice it looks a lot like Remix, and you're right! Hwy is heavily inspired by Remix, but it uses HTMX instead of React.\n\n```tsx\n// src/pages/user/$user_id.page.tsx\n\nimport type { DataFunctionArgs, PageProps } from \"hwy\";\nimport { UserProfile, getUser } from \"./somewhere.js\";\n\nexport async function loader({ params }: DataFunctionArgs) {\n  return await getUser(params.user_id);\n}\n\nexport default async function ({ loaderData }: PageProps<typeof loader>) {\n  return <UserProfile user={loaderData} />;\n}\n```\n\nOr, if you prefer to fetch inside your components:\n\n```tsx\nexport default async function ({ params }: PageProps) {\n  const user = await getUser(params.user_id);\n\n  return <UserProfile user={user} />;\n}\n```\n\n## Get Started\n\nIf you want to dive right in, just open a terminal and run `npx create-hwy@latest` and follow the prompts.\n\nIf you'd prefer to read more first, take a peek at [our docs](https://hwy.dev/docs).\n\n## Acknowledgements\n\nHwy's APIs are obviously inspired by Remix. If Remix didn't exist, Hwy likely wouldn't exist either. Hwy doesn't use any Remix code, but it still owes a big thanks to the Remix team (past and present) for their top-tier patterns design. If you're building something huge and important today, use Remix.\n\n## Disclaimer\n\nHwy is in beta! Act accordingly.\n\n## License\n\nMIT License\n\nCopyright (c) 2023 Samuel J. Cook\n","readmeFilename":"README.md","_id":"hwy@0.4.2-beta.1","_integrity":"sha512-eKuYvtlkVbcOGEiJJCNH0yUdPUvFMHVyJNFkEzxRpYkMxj0viB6TmwQvamMRvzPPw/jaWQKW00bzTnbh/u4DXA==","_resolved":"/private/var/folders/5f/8l64r22x6lz64v394wjbyybw0000gn/T/5e2737b0d0a4774a0f61bad09b6ddb83/hwy-0.4.2-beta.1.tgz","_from":"file:hwy-0.4.2-beta.1.tgz","_nodeVersion":"18.18.0","_npmVersion":"9.8.1","dist":{"integrity":"sha512-eKuYvtlkVbcOGEiJJCNH0yUdPUvFMHVyJNFkEzxRpYkMxj0viB6TmwQvamMRvzPPw/jaWQKW00bzTnbh/u4DXA==","shasum":"a37dcc6ae31901957ae3c7e5b3eb9f47371a2103","tarball":"https://registry.npmjs.org/hwy/-/hwy-0.4.2-beta.1.tgz","fileCount":5,"unpackedSize":38608,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCgGKYdXBSJOBLIifal4oLrzPCBkwjDG8j9J7tJqbN0vAIhAI7RLxKok1vI1G63923EHOa6RohXNsEf1DH5zZbU+ln7"}]},"_npmUser":{"name":"sjc5","email":"email@samcook.cc"},"directories":{},"maintainers":[{"name":"sjc5","email":"email@samcook.cc"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/hwy_0.4.2-beta.1_1698031478677_0.018654940919547336"},"_hasShrinkwrap":false},"0.4.2-beta.2":{"name":"hwy","version":"0.4.2-beta.2","author":{"name":"Samuel J. Cook"},"license":"MIT","description":"Simple, lightweight, and flexible web framework, built on Hono and HTMX.","type":"module","main":"dist/index.js","devDependencies":{"@hono/node-server":"^1.2.0","@types/node":"^20.8.7","hono":"^3.8.3","tsup":"^7.2.0","@hwy-js/build":"0.4.2-beta.2","@hwy-js/dev":"0.4.2-beta.2"},"repository":{"type":"git","url":"git+https://github.com/hwy-js/hwy.git","directory":"packages/core"},"homepage":"https://hwy.dev","bugs":{"url":"https://github.com/hwy-js/hwy/issues"},"keywords":["simple","lightweight","flexible","framework","metaframework","web","typescript","htmx","hono","router","nested","routing","jsx","tsx","nextjs","remix"],"scripts":{"build":"rm -rf dist && tsup-node index.ts --format esm --dts","lint":"tsc","dev":"rm -rf dist && tsup-node index.ts --format esm --dts --watch --sourcemap","publish-beta":"npm publish --tag beta"},"readme":"# Hwy\n\nHwy is a simple, lightweight, and flexible web framework, built on Hono and HTMX.\n\n## Quick Start\n\n```bash\nnpx create-hwy@latest\n```\n\n## What is Hwy?\n\nHwy is a lot like NextJS or Remix, but it uses **_HTMX_** instead of React on the frontend.\n\nHwy lets you write **_React-style JSX_** in **_nested, file-based routes_**, with **_Remix-style actions and parallel loaders_**.\n\nPage components are async, so you can even **_fetch data in JSX_** if you want to (just be careful with waterfalls).\n\nThe backend server is built on **_Hono_**, so you have access to a rich, growing ecosystem with lots of middleware and wonderful docs.\n\nHwy is **_100% server-rendered_**, but with the HTMX defaults Hwy sets up for you out of the box, your app still **_feels like an SPA_**.\n\nLinks and forms are automatically **_progressively enhanced_** thanks to HTMX's `hx-boost` feature. Just use normal anchor tags and traditional form attributes.\n\nBecause Hwy replaces the **_full page_** on transitions by default, everything stays **_simple_**. You don't have to return different components from different endpoints (unless you want to).\n\nAnd best of all, **_anything you can do with Hono or HTMX, you can do with Hwy_**.\n\n## Features\n\n- Server-rendered JSX / TSX\n- Nested, file-based routing\n- Remix-style actions and parallel loaders\n- Async page components\n- Rich Hono middleware ecosystem\n- 100% type-safe\n- Server built on Hono\n- Client built on HTMX\n- Built-in critical CSS inlining\n- Live browser refresh during development\n- And more...\n\n## Guiding Principles\n\n- No speed limits\n- Numerous off-ramps\n- Smooth, safe roads\n- Clear traffic signs\n\n## Simple usage\n\nBelow is an example of a simple Hwy page. You'll notice it looks a lot like Remix, and you're right! Hwy is heavily inspired by Remix, but it uses HTMX instead of React.\n\n```tsx\n// src/pages/user/$user_id.page.tsx\n\nimport type { DataFunctionArgs, PageProps } from \"hwy\";\nimport { UserProfile, getUser } from \"./somewhere.js\";\n\nexport async function loader({ params }: DataFunctionArgs) {\n  return await getUser(params.user_id);\n}\n\nexport default async function ({ loaderData }: PageProps<typeof loader>) {\n  return <UserProfile user={loaderData} />;\n}\n```\n\nOr, if you prefer to fetch inside your components:\n\n```tsx\nexport default async function ({ params }: PageProps) {\n  const user = await getUser(params.user_id);\n\n  return <UserProfile user={user} />;\n}\n```\n\n## Get Started\n\nIf you want to dive right in, just open a terminal and run `npx create-hwy@latest` and follow the prompts.\n\nIf you'd prefer to read more first, take a peek at [our docs](https://hwy.dev/docs).\n\n## Acknowledgements\n\nHwy's APIs are obviously inspired by Remix. If Remix didn't exist, Hwy likely wouldn't exist either. Hwy doesn't use any Remix code, but it still owes a big thanks to the Remix team (past and present) for their top-tier patterns design. If you're building something huge and important today, use Remix.\n\n## Disclaimer\n\nHwy is in beta! Act accordingly.\n\n## License\n\nMIT License\n\nCopyright (c) 2023 Samuel J. Cook\n","readmeFilename":"README.md","_id":"hwy@0.4.2-beta.2","_integrity":"sha512-uIOq/6/67EXpgmOoend2Ai+BzBHjEXsRexiYoxk2RY5BaB3WW8RtGw6IHFkDr0rHpHFUtj1s5ofSiXs53wZt5g==","_resolved":"/private/var/folders/5f/8l64r22x6lz64v394wjbyybw0000gn/T/f23d3de98f90f717abf4f5425befdc52/hwy-0.4.2-beta.2.tgz","_from":"file:hwy-0.4.2-beta.2.tgz","_nodeVersion":"18.18.0","_npmVersion":"9.8.1","dist":{"integrity":"sha512-uIOq/6/67EXpgmOoend2Ai+BzBHjEXsRexiYoxk2RY5BaB3WW8RtGw6IHFkDr0rHpHFUtj1s5ofSiXs53wZt5g==","shasum":"c31e25843aea34d303a1c1521e4c30bb33d3f285","tarball":"https://registry.npmjs.org/hwy/-/hwy-0.4.2-beta.2.tgz","fileCount":5,"unpackedSize":87293,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIEuio17PDBYfJcejkuLlcv2Vs1wwQdb6rqm9ll43Z73SAiA8RF6oCBk6mzB1a+qZOs93OWsK6vS5KbTboKIaHIGOpQ=="}]},"_npmUser":{"name":"sjc5","email":"email@samcook.cc"},"directories":{},"maintainers":[{"name":"sjc5","email":"email@samcook.cc"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/hwy_0.4.2-beta.2_1698034791645_0.7938418716355635"},"_hasShrinkwrap":false},"0.4.2-beta.3":{"name":"hwy","version":"0.4.2-beta.3","author":{"name":"Samuel J. Cook"},"license":"MIT","description":"Simple, lightweight, and flexible web framework, built on Hono and HTMX.","type":"module","main":"dist/index.js","devDependencies":{"@hono/node-server":"^1.2.0","@types/node":"^20.8.7","hono":"^3.8.3","tsup":"^7.2.0","@hwy-js/build":"0.4.2-beta.3","@hwy-js/dev":"0.4.2-beta.3"},"repository":{"type":"git","url":"git+https://github.com/hwy-js/hwy.git","directory":"packages/core"},"homepage":"https://hwy.dev","bugs":{"url":"https://github.com/hwy-js/hwy/issues"},"keywords":["simple","lightweight","flexible","framework","metaframework","web","typescript","htmx","hono","router","nested","routing","jsx","tsx","nextjs","remix"],"scripts":{"build":"rm -rf dist && tsup-node index.ts --format esm --dts","lint":"tsc","dev":"rm -rf dist && tsup-node index.ts --format esm --dts --watch --sourcemap","publish-beta":"npm publish --tag beta"},"types":"./dist/index.d.ts","readme":"# Hwy\n\nHwy is a simple, lightweight, and flexible web framework, built on Hono and HTMX.\n\n## Quick Start\n\n```bash\nnpx create-hwy@latest\n```\n\n## What is Hwy?\n\nHwy is a lot like NextJS or Remix, but it uses **_HTMX_** instead of React on the frontend.\n\nHwy lets you write **_React-style JSX_** in **_nested, file-based routes_**, with **_Remix-style actions and parallel loaders_**.\n\nPage components are async, so you can even **_fetch data in JSX_** if you want to (just be careful with waterfalls).\n\nThe backend server is built on **_Hono_**, so you have access to a rich, growing ecosystem with lots of middleware and wonderful docs.\n\nHwy is **_100% server-rendered_**, but with the HTMX defaults Hwy sets up for you out of the box, your app still **_feels like an SPA_**.\n\nLinks and forms are automatically **_progressively enhanced_** thanks to HTMX's `hx-boost` feature. Just use normal anchor tags and traditional form attributes.\n\nBecause Hwy replaces the **_full page_** on transitions by default, everything stays **_simple_**. You don't have to return different components from different endpoints (unless you want to).\n\nAnd best of all, **_anything you can do with Hono or HTMX, you can do with Hwy_**.\n\n## Features\n\n- Server-rendered JSX / TSX\n- Nested, file-based routing\n- Remix-style actions and parallel loaders\n- Async page components\n- Rich Hono middleware ecosystem\n- 100% type-safe\n- Server built on Hono\n- Client built on HTMX\n- Built-in critical CSS inlining\n- Live browser refresh during development\n- And more...\n\n## Guiding Principles\n\n- No speed limits\n- Numerous off-ramps\n- Smooth, safe roads\n- Clear traffic signs\n\n## Simple usage\n\nBelow is an example of a simple Hwy page. You'll notice it looks a lot like Remix, and you're right! Hwy is heavily inspired by Remix, but it uses HTMX instead of React.\n\n```tsx\n// src/pages/user/$user_id.page.tsx\n\nimport type { DataFunctionArgs, PageProps } from \"hwy\";\nimport { UserProfile, getUser } from \"./somewhere.js\";\n\nexport async function loader({ params }: DataFunctionArgs) {\n  return await getUser(params.user_id);\n}\n\nexport default async function ({ loaderData }: PageProps<typeof loader>) {\n  return <UserProfile user={loaderData} />;\n}\n```\n\nOr, if you prefer to fetch inside your components:\n\n```tsx\nexport default async function ({ params }: PageProps) {\n  const user = await getUser(params.user_id);\n\n  return <UserProfile user={user} />;\n}\n```\n\n## Get Started\n\nIf you want to dive right in, just open a terminal and run `npx create-hwy@latest` and follow the prompts.\n\nIf you'd prefer to read more first, take a peek at [our docs](https://hwy.dev/docs).\n\n## Acknowledgements\n\nHwy's APIs are obviously inspired by Remix. If Remix didn't exist, Hwy likely wouldn't exist either. Hwy doesn't use any Remix code, but it still owes a big thanks to the Remix team (past and present) for their top-tier patterns design. If you're building something huge and important today, use Remix.\n\n## Disclaimer\n\nHwy is in beta! Act accordingly.\n\n## License\n\nMIT License\n\nCopyright (c) 2023 Samuel J. Cook\n","readmeFilename":"README.md","_id":"hwy@0.4.2-beta.3","_integrity":"sha512-ebOi8MCuzDOR6emoPC0WMgGCViNr1mcImURwOFjsFt0QPpi61JCAN/SuHUVfZr45TW4R7LBsqxbxRfxIvaz7aA==","_resolved":"/private/var/folders/5f/8l64r22x6lz64v394wjbyybw0000gn/T/e5df9b1d56eabffdd8f9b7e8ce7365fd/hwy-0.4.2-beta.3.tgz","_from":"file:hwy-0.4.2-beta.3.tgz","_nodeVersion":"18.18.0","_npmVersion":"9.8.1","dist":{"integrity":"sha512-ebOi8MCuzDOR6emoPC0WMgGCViNr1mcImURwOFjsFt0QPpi61JCAN/SuHUVfZr45TW4R7LBsqxbxRfxIvaz7aA==","shasum":"6dcf43d15be7700b11641a96ff8bfed51c69acaa","tarball":"https://registry.npmjs.org/hwy/-/hwy-0.4.2-beta.3.tgz","fileCount":6,"unpackedSize":93185,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIEzaIBhBjLd+gy8h0ICpFknlhPzjhITuLD6LiRHCu8GfAiEA8QeYiEMHqWLJapz804pjoea6f85EuMtLMnDlqkI/LoY="}]},"_npmUser":{"name":"sjc5","email":"email@samcook.cc"},"directories":{},"maintainers":[{"name":"sjc5","email":"email@samcook.cc"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/hwy_0.4.2-beta.3_1698035051610_0.7158025009728455"},"_hasShrinkwrap":false},"0.4.2-beta.4":{"name":"hwy","version":"0.4.2-beta.4","author":{"name":"Samuel J. Cook"},"license":"MIT","description":"Simple, lightweight, and flexible web framework, built on Hono and HTMX.","type":"module","main":"dist/index.js","devDependencies":{"@hono/node-server":"^1.2.0","@types/node":"^20.8.7","hono":"^3.8.3","tsup":"^7.2.0","@hwy-js/build":"0.4.2-beta.4","@hwy-js/dev":"0.4.2-beta.4"},"repository":{"type":"git","url":"git+https://github.com/hwy-js/hwy.git","directory":"packages/core"},"homepage":"https://hwy.dev","bugs":{"url":"https://github.com/hwy-js/hwy/issues"},"keywords":["simple","lightweight","flexible","framework","metaframework","web","typescript","htmx","hono","router","nested","routing","jsx","tsx","nextjs","remix"],"scripts":{"build":"rm -rf dist && tsup-node index.ts --format esm --dts","lint":"tsc","dev":"rm -rf dist && tsup-node index.ts --format esm --dts --watch --sourcemap","publish-beta":"npm publish --tag beta"},"types":"./dist/index.d.ts","readme":"# Hwy\n\nHwy is a simple, lightweight, and flexible web framework, built on Hono and HTMX.\n\n## Quick Start\n\n```bash\nnpx create-hwy@latest\n```\n\n## What is Hwy?\n\nHwy is a lot like NextJS or Remix, but it uses **_HTMX_** instead of React on the frontend.\n\nHwy lets you write **_React-style JSX_** in **_nested, file-based routes_**, with **_Remix-style actions and parallel loaders_**.\n\nPage components are async, so you can even **_fetch data in JSX_** if you want to (just be careful with waterfalls).\n\nThe backend server is built on **_Hono_**, so you have access to a rich, growing ecosystem with lots of middleware and wonderful docs.\n\nHwy is **_100% server-rendered_**, but with the HTMX defaults Hwy sets up for you out of the box, your app still **_feels like an SPA_**.\n\nLinks and forms are automatically **_progressively enhanced_** thanks to HTMX's `hx-boost` feature. Just use normal anchor tags and traditional form attributes.\n\nBecause Hwy replaces the **_full page_** on transitions by default, everything stays **_simple_**. You don't have to return different components from different endpoints (unless you want to).\n\nAnd best of all, **_anything you can do with Hono or HTMX, you can do with Hwy_**.\n\n## Features\n\n- Server-rendered JSX / TSX\n- Nested, file-based routing\n- Remix-style actions and parallel loaders\n- Async page components\n- Rich Hono middleware ecosystem\n- 100% type-safe\n- Server built on Hono\n- Client built on HTMX\n- Built-in critical CSS inlining\n- Live browser refresh during development\n- And more...\n\n## Guiding Principles\n\n- No speed limits\n- Numerous off-ramps\n- Smooth, safe roads\n- Clear traffic signs\n\n## Simple usage\n\nBelow is an example of a simple Hwy page. You'll notice it looks a lot like Remix, and you're right! Hwy is heavily inspired by Remix, but it uses HTMX instead of React.\n\n```tsx\n// src/pages/user/$user_id.page.tsx\n\nimport type { DataFunctionArgs, PageProps } from \"hwy\";\nimport { UserProfile, getUser } from \"./somewhere.js\";\n\nexport async function loader({ params }: DataFunctionArgs) {\n  return await getUser(params.user_id);\n}\n\nexport default async function ({ loaderData }: PageProps<typeof loader>) {\n  return <UserProfile user={loaderData} />;\n}\n```\n\nOr, if you prefer to fetch inside your components:\n\n```tsx\nexport default async function ({ params }: PageProps) {\n  const user = await getUser(params.user_id);\n\n  return <UserProfile user={user} />;\n}\n```\n\n## Get Started\n\nIf you want to dive right in, just open a terminal and run `npx create-hwy@latest` and follow the prompts.\n\nIf you'd prefer to read more first, take a peek at [our docs](https://hwy.dev/docs).\n\n## Acknowledgements\n\nHwy's APIs are obviously inspired by Remix. If Remix didn't exist, Hwy likely wouldn't exist either. Hwy doesn't use any Remix code, but it still owes a big thanks to the Remix team (past and present) for their top-tier patterns design. If you're building something huge and important today, use Remix.\n\n## Disclaimer\n\nHwy is in beta! Act accordingly.\n\n## License\n\nMIT License\n\nCopyright (c) 2023 Samuel J. Cook\n","readmeFilename":"README.md","_id":"hwy@0.4.2-beta.4","_integrity":"sha512-+rLOEwbc6ruAXoRf+xUj8jxlFinFMGdzFM3tyQ3w8zthbXRRm0tXbxjoZ20XOvZW924Qkw6J54PfC2vxHwvfVA==","_resolved":"/private/var/folders/5f/8l64r22x6lz64v394wjbyybw0000gn/T/281182c712cac994e26d8f05f3050f30/hwy-0.4.2-beta.4.tgz","_from":"file:hwy-0.4.2-beta.4.tgz","_nodeVersion":"18.18.0","_npmVersion":"9.8.1","dist":{"integrity":"sha512-+rLOEwbc6ruAXoRf+xUj8jxlFinFMGdzFM3tyQ3w8zthbXRRm0tXbxjoZ20XOvZW924Qkw6J54PfC2vxHwvfVA==","shasum":"703de1d5435930ac54905ddae4b67f7916e44670","tarball":"https://registry.npmjs.org/hwy/-/hwy-0.4.2-beta.4.tgz","fileCount":5,"unpackedSize":38602,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIHwp8Cau3QxxKOhrmZrGfK7C8bGh6obUF+lbOFxcAIumAiBKORS9IxaAUJEbvAKENXMrN3S8XHx9cJbDCdC5gENFMw=="}]},"_npmUser":{"name":"sjc5","email":"email@samcook.cc"},"directories":{},"maintainers":[{"name":"sjc5","email":"email@samcook.cc"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/hwy_0.4.2-beta.4_1698035651056_0.31945623967012127"},"_hasShrinkwrap":false},"0.4.2-beta.5":{"name":"hwy","version":"0.4.2-beta.5","author":{"name":"Samuel J. Cook"},"license":"MIT","description":"Simple, lightweight, and flexible web framework, built on Hono and HTMX.","type":"module","main":"dist/index.js","devDependencies":{"@hono/node-server":"^1.2.0","@types/node":"^20.8.7","hono":"^3.8.3","tsup":"^7.2.0","@hwy-js/build":"0.4.2-beta.5","@hwy-js/dev":"0.4.2-beta.5"},"repository":{"type":"git","url":"git+https://github.com/hwy-js/hwy.git","directory":"packages/core"},"homepage":"https://hwy.dev","bugs":{"url":"https://github.com/hwy-js/hwy/issues"},"keywords":["simple","lightweight","flexible","framework","metaframework","web","typescript","htmx","hono","router","nested","routing","jsx","tsx","nextjs","remix"],"scripts":{"build":"rm -rf dist && tsup-node index.ts --format esm --dts","lint":"tsc","dev":"rm -rf dist && tsup-node index.ts --format esm --dts --watch --sourcemap","publish-beta":"npm publish --tag beta"},"types":"./dist/index.d.ts","readme":"# Hwy\n\nHwy is a simple, lightweight, and flexible web framework, built on Hono and HTMX.\n\n## Quick Start\n\n```bash\nnpx create-hwy@latest\n```\n\n## What is Hwy?\n\nHwy is a lot like NextJS or Remix, but it uses **_HTMX_** instead of React on the frontend.\n\nHwy lets you write **_React-style JSX_** in **_nested, file-based routes_**, with **_Remix-style actions and parallel loaders_**.\n\nPage components are async, so you can even **_fetch data in JSX_** if you want to (just be careful with waterfalls).\n\nThe backend server is built on **_Hono_**, so you have access to a rich, growing ecosystem with lots of middleware and wonderful docs.\n\nHwy is **_100% server-rendered_**, but with the HTMX defaults Hwy sets up for you out of the box, your app still **_feels like an SPA_**.\n\nLinks and forms are automatically **_progressively enhanced_** thanks to HTMX's `hx-boost` feature. Just use normal anchor tags and traditional form attributes.\n\nBecause Hwy replaces the **_full page_** on transitions by default, everything stays **_simple_**. You don't have to return different components from different endpoints (unless you want to).\n\nAnd best of all, **_anything you can do with Hono or HTMX, you can do with Hwy_**.\n\n## Features\n\n- Server-rendered JSX / TSX\n- Nested, file-based routing\n- Remix-style actions and parallel loaders\n- Async page components\n- Rich Hono middleware ecosystem\n- 100% type-safe\n- Server built on Hono\n- Client built on HTMX\n- Built-in critical CSS inlining\n- Live browser refresh during development\n- And more...\n\n## Guiding Principles\n\n- No speed limits\n- Numerous off-ramps\n- Smooth, safe roads\n- Clear traffic signs\n\n## Simple usage\n\nBelow is an example of a simple Hwy page. You'll notice it looks a lot like Remix, and you're right! Hwy is heavily inspired by Remix, but it uses HTMX instead of React.\n\n```tsx\n// src/pages/user/$user_id.page.tsx\n\nimport type { DataFunctionArgs, PageProps } from \"hwy\";\nimport { UserProfile, getUser } from \"./somewhere.js\";\n\nexport async function loader({ params }: DataFunctionArgs) {\n  return await getUser(params.user_id);\n}\n\nexport default async function ({ loaderData }: PageProps<typeof loader>) {\n  return <UserProfile user={loaderData} />;\n}\n```\n\nOr, if you prefer to fetch inside your components:\n\n```tsx\nexport default async function ({ params }: PageProps) {\n  const user = await getUser(params.user_id);\n\n  return <UserProfile user={user} />;\n}\n```\n\n## Get Started\n\nIf you want to dive right in, just open a terminal and run `npx create-hwy@latest` and follow the prompts.\n\nIf you'd prefer to read more first, take a peek at [our docs](https://hwy.dev/docs).\n\n## Acknowledgements\n\nHwy's APIs are obviously inspired by Remix. If Remix didn't exist, Hwy likely wouldn't exist either. Hwy doesn't use any Remix code, but it still owes a big thanks to the Remix team (past and present) for their top-tier patterns design. If you're building something huge and important today, use Remix.\n\n## Disclaimer\n\nHwy is in beta! Act accordingly.\n\n## License\n\nMIT License\n\nCopyright (c) 2023 Samuel J. Cook\n","readmeFilename":"README.md","_id":"hwy@0.4.2-beta.5","_integrity":"sha512-gc4mt5PuWJ/qYunDwTYNLbuchi59hfBYQfIEicTi+fE7mqsOEu+zOuNm4xQD3KiRypjxTCO58kENhpsOiQLYtg==","_resolved":"/private/var/folders/5f/8l64r22x6lz64v394wjbyybw0000gn/T/957f89c5cd36b153073a12caaafb600a/hwy-0.4.2-beta.5.tgz","_from":"file:hwy-0.4.2-beta.5.tgz","_nodeVersion":"18.18.0","_npmVersion":"9.8.1","dist":{"integrity":"sha512-gc4mt5PuWJ/qYunDwTYNLbuchi59hfBYQfIEicTi+fE7mqsOEu+zOuNm4xQD3KiRypjxTCO58kENhpsOiQLYtg==","shasum":"e44ae31cfd896259ba9f06160f898026b389a3f2","tarball":"https://registry.npmjs.org/hwy/-/hwy-0.4.2-beta.5.tgz","fileCount":6,"unpackedSize":93185,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQChmBZpg/8LTPCCwXp/m/HqviLPMyUJjzfxdkFIFb7nAgIhAJm9hLhZ4as9kEDuF0G6pARFvlcH0hcFJHbYRXbvSymS"}]},"_npmUser":{"name":"sjc5","email":"email@samcook.cc"},"directories":{},"maintainers":[{"name":"sjc5","email":"email@samcook.cc"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/hwy_0.4.2-beta.5_1698044225171_0.3256764722658647"},"_hasShrinkwrap":false},"0.4.2-beta.6":{"name":"hwy","version":"0.4.2-beta.6","author":{"name":"Samuel J. Cook"},"license":"MIT","description":"Simple, lightweight, and flexible web framework, built on Hono and HTMX.","type":"module","main":"dist/index.js","devDependencies":{"@hono/node-server":"^1.2.0","@types/node":"^20.8.7","hono":"^3.8.3","tsup":"^7.2.0","@hwy-js/build":"0.4.2-beta.6","@hwy-js/dev":"0.4.2-beta.6"},"repository":{"type":"git","url":"git+https://github.com/hwy-js/hwy.git","directory":"packages/core"},"homepage":"https://hwy.dev","bugs":{"url":"https://github.com/hwy-js/hwy/issues"},"keywords":["simple","lightweight","flexible","framework","metaframework","web","typescript","htmx","hono","router","nested","routing","jsx","tsx","nextjs","remix"],"scripts":{"build":"rm -rf dist && tsup-node index.ts --format esm --dts","lint":"tsc","dev":"rm -rf dist && tsup-node index.ts --format esm --dts --watch --sourcemap","publish-beta":"npm publish --tag beta"},"types":"./dist/index.d.ts","readme":"# Hwy\n\nHwy is a simple, lightweight, and flexible web framework, built on Hono and HTMX.\n\n## Quick Start\n\n```bash\nnpx create-hwy@latest\n```\n\n## What is Hwy?\n\nHwy is a lot like NextJS or Remix, but it uses **_HTMX_** instead of React on the frontend.\n\nHwy lets you write **_React-style JSX_** in **_nested, file-based routes_**, with **_Remix-style actions and parallel loaders_**.\n\nPage components are async, so you can even **_fetch data in JSX_** if you want to (just be careful with waterfalls).\n\nThe backend server is built on **_Hono_**, so you have access to a rich, growing ecosystem with lots of middleware and wonderful docs.\n\nHwy is **_100% server-rendered_**, but with the HTMX defaults Hwy sets up for you out of the box, your app still **_feels like an SPA_**.\n\nLinks and forms are automatically **_progressively enhanced_** thanks to HTMX's `hx-boost` feature. Just use normal anchor tags and traditional form attributes.\n\nBecause Hwy replaces the **_full page_** on transitions by default, everything stays **_simple_**. You don't have to return different components from different endpoints (unless you want to).\n\nAnd best of all, **_anything you can do with Hono or HTMX, you can do with Hwy_**.\n\n## Features\n\n- Server-rendered JSX / TSX\n- Nested, file-based routing\n- Remix-style actions and parallel loaders\n- Async page components\n- Rich Hono middleware ecosystem\n- 100% type-safe\n- Server built on Hono\n- Client built on HTMX\n- Built-in critical CSS inlining\n- Live browser refresh during development\n- And more...\n\n## Guiding Principles\n\n- No speed limits\n- Numerous off-ramps\n- Smooth, safe roads\n- Clear traffic signs\n\n## Simple usage\n\nBelow is an example of a simple Hwy page. You'll notice it looks a lot like Remix, and you're right! Hwy is heavily inspired by Remix, but it uses HTMX instead of React.\n\n```tsx\n// src/pages/user/$user_id.page.tsx\n\nimport type { DataFunctionArgs, PageProps } from \"hwy\";\nimport { UserProfile, getUser } from \"./somewhere.js\";\n\nexport async function loader({ params }: DataFunctionArgs) {\n  return await getUser(params.user_id);\n}\n\nexport default async function ({ loaderData }: PageProps<typeof loader>) {\n  return <UserProfile user={loaderData} />;\n}\n```\n\nOr, if you prefer to fetch inside your components:\n\n```tsx\nexport default async function ({ params }: PageProps) {\n  const user = await getUser(params.user_id);\n\n  return <UserProfile user={user} />;\n}\n```\n\n## Get Started\n\nIf you want to dive right in, just open a terminal and run `npx create-hwy@latest` and follow the prompts.\n\nIf you'd prefer to read more first, take a peek at [our docs](https://hwy.dev/docs).\n\n## Acknowledgements\n\nHwy's APIs are obviously inspired by Remix. If Remix didn't exist, Hwy likely wouldn't exist either. Hwy doesn't use any Remix code, but it still owes a big thanks to the Remix team (past and present) for their top-tier patterns design. If you're building something huge and important today, use Remix.\n\n## Disclaimer\n\nHwy is in beta! Act accordingly.\n\n## License\n\nMIT License\n\nCopyright (c) 2023 Samuel J. Cook\n","readmeFilename":"README.md","_id":"hwy@0.4.2-beta.6","_integrity":"sha512-VtVcC5dzPHgALL3pAWRMQ84LYbuqVIdJtKiL9Ko8XYt2mM0XXk4QIT4BAXHCC7Xmja0omuy//5YQzh5zddlgzw==","_resolved":"/private/var/folders/5f/8l64r22x6lz64v394wjbyybw0000gn/T/bc8219411a47b45624cc5127452e7115/hwy-0.4.2-beta.6.tgz","_from":"file:hwy-0.4.2-beta.6.tgz","_nodeVersion":"18.18.0","_npmVersion":"9.8.1","dist":{"integrity":"sha512-VtVcC5dzPHgALL3pAWRMQ84LYbuqVIdJtKiL9Ko8XYt2mM0XXk4QIT4BAXHCC7Xmja0omuy//5YQzh5zddlgzw==","shasum":"6d165a75f5b815c22a7519ad064b2bf9dd239558","tarball":"https://registry.npmjs.org/hwy/-/hwy-0.4.2-beta.6.tgz","fileCount":6,"unpackedSize":93185,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCW1oWrnwTh/rhUCVTa+ZNfV7VXeExmbSzBwCmbqL/6JQIgb9vvhChLlYh78SluAm8hBhJDfXlc7bLj9n73kytGu2o="}]},"_npmUser":{"name":"sjc5","email":"email@samcook.cc"},"directories":{},"maintainers":[{"name":"sjc5","email":"email@samcook.cc"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/hwy_0.4.2-beta.6_1698045536990_0.9942642017591836"},"_hasShrinkwrap":false},"0.5.0-beta.0":{"name":"hwy","version":"0.5.0-beta.0","author":{"name":"Samuel J. Cook"},"license":"MIT","description":"Simple, lightweight, and flexible web framework, built on Hono and HTMX.","type":"module","main":"dist/index.js","scripts":{"build":"rm -rf dist && tsup-node index.ts --format esm --dts","lint":"tsc","dev":"rm -rf dist && tsup-node index.ts --format esm --dts --watch --sourcemap","publish-beta":"npm publish --tag beta","publish-non-beta":"npm publish"},"devDependencies":{"@hono/node-server":"^1.2.0","@hwy-js/build":"workspace:*","@hwy-js/dev":"workspace:*","@types/node":"^20.8.7","hono":"^3.8.3","tsup":"^7.2.0"},"repository":{"type":"git","url":"git+https://github.com/hwy-js/hwy.git","directory":"packages/core"},"homepage":"https://hwy.dev","bugs":{"url":"https://github.com/hwy-js/hwy/issues"},"keywords":["simple","lightweight","flexible","framework","metaframework","web","typescript","htmx","hono","router","nested","routing","jsx","tsx","nextjs","remix"],"_id":"hwy@0.5.0-beta.0","readme":"# Hwy\n\nHwy is a simple, lightweight, and flexible web framework, built on Hono and HTMX.\n\n<a href=\"https://pkg-size.dev/hwy\" target=\"_blank\">\n  <img\n    src=\"https://pkg-size.dev/badge/bundle/11742\"\n    title=\"Bundle size for hwy\"\n  />\n</a>\n\n## Quick Start\n\n```bash\nnpx create-hwy@latest\n```\n\n## What is Hwy?\n\nHwy is a lot like NextJS or Remix, but it uses **_HTMX_** instead of React on the frontend.\n\nHwy lets you write **_React-style JSX_** in **_nested, file-based routes_**, with **_Remix-style actions and parallel loaders_**.\n\nPage components are async, so you can even **_fetch data in JSX_** if you want to (just be careful with waterfalls).\n\nThe backend server is built on **_Hono_**, so you have access to a rich, growing ecosystem with lots of middleware and wonderful docs.\n\nHwy is **_100% server-rendered_**, but with the HTMX defaults Hwy sets up for you out of the box, your app still **_feels like an SPA_**.\n\nLinks and forms are automatically **_progressively enhanced_** thanks to HTMX's `hx-boost` feature. Just use normal anchor tags and traditional form attributes.\n\nBecause Hwy replaces the **_full page_** on transitions by default, everything stays **_simple_**. You don't have to return different components from different endpoints (unless you want to).\n\nAnd best of all, **_anything you can do with Hono or HTMX, you can do with Hwy_**.\n\n## Features\n\n- Server-rendered JSX / TSX\n- Nested, file-based routing\n- Remix-style actions and parallel loaders\n- Async page components\n- Rich Hono middleware ecosystem\n- 100% type-safe\n- Server built on Hono\n- Client built on HTMX\n- Built-in critical CSS inlining\n- Live browser refresh during development\n- And more...\n\n## Guiding Principles\n\n- No speed limits\n- Numerous off-ramps\n- Smooth, safe roads\n- Clear traffic signs\n\n## Simple usage\n\nBelow is an example of a simple Hwy page. You'll notice it looks a lot like Remix, and you're right! Hwy is heavily inspired by Remix, but it uses HTMX instead of React.\n\n```tsx\n// src/pages/user/$user_id.page.tsx\n\nimport type { DataFunctionArgs, PageProps } from \"hwy\";\nimport { UserProfile, getUser } from \"./somewhere.js\";\n\nexport async function loader({ params }: DataFunctionArgs) {\n  return await getUser(params.user_id);\n}\n\nexport default async function ({ loaderData }: PageProps<typeof loader>) {\n  return <UserProfile user={loaderData} />;\n}\n```\n\nOr, if you prefer to fetch inside your components:\n\n```tsx\nexport default async function ({ params }: PageProps) {\n  const user = await getUser(params.user_id);\n\n  return <UserProfile user={user} />;\n}\n```\n\n## Get Started\n\nIf you want to dive right in, just open a terminal and run `npx create-hwy@latest` and follow the prompts.\n\nIf you'd prefer to read more first, take a peek at [our docs](https://hwy.dev/docs).\n\n## Acknowledgements\n\nHwy's APIs are obviously inspired by Remix. If Remix didn't exist, Hwy likely wouldn't exist either. Hwy doesn't use any Remix code, but it still owes a big thanks to the Remix team (past and present) for their top-tier patterns design. If you're building something huge and important today, use Remix.\n\n## Disclaimer\n\nHwy is in beta! Act accordingly.\n\n## License\n\nMIT License\n\nCopyright (c) 2023 Samuel J. Cook\n","readmeFilename":"README.md","gitHead":"0dd12102ac8d9703136e14c8feb7f9e81713a91b","types":"./dist/index.d.ts","_nodeVersion":"18.18.0","_npmVersion":"9.8.1","dist":{"integrity":"sha512-dsDkUusKYGoynHC0URfWTV8Bn9OJQzv45vFJfrFTAqpIT/qdghkm4s4cNBq0YJOAA9DUcXeFuFzUBSaJUCRpcw==","shasum":"a8bac222a05e3fa542354749b77a749b118b28bc","tarball":"https://registry.npmjs.org/hwy/-/hwy-0.5.0-beta.0.tgz","fileCount":4,"unpackedSize":38154,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCJZeJDry7eVEtw6lsEvsOqBBYty+GnY+XRhh0xOiqY6AIhALCIStzUVk/oC2evgbE1V2tifbKRNZegiTbWKn4koWlE"}]},"_npmUser":{"name":"sjc5","email":"email@samcook.cc"},"directories":{},"maintainers":[{"name":"sjc5","email":"email@samcook.cc"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/hwy_0.5.0-beta.0_1698380038694_0.14699574733340381"},"_hasShrinkwrap":false},"0.5.0-beta.1":{"name":"hwy","version":"0.5.0-beta.1","author":{"name":"Samuel J. Cook"},"license":"MIT","description":"Simple, lightweight, and flexible web framework, built on Hono and HTMX.","type":"module","main":"dist/index.js","scripts":{"build":"rm -rf dist && tsup-node index.ts --format esm --dts","lint":"tsc","dev":"rm -rf dist && tsup-node index.ts --format esm --dts --watch --sourcemap","publish-beta":"npm publish --tag beta","publish-non-beta":"npm publish","update-latest":"pnpm update --latest"},"devDependencies":{"@hono/node-server":"^1.2.0","@hwy-js/build":"workspace:*","@hwy-js/dev":"workspace:*","@types/node":"^20.8.9","hono":"^3.8.4","tsup":"^7.2.0"},"repository":{"type":"git","url":"git+https://github.com/hwy-js/hwy.git","directory":"packages/core"},"homepage":"https://hwy.dev","bugs":{"url":"https://github.com/hwy-js/hwy/issues"},"keywords":["simple","lightweight","flexible","framework","metaframework","web","typescript","htmx","hono","router","nested","routing","jsx","tsx","nextjs","remix"],"_id":"hwy@0.5.0-beta.1","readme":"# Hwy\n\nHwy is a simple, lightweight, and flexible web framework, built on Hono and HTMX.\n\n<a href=\"https://pkg-size.dev/hwy\" target=\"_blank\">\n  <img\n    width=\"112\"\n    height=\"20\"\n    style=\"background:darkgray;border-radius:4px;\"\n    src=\"https://pkg-size.dev/badge/bundle/11742\"\n    title=\"Bundle size for hwy\"\n  />\n</a>\n\n## Quick Start\n\n```bash\nnpx create-hwy@latest\n```\n\n## What is Hwy?\n\nHwy is a lot like NextJS or Remix, but it uses **_HTMX_** instead of React on the frontend.\n\nHwy lets you write **_React-style JSX_** in **_nested, file-based routes_**, with **_Remix-style actions and parallel loaders_**.\n\nPage components are async, so you can even **_fetch data in JSX_** if you want to (just be careful with waterfalls).\n\nThe backend server is built on **_Hono_**, so you have access to a rich, growing ecosystem with lots of middleware and wonderful docs.\n\nHwy is **_100% server-rendered_**, but with the HTMX defaults Hwy sets up for you out of the box, your app still **_feels like an SPA_**.\n\nLinks and forms are automatically **_progressively enhanced_** thanks to HTMX's `hx-boost` feature. Just use normal anchor tags and traditional form attributes.\n\nBecause Hwy replaces the **_full page_** on transitions by default, everything stays **_simple_**. You don't have to return different components from different endpoints (unless you want to).\n\nAnd best of all, **_anything you can do with Hono or HTMX, you can do with Hwy_**.\n\n## Features\n\n- Server-rendered JSX / TSX\n- Nested, file-based routing\n- Remix-style actions and parallel loaders\n- Async page components\n- Rich Hono middleware ecosystem\n- 100% type-safe\n- Server built on Hono\n- Client built on HTMX\n- Built-in critical CSS inlining\n- Live browser refresh during development\n- And more...\n\n## Guiding Principles\n\n- No speed limits\n- Numerous off-ramps\n- Smooth, safe roads\n- Clear traffic signs\n\n## Simple usage\n\nBelow is an example of a simple Hwy page. You'll notice it looks a lot like Remix, and you're right! Hwy is heavily inspired by Remix, but it uses HTMX instead of React.\n\n```tsx\n// src/pages/user/$user_id.page.tsx\n\nimport type { DataFunctionArgs, PageProps } from \"hwy\";\nimport { UserProfile, getUser } from \"./somewhere.js\";\n\nexport async function loader({ params }: DataFunctionArgs) {\n  return await getUser(params.user_id);\n}\n\nexport default async function ({ loaderData }: PageProps<typeof loader>) {\n  return <UserProfile user={loaderData} />;\n}\n```\n\nOr, if you prefer to fetch inside your components:\n\n```tsx\nexport default async function ({ params }: PageProps) {\n  const user = await getUser(params.user_id);\n\n  return <UserProfile user={user} />;\n}\n```\n\n## Get Started\n\nIf you want to dive right in, just open a terminal and run `npx create-hwy@latest` and follow the prompts.\n\nIf you'd prefer to read more first, take a peek at [our docs](https://hwy.dev/docs).\n\n## Acknowledgements\n\nHwy's APIs are obviously inspired by Remix. If Remix didn't exist, Hwy likely wouldn't exist either. Hwy doesn't use any Remix code, but it still owes a big thanks to the Remix team (past and present) for their top-tier patterns design. If you're building something huge and important today, use Remix.\n\n## Disclaimer\n\nHwy is in beta! Act accordingly.\n\n## License\n\nMIT License\n\nCopyright (c) 2023 Samuel J. Cook\n","readmeFilename":"README.md","gitHead":"635089917090ceda46e8a1c4dd83407b4918a96a","types":"./dist/index.d.ts","_nodeVersion":"18.18.0","_npmVersion":"9.8.1","dist":{"integrity":"sha512-n2eK4HkTf0lIv4tsa+6aYc0aHJnxa1nHNh/Wv3I0ASNJo+cDp2PYIlLExp2DLOJZqv2WX6ufKRPBRdnTUoEBCQ==","shasum":"6de44bca429da1651ac7103c8ecdda7f555d85d6","tarball":"https://registry.npmjs.org/hwy/-/hwy-0.5.0-beta.1.tgz","fileCount":4,"unpackedSize":38282,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIDVOvpthNh4mcaCEPFa8tGVks9oExrJdWNJR1eiiY2ekAiEAlEEoVboiKOQgTntDb7LdhItCzHG6G5U6GR3pbuJ4a/8="}]},"_npmUser":{"name":"sjc5","email":"email@samcook.cc"},"directories":{},"maintainers":[{"name":"sjc5","email":"email@samcook.cc"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/hwy_0.5.0-beta.1_1698382181359_0.7576746742408771"},"_hasShrinkwrap":false},"0.5.0-beta.2":{"name":"hwy","version":"0.5.0-beta.2","author":{"name":"Samuel J. Cook"},"license":"MIT","description":"Simple, lightweight, and flexible web framework, built on Hono and HTMX.","type":"module","main":"dist/index.js","scripts":{"build":"rm -rf dist && tsup-node index.ts --format esm --dts","lint":"tsc","dev":"rm -rf dist && tsup-node index.ts --format esm --dts --watch --sourcemap","publish-beta":"npm publish --tag beta","publish-non-beta":"npm publish","update-latest":"pnpm update --latest"},"devDependencies":{"@hono/node-server":"^1.2.0","@hwy-js/build":"workspace:*","@hwy-js/dev":"workspace:*","@types/node":"^20.8.9","hono":"^3.8.4","tsup":"^7.2.0"},"repository":{"type":"git","url":"git+https://github.com/hwy-js/hwy.git","directory":"packages/core"},"homepage":"https://hwy.dev","bugs":{"url":"https://github.com/hwy-js/hwy/issues"},"keywords":["simple","lightweight","flexible","framework","metaframework","web","typescript","htmx","hono","router","nested","routing","jsx","tsx","nextjs","remix"],"_id":"hwy@0.5.0-beta.2","readme":"# Hwy\n\nHwy is a simple, lightweight, and flexible web framework, built on Hono and HTMX.\n\n<a href=\"https://pkg-size.dev/hwy\" target=\"_blank\">\n  <img\n    width=\"112\"\n    height=\"20\"\n    style=\"background:darkgray;border-radius:4px;\"\n    src=\"https://pkg-size.dev/badge/bundle/11742\"\n    title=\"Bundle size for hwy\"\n  />\n</a>\n\n## Quick Start\n\n```bash\nnpx create-hwy@latest\n```\n\n## What is Hwy?\n\nHwy is a lot like NextJS or Remix, but it uses **_HTMX_** instead of React on the frontend.\n\nHwy lets you write **_React-style JSX_** in **_nested, file-based routes_**, with **_Remix-style actions and parallel loaders_**.\n\nPage components are async, so you can even **_fetch data in JSX_** if you want to (just be careful with waterfalls).\n\nThe backend server is built on **_Hono_**, so you have access to a rich, growing ecosystem with lots of middleware and wonderful docs.\n\nHwy is **_100% server-rendered_**, but with the HTMX defaults Hwy sets up for you out of the box, your app still **_feels like an SPA_**.\n\nLinks and forms are automatically **_progressively enhanced_** thanks to HTMX's `hx-boost` feature. Just use normal anchor tags and traditional form attributes.\n\nBecause Hwy replaces the **_full page_** on transitions by default, everything stays **_simple_**. You don't have to return different components from different endpoints (unless you want to).\n\nAnd best of all, **_anything you can do with Hono or HTMX, you can do with Hwy_**.\n\n## Features\n\n- Server-rendered JSX / TSX\n- Nested, file-based routing\n- Remix-style actions and parallel loaders\n- Async page components\n- Rich Hono middleware ecosystem\n- 100% type-safe\n- Server built on Hono\n- Client built on HTMX\n- Built-in critical CSS inlining\n- Live browser refresh during development\n- And more...\n\n## Guiding Principles\n\n- No speed limits\n- Numerous off-ramps\n- Smooth, safe roads\n- Clear traffic signs\n\n## Simple usage\n\nBelow is an example of a simple Hwy page. You'll notice it looks a lot like Remix, and you're right! Hwy is heavily inspired by Remix, but it uses HTMX instead of React.\n\n```tsx\n// src/pages/user/$user_id.page.tsx\n\nimport type { DataFunctionArgs, PageProps } from \"hwy\";\nimport { UserProfile, getUser } from \"./somewhere.js\";\n\nexport async function loader({ params }: DataFunctionArgs) {\n  return await getUser(params.user_id);\n}\n\nexport default async function ({ loaderData }: PageProps<typeof loader>) {\n  return <UserProfile user={loaderData} />;\n}\n```\n\nOr, if you prefer to fetch inside your components:\n\n```tsx\nexport default async function ({ params }: PageProps) {\n  const user = await getUser(params.user_id);\n\n  return <UserProfile user={user} />;\n}\n```\n\n## Get Started\n\nIf you want to dive right in, just open a terminal and run `npx create-hwy@latest` and follow the prompts.\n\nIf you'd prefer to read more first, take a peek at [our docs](https://hwy.dev/docs).\n\n## Acknowledgements\n\nHwy's APIs are obviously inspired by Remix. If Remix didn't exist, Hwy likely wouldn't exist either. Hwy doesn't use any Remix code, but it still owes a big thanks to the Remix team (past and present) for their top-tier patterns design. If you're building something huge and important today, use Remix.\n\n## Disclaimer\n\nHwy is in beta! Act accordingly.\n\n## License\n\nMIT License\n\nCopyright (c) 2023 Samuel J. Cook\n","readmeFilename":"README.md","gitHead":"cefd1d08ac67fc2c00438163694dcef93223f14d","types":"./dist/index.d.ts","_nodeVersion":"18.18.0","_npmVersion":"9.8.1","dist":{"integrity":"sha512-cSaBJ7TBWkxTy4WDtaMzxjThgZpYoydGQwHkA8zYdO96sgUkVqhbKIFDqHPk3cG2akSrHmPKpvy/3kuPP8E0eA==","shasum":"bd72a1a24af41e713adac7b0df0e340d6f0db80b","tarball":"https://registry.npmjs.org/hwy/-/hwy-0.5.0-beta.2.tgz","fileCount":4,"unpackedSize":38282,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIBXQKWpvP+utOIlZRjy4CfD1E69IaXmwrQpUrzkBqbZlAiEA7kZj2ENzuF01JYEo89vi9Mx2dWbdDdAIi4dmK7DaP8A="}]},"_npmUser":{"name":"sjc5","email":"email@samcook.cc"},"directories":{},"maintainers":[{"name":"sjc5","email":"email@samcook.cc"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/hwy_0.5.0-beta.2_1698384851233_0.34507417720689126"},"_hasShrinkwrap":false},"0.5.0-beta.3":{"name":"hwy","version":"0.5.0-beta.3","author":{"name":"Samuel J. Cook"},"license":"MIT","description":"Simple, lightweight, and flexible web framework, built on Hono and HTMX.","type":"module","main":"dist/index.js","scripts":{"build":"rm -rf dist && tsup-node index.ts --format esm --dts","lint":"tsc","dev":"rm -rf dist && tsup-node index.ts --format esm --dts --watch --sourcemap","publish-beta":"npm publish --tag beta","publish-non-beta":"npm publish","update-latest":"pnpm update --latest","typecheck":"tsc --noEmit"},"devDependencies":{"@hono/node-server":"^1.2.0","@hwy-js/build":"workspace:*","@hwy-js/dev":"workspace:*","@types/node":"^20.8.9","hono":"^3.8.4","tsup":"^7.2.0"},"repository":{"type":"git","url":"git+https://github.com/hwy-js/hwy.git","directory":"packages/core"},"homepage":"https://hwy.dev","bugs":{"url":"https://github.com/hwy-js/hwy/issues"},"keywords":["simple","lightweight","flexible","framework","metaframework","web","typescript","htmx","hono","router","nested","routing","jsx","tsx","nextjs","remix"],"_id":"hwy@0.5.0-beta.3","readme":"# Hwy\n\nHwy is a simple, lightweight, and flexible web framework, built on Hono and HTMX.\n\n<a href=\"https://pkg-size.dev/hwy\" target=\"_blank\">\n  <img\n    width=\"112\"\n    height=\"20\"\n    style=\"background:darkgray;border-radius:4px;\"\n    src=\"https://pkg-size.dev/badge/bundle/11742\"\n    title=\"Bundle size for hwy\"\n  />\n</a>\n\n## Quick Start\n\n```bash\nnpx create-hwy@latest\n```\n\n## What is Hwy?\n\nHwy is a lot like NextJS or Remix, but it uses **_HTMX_** instead of React on the frontend.\n\nHwy lets you write **_React-style JSX_** in **_nested, file-based routes_**, with **_Remix-style actions and parallel loaders_**.\n\nPage components are async, so you can even **_fetch data in JSX_** if you want to (just be careful with waterfalls).\n\nThe backend server is built on **_Hono_**, so you have access to a rich, growing ecosystem with lots of middleware and wonderful docs.\n\nHwy is **_100% server-rendered_**, but with the HTMX defaults Hwy sets up for you out of the box, your app still **_feels like an SPA_**.\n\nLinks and forms are automatically **_progressively enhanced_** thanks to HTMX's `hx-boost` feature. Just use normal anchor tags and traditional form attributes.\n\nBecause Hwy replaces the **_full page_** on transitions by default, everything stays **_simple_**. You don't have to return different components from different endpoints (unless you want to).\n\nAnd best of all, **_anything you can do with Hono or HTMX, you can do with Hwy_**.\n\n## Features\n\n- Server-rendered JSX / TSX\n- Nested, file-based routing\n- Remix-style actions and parallel loaders\n- Async page components\n- Rich Hono middleware ecosystem\n- 100% type-safe\n- Server built on Hono\n- Client built on HTMX\n- Built-in critical CSS inlining\n- Live browser refresh during development\n- And more...\n\n## Guiding Principles\n\n- No speed limits\n- Numerous off-ramps\n- Smooth, safe roads\n- Clear traffic signs\n\n## Simple usage\n\nBelow is an example of a simple Hwy page. You'll notice it looks a lot like Remix, and you're right! Hwy is heavily inspired by Remix, but it uses HTMX instead of React.\n\n```tsx\n// src/pages/user/$user_id.page.tsx\n\nimport type { DataFunctionArgs, PageProps } from \"hwy\";\nimport { UserProfile, getUser } from \"./somewhere.js\";\n\nexport async function loader({ params }: DataFunctionArgs) {\n  return await getUser(params.user_id);\n}\n\nexport default async function ({ loaderData }: PageProps<typeof loader>) {\n  return <UserProfile user={loaderData} />;\n}\n```\n\nOr, if you prefer to fetch inside your components:\n\n```tsx\nexport default async function ({ params }: PageProps) {\n  const user = await getUser(params.user_id);\n\n  return <UserProfile user={user} />;\n}\n```\n\n## Get Started\n\nIf you want to dive right in, just open a terminal and run `npx create-hwy@latest` and follow the prompts.\n\nIf you'd prefer to read more first, take a peek at [our docs](https://hwy.dev/docs).\n\n## Acknowledgements\n\nHwy's APIs are obviously inspired by Remix. If Remix didn't exist, Hwy likely wouldn't exist either. Hwy doesn't use any Remix code, but it still owes a big thanks to the Remix team (past and present) for their top-tier patterns design. If you're building something huge and important today, use Remix.\n\n## Disclaimer\n\nHwy is in beta! Act accordingly.\n\n## License\n\nMIT License\n\nCopyright (c) 2023 Samuel J. Cook\n","readmeFilename":"README.md","gitHead":"861df57b8fb35814731eda4cf09592017a0aa16a","types":"./dist/index.d.ts","_nodeVersion":"18.18.0","_npmVersion":"9.8.1","dist":{"integrity":"sha512-smOndg1STHpvGny9ZYlQIggsROC7JursNvyhbld3hHTR4eV5ReI/te6vDf3y4gKKtDX3i4oi2JqouzEmrLDV7Q==","shasum":"4f979cfc6cd5a5e1d569d3372f707f3cbc2ef3dc","tarball":"https://registry.npmjs.org/hwy/-/hwy-0.5.0-beta.3.tgz","fileCount":4,"unpackedSize":38315,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIF0xZLxjOzRv9BB03YaRst3ZJnwq6LB9aLrcVQ3J+y1eAiEAv4VAiCJMg7Lc+oL5k4VtAVr/5xe/9/0ZFm2VhtZlK4k="}]},"_npmUser":{"name":"sjc5","email":"email@samcook.cc"},"directories":{},"maintainers":[{"name":"sjc5","email":"email@samcook.cc"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/hwy_0.5.0-beta.3_1698386633264_0.2037045698434079"},"_hasShrinkwrap":false},"0.5.0-beta.4":{"name":"hwy","version":"0.5.0-beta.4","author":{"name":"Samuel J. Cook"},"license":"MIT","description":"Simple, lightweight, and flexible web framework, built on Hono and HTMX.","type":"module","main":"dist/index.js","scripts":{"build":"rm -rf dist && tsup-node index.ts --format esm --dts","lint":"tsc","dev":"rm -rf dist && tsup-node index.ts --format esm --dts --watch --sourcemap","publish-beta":"npm publish --tag beta","publish-non-beta":"npm publish","update-latest":"pnpm update --latest","typecheck":"tsc --noEmit"},"devDependencies":{"@hono/node-server":"^1.2.0","@hwy-js/build":"workspace:*","@hwy-js/dev":"workspace:*","@types/node":"^20.8.9","hono":"^3.9.0","tsup":"^7.2.0"},"repository":{"type":"git","url":"git+https://github.com/hwy-js/hwy.git","directory":"packages/core"},"homepage":"https://hwy.dev","bugs":{"url":"https://github.com/hwy-js/hwy/issues"},"keywords":["simple","lightweight","flexible","framework","metaframework","web","typescript","htmx","hono","router","nested","routing","jsx","tsx","nextjs","remix"],"_id":"hwy@0.5.0-beta.4","readme":"# Hwy\n\nHwy is a simple, lightweight, and flexible web framework, built on Hono and HTMX.\n\n<a href=\"https://pkg-size.dev/hwy\" target=\"_blank\">\n  <img\n    width=\"112\"\n    height=\"20\"\n    style=\"background:darkgray;border-radius:4px;\"\n    src=\"https://pkg-size.dev/badge/bundle/11742\"\n    title=\"Bundle size for hwy\"\n  />\n</a>\n\n## Quick Start\n\n```bash\nnpx create-hwy@latest\n```\n\n## What is Hwy?\n\nHwy is a lot like NextJS or Remix, but it uses **_HTMX_** instead of React on the frontend.\n\nHwy lets you write **_React-style JSX_** in **_nested, file-based routes_**, with **_Remix-style actions and parallel loaders_**.\n\nPage components are async, so you can even **_fetch data in JSX_** if you want to (just be careful with waterfalls).\n\nThe backend server is built on **_Hono_**, so you have access to a rich, growing ecosystem with lots of middleware and wonderful docs.\n\nHwy is **_100% server-rendered_**, but with the HTMX defaults Hwy sets up for you out of the box, your app still **_feels like an SPA_**.\n\nLinks and forms are automatically **_progressively enhanced_** thanks to HTMX's `hx-boost` feature. Just use normal anchor tags and traditional form attributes.\n\nBecause Hwy replaces the **_full page_** on transitions by default, everything stays **_simple_**. You don't have to return different components from different endpoints (unless you want to).\n\nAnd best of all, **_anything you can do with Hono or HTMX, you can do with Hwy_**.\n\n## Features\n\n- Server-rendered JSX / TSX\n- Nested, file-based routing\n- Remix-style actions and parallel loaders\n- Async page components\n- Rich Hono middleware ecosystem\n- 100% type-safe\n- Server built on Hono\n- Client built on HTMX\n- Built-in critical CSS inlining\n- Live browser refresh during development\n- And more...\n\n## Guiding Principles\n\n- No speed limits\n- Numerous off-ramps\n- Smooth, safe roads\n- Clear traffic signs\n\n## Simple usage\n\nBelow is an example of a simple Hwy page. You'll notice it looks a lot like Remix, and you're right! Hwy is heavily inspired by Remix, but it uses HTMX instead of React.\n\n```tsx\n// src/pages/user/$user_id.page.tsx\n\nimport type { DataFunctionArgs, PageProps } from \"hwy\";\nimport { UserProfile, getUser } from \"./somewhere.js\";\n\nexport async function loader({ params }: DataFunctionArgs) {\n  return await getUser(params.user_id);\n}\n\nexport default async function ({ loaderData }: PageProps<typeof loader>) {\n  return <UserProfile user={loaderData} />;\n}\n```\n\nOr, if you prefer to fetch inside your components:\n\n```tsx\nexport default async function ({ params }: PageProps) {\n  const user = await getUser(params.user_id);\n\n  return <UserProfile user={user} />;\n}\n```\n\n## Get Started\n\nIf you want to dive right in, just open a terminal and run `npx create-hwy@latest` and follow the prompts.\n\nIf you'd prefer to read more first, take a peek at [our docs](https://hwy.dev/docs).\n\n## Acknowledgements\n\nHwy's APIs are obviously inspired by Remix. If Remix didn't exist, Hwy likely wouldn't exist either. Hwy doesn't use any Remix code, but it still owes a big thanks to the Remix team (past and present) for their top-tier patterns design. If you're building something huge and important today, use Remix.\n\n## Disclaimer\n\nHwy is in beta! Act accordingly.\n\n## License\n\nMIT License\n\nCopyright (c) 2023 Samuel J. Cook\n","readmeFilename":"README.md","gitHead":"107e3b3818583d929879398acbfdf97723f20373","types":"./dist/index.d.ts","_nodeVersion":"18.18.0","_npmVersion":"9.8.1","dist":{"integrity":"sha512-XgwiNfT8oS9FLy93viiEtNfnoh7vrgByl1qgQrYlrTWpioLTmjKKRGH3gYgLHe5Iav3uYaGCRF+Fk2bQTkQRhA==","shasum":"cce1670b97db4c4f166feedf5f4a555afa42d036","tarball":"https://registry.npmjs.org/hwy/-/hwy-0.5.0-beta.4.tgz","fileCount":4,"unpackedSize":38790,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIAt8ZM8WEFzcSv46DheHLwfKu2HqxeqXmQvVGo6ZqugXAiB8xKGANEVx9xnwCugDXNAErXEyUKbgITeqn27LBE+w7Q=="}]},"_npmUser":{"name":"sjc5","email":"email@samcook.cc"},"directories":{},"maintainers":[{"name":"sjc5","email":"email@samcook.cc"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/hwy_0.5.0-beta.4_1698523562726_0.506652138504212"},"_hasShrinkwrap":false},"0.5.0-beta.5":{"name":"hwy","version":"0.5.0-beta.5","author":{"name":"Samuel J. Cook"},"license":"MIT","description":"Simple, lightweight, and flexible web framework, built on Hono and HTMX.","type":"module","main":"dist/index.js","scripts":{"build":"rm -rf dist && tsup-node index.ts --format esm --dts","lint":"tsc","dev":"rm -rf dist && tsup-node index.ts --format esm --dts --watch --sourcemap","publish-beta":"npm publish --tag beta","publish-non-beta":"npm publish","update-latest":"pnpm update --latest","typecheck":"tsc --noEmit"},"devDependencies":{"@hono/node-server":"^1.2.0","@hwy-js/build":"workspace:*","@hwy-js/dev":"workspace:*","@types/node":"^20.8.9","hono":"^3.9.0","tsup":"^7.2.0"},"repository":{"type":"git","url":"git+https://github.com/hwy-js/hwy.git","directory":"packages/core"},"homepage":"https://hwy.dev","bugs":{"url":"https://github.com/hwy-js/hwy/issues"},"keywords":["simple","lightweight","flexible","framework","metaframework","web","typescript","htmx","hono","router","nested","routing","jsx","tsx","nextjs","remix"],"_id":"hwy@0.5.0-beta.5","readme":"# Hwy\n\nHwy is a simple, lightweight, and flexible web framework, built on Hono and HTMX.\n\n<a href=\"https://pkg-size.dev/hwy\" target=\"_blank\">\n  <img\n    width=\"112\"\n    height=\"20\"\n    style=\"background:darkgray;border-radius:4px;\"\n    src=\"https://pkg-size.dev/badge/bundle/11742\"\n    title=\"Bundle size for hwy\"\n  />\n</a>\n\n## Quick Start\n\n```bash\nnpx create-hwy@latest\n```\n\n## What is Hwy?\n\nHwy is a lot like NextJS or Remix, but it uses **_HTMX_** instead of React on the frontend.\n\nHwy lets you write **_React-style JSX_** in **_nested, file-based routes_**, with **_Remix-style actions and parallel loaders_**.\n\nPage components are async, so you can even **_fetch data in JSX_** if you want to (just be careful with waterfalls).\n\nThe backend server is built on **_Hono_**, so you have access to a rich, growing ecosystem with lots of middleware and wonderful docs.\n\nHwy is **_100% server-rendered_**, but with the HTMX defaults Hwy sets up for you out of the box, your app still **_feels like an SPA_**.\n\nLinks and forms are automatically **_progressively enhanced_** thanks to HTMX's `hx-boost` feature. Just use normal anchor tags and traditional form attributes.\n\nBecause Hwy replaces the **_full page_** on transitions by default, everything stays **_simple_**. You don't have to return different components from different endpoints (unless you want to).\n\nAnd best of all, **_anything you can do with Hono or HTMX, you can do with Hwy_**.\n\n## Features\n\n- Server-rendered JSX / TSX\n- Nested, file-based routing\n- Remix-style actions and parallel loaders\n- Async page components\n- Rich Hono middleware ecosystem\n- 100% type-safe\n- Server built on Hono\n- Client built on HTMX\n- Built-in critical CSS inlining\n- Live browser refresh during development\n- And more...\n\n## Guiding Principles\n\n- No speed limits\n- Numerous off-ramps\n- Smooth, safe roads\n- Clear traffic signs\n\n## Simple usage\n\nBelow is an example of a simple Hwy page. You'll notice it looks a lot like Remix, and you're right! Hwy is heavily inspired by Remix, but it uses HTMX instead of React.\n\n```tsx\n// src/pages/user/$user_id.page.tsx\n\nimport type { DataFunctionArgs, PageProps } from \"hwy\";\nimport { UserProfile, getUser } from \"./somewhere.js\";\n\nexport async function loader({ params }: DataFunctionArgs) {\n  return await getUser(params.user_id);\n}\n\nexport default async function ({ loaderData }: PageProps<typeof loader>) {\n  return <UserProfile user={loaderData} />;\n}\n```\n\nOr, if you prefer to fetch inside your components:\n\n```tsx\nexport default async function ({ params }: PageProps) {\n  const user = await getUser(params.user_id);\n\n  return <UserProfile user={user} />;\n}\n```\n\n## Get Started\n\nIf you want to dive right in, just open a terminal and run `npx create-hwy@latest` and follow the prompts.\n\nIf you'd prefer to read more first, take a peek at [our docs](https://hwy.dev/docs).\n\n## Acknowledgements\n\nHwy's APIs are obviously inspired by Remix. If Remix didn't exist, Hwy likely wouldn't exist either. Hwy doesn't use any Remix code, but it still owes a big thanks to the Remix team (past and present) for their top-tier patterns design. If you're building something huge and important today, use Remix.\n\n## Disclaimer\n\nHwy is in beta! Act accordingly.\n\n## License\n\nMIT License\n\nCopyright (c) 2023 Samuel J. Cook\n","readmeFilename":"README.md","gitHead":"f0390e8bfe1fdac7f959ee43ca7abe81e8b30560","types":"./dist/index.d.ts","_nodeVersion":"18.18.0","_npmVersion":"9.8.1","dist":{"integrity":"sha512-+mfHrVDTDOaW33SEzBnk6jOE6upcneJ/yJj6GcARidt+7/x4MA0oPuXZI7J8EqA9w+QNQ7pO/uUT65K/3aajNA==","shasum":"c1f5d6194f7f991188b925d7fbe56cecba24f539","tarball":"https://registry.npmjs.org/hwy/-/hwy-0.5.0-beta.5.tgz","fileCount":4,"unpackedSize":38937,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIBuPP94ld68KnNqhkObLCbuJfOM38z785/EYlKSIBUBKAiEAhLjSK9IfcVyZR3boy2eVgyy1XWRW9DSwugSICMh7FyA="}]},"_npmUser":{"name":"sjc5","email":"email@samcook.cc"},"directories":{},"maintainers":[{"name":"sjc5","email":"email@samcook.cc"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/hwy_0.5.0-beta.5_1698524350670_0.022471004525157934"},"_hasShrinkwrap":false},"0.5.0-beta.6":{"name":"hwy","version":"0.5.0-beta.6","author":{"name":"Samuel J. Cook"},"license":"MIT","description":"Simple, lightweight, and flexible web framework, built on Hono and HTMX.","type":"module","main":"dist/index.js","scripts":{"build":"rm -rf dist && tsup-node index.ts --format esm --dts","lint":"tsc","dev":"rm -rf dist && tsup-node index.ts --format esm --dts --watch --sourcemap","publish-beta":"npm publish --tag beta","publish-non-beta":"npm publish","update-latest":"pnpm update --latest","typecheck":"tsc --noEmit"},"devDependencies":{"@hono/node-server":"^1.2.0","@hwy-js/build":"workspace:*","@hwy-js/dev":"workspace:*","@types/node":"^20.8.9","hono":"^3.9.0","tsup":"^7.2.0"},"repository":{"type":"git","url":"git+https://github.com/hwy-js/hwy.git","directory":"packages/core"},"homepage":"https://hwy.dev","bugs":{"url":"https://github.com/hwy-js/hwy/issues"},"keywords":["simple","lightweight","flexible","framework","metaframework","web","typescript","htmx","hono","router","nested","routing","jsx","tsx","nextjs","remix"],"_id":"hwy@0.5.0-beta.6","readme":"# Hwy\n\nHwy is a simple, lightweight, and flexible web framework, built on Hono and HTMX.\n\n<a href=\"https://pkg-size.dev/hwy\" target=\"_blank\">\n  <img\n    width=\"112\"\n    height=\"20\"\n    style=\"background:darkgray;border-radius:4px;\"\n    src=\"https://pkg-size.dev/badge/bundle/11742\"\n    title=\"Bundle size for hwy\"\n  />\n</a>\n\n## Quick Start\n\n```bash\nnpx create-hwy@latest\n```\n\n## What is Hwy?\n\nHwy is a lot like NextJS or Remix, but it uses **_HTMX_** instead of React on the frontend.\n\nHwy lets you write **_React-style JSX_** in **_nested, file-based routes_**, with **_Remix-style actions and parallel loaders_**.\n\nPage components are async, so you can even **_fetch data in JSX_** if you want to (just be careful with waterfalls).\n\nThe backend server is built on **_Hono_**, so you have access to a rich, growing ecosystem with lots of middleware and wonderful docs.\n\nHwy is **_100% server-rendered_**, but with the HTMX defaults Hwy sets up for you out of the box, your app still **_feels like an SPA_**.\n\nLinks and forms are automatically **_progressively enhanced_** thanks to HTMX's `hx-boost` feature. Just use normal anchor tags and traditional form attributes.\n\nBecause Hwy replaces the **_full page_** on transitions by default, everything stays **_simple_**. You don't have to return different components from different endpoints (unless you want to).\n\nAnd best of all, **_anything you can do with Hono or HTMX, you can do with Hwy_**.\n\n## Features\n\n- Server-rendered JSX / TSX\n- Nested, file-based routing\n- Remix-style actions and parallel loaders\n- Async page components\n- Rich Hono middleware ecosystem\n- 100% type-safe\n- Server built on Hono\n- Client built on HTMX\n- Built-in critical CSS inlining\n- Live browser refresh during development\n- And more...\n\n## Guiding Principles\n\n- No speed limits\n- Numerous off-ramps\n- Smooth, safe roads\n- Clear traffic signs\n\n## Simple usage\n\nBelow is an example of a simple Hwy page. You'll notice it looks a lot like Remix, and you're right! Hwy is heavily inspired by Remix, but it uses HTMX instead of React.\n\n```tsx\n// src/pages/user/$user_id.page.tsx\n\nimport type { DataFunctionArgs, PageProps } from \"hwy\";\nimport { UserProfile, getUser } from \"./somewhere.js\";\n\nexport async function loader({ params }: DataFunctionArgs) {\n  return await getUser(params.user_id);\n}\n\nexport default async function ({ loaderData }: PageProps<typeof loader>) {\n  return <UserProfile user={loaderData} />;\n}\n```\n\nOr, if you prefer to fetch inside your components:\n\n```tsx\nexport default async function ({ params }: PageProps) {\n  const user = await getUser(params.user_id);\n\n  return <UserProfile user={user} />;\n}\n```\n\n## Get Started\n\nIf you want to dive right in, just open a terminal and run `npx create-hwy@latest` and follow the prompts.\n\nIf you'd prefer to read more first, take a peek at [our docs](https://hwy.dev/docs).\n\n## Acknowledgements\n\nHwy's APIs are obviously inspired by Remix. If Remix didn't exist, Hwy likely wouldn't exist either. Hwy doesn't use any Remix code, but it still owes a big thanks to the Remix team (past and present) for their top-tier patterns design. If you're building something huge and important today, use Remix.\n\n## Disclaimer\n\nHwy is in beta! Act accordingly.\n\n## License\n\nMIT License\n\nCopyright (c) 2023 Samuel J. Cook\n","readmeFilename":"README.md","gitHead":"6ca0649d467321b429f3ff877c1414e429452c09","types":"./dist/index.d.ts","_nodeVersion":"18.18.0","_npmVersion":"9.8.1","dist":{"integrity":"sha512-+OvMFylGORWDCjQHf5ysClhiks9LXsnbtLb17aGNKCa7f9wy7OkAzM/CXh62R4KixZZOwmlQw0ghFv4wV1TNFg==","shasum":"d173eeb5da93a1466a77b0c3879f7951585adbe9","tarball":"https://registry.npmjs.org/hwy/-/hwy-0.5.0-beta.6.tgz","fileCount":4,"unpackedSize":39094,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCCBNCSVxgwM+VEiaPkCv0gFPR/9V+g0/6ScLxtH0OUeAIgIgsVrMA0lHsSF+F9rNvLwOeEjR0a6pyZV560mbjlRR0="}]},"_npmUser":{"name":"sjc5","email":"email@samcook.cc"},"directories":{},"maintainers":[{"name":"sjc5","email":"email@samcook.cc"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/hwy_0.5.0-beta.6_1698536963902_0.10685860018852433"},"_hasShrinkwrap":false},"0.5.0-beta.7":{"name":"hwy","version":"0.5.0-beta.7","author":{"name":"Samuel J. Cook"},"license":"MIT","description":"Simple, lightweight, and flexible web framework, built on Hono and HTMX.","type":"module","main":"dist/index.js","scripts":{"build":"rm -rf dist && tsup-node index.ts --format esm --dts","lint":"tsc","dev":"rm -rf dist && tsup-node index.ts --format esm --dts --watch --sourcemap","publish-beta":"npm publish --tag beta","publish-non-beta":"npm publish","update-latest":"pnpm update --latest","typecheck":"tsc --noEmit"},"devDependencies":{"@hono/node-server":"^1.2.0","@hwy-js/build":"workspace:*","@hwy-js/dev":"workspace:*","@types/node":"^20.8.9","hono":"^3.9.0","tsup":"^7.2.0"},"repository":{"type":"git","url":"git+https://github.com/hwy-js/hwy.git","directory":"packages/core"},"homepage":"https://hwy.dev","bugs":{"url":"https://github.com/hwy-js/hwy/issues"},"keywords":["simple","lightweight","flexible","framework","metaframework","web","typescript","htmx","hono","router","nested","routing","jsx","tsx","nextjs","remix"],"_id":"hwy@0.5.0-beta.7","readme":"# Hwy\n\nHwy is a simple, lightweight, and flexible web framework, built on Hono and HTMX.\n\n<a href=\"https://pkg-size.dev/hwy\" target=\"_blank\">\n  <img\n    width=\"112\"\n    height=\"20\"\n    style=\"background:darkgray;border-radius:4px;\"\n    src=\"https://pkg-size.dev/badge/bundle/11742\"\n    title=\"Bundle size for hwy\"\n  />\n</a>\n\n## Quick Start\n\n```bash\nnpx create-hwy@latest\n```\n\n## What is Hwy?\n\nHwy is a lot like NextJS or Remix, but it uses **_HTMX_** instead of React on the frontend.\n\nHwy lets you write **_React-style JSX_** in **_nested, file-based routes_**, with **_Remix-style actions and parallel loaders_**.\n\nPage components are async, so you can even **_fetch data in JSX_** if you want to (just be careful with waterfalls).\n\nThe backend server is built on **_Hono_**, so you have access to a rich, growing ecosystem with lots of middleware and wonderful docs.\n\nHwy is **_100% server-rendered_**, but with the HTMX defaults Hwy sets up for you out of the box, your app still **_feels like an SPA_**.\n\nLinks and forms are automatically **_progressively enhanced_** thanks to HTMX's `hx-boost` feature. Just use normal anchor tags and traditional form attributes.\n\nBecause Hwy replaces the **_full page_** on transitions by default, everything stays **_simple_**. You don't have to return different components from different endpoints (unless you want to).\n\nAnd best of all, **_anything you can do with Hono or HTMX, you can do with Hwy_**.\n\n## Features\n\n- Server-rendered JSX / TSX\n- Nested, file-based routing\n- Remix-style actions and parallel loaders\n- Async page components\n- Rich Hono middleware ecosystem\n- 100% type-safe\n- Server built on Hono\n- Client built on HTMX\n- Built-in critical CSS inlining\n- Live browser refresh during development\n- And more...\n\n## Guiding Principles\n\n- No speed limits\n- Numerous off-ramps\n- Smooth, safe roads\n- Clear traffic signs\n\n## Simple usage\n\nBelow is an example of a simple Hwy page. You'll notice it looks a lot like Remix, and you're right! Hwy is heavily inspired by Remix, but it uses HTMX instead of React.\n\n```tsx\n// src/pages/user/$user_id.page.tsx\n\nimport type { DataFunctionArgs, PageProps } from \"hwy\";\nimport { UserProfile, getUser } from \"./somewhere.js\";\n\nexport async function loader({ params }: DataFunctionArgs) {\n  return await getUser(params.user_id);\n}\n\nexport default async function ({ loaderData }: PageProps<typeof loader>) {\n  return <UserProfile user={loaderData} />;\n}\n```\n\nOr, if you prefer to fetch inside your components:\n\n```tsx\nexport default async function ({ params }: PageProps) {\n  const user = await getUser(params.user_id);\n\n  return <UserProfile user={user} />;\n}\n```\n\n## Get Started\n\nIf you want to dive right in, just open a terminal and run `npx create-hwy@latest` and follow the prompts.\n\nIf you'd prefer to read more first, take a peek at [our docs](https://hwy.dev/docs).\n\n## Acknowledgements\n\nHwy's APIs are obviously inspired by Remix. If Remix didn't exist, Hwy likely wouldn't exist either. Hwy doesn't use any Remix code, but it still owes a big thanks to the Remix team (past and present) for their top-tier patterns design. If you're building something huge and important today, use Remix.\n\n## Disclaimer\n\nHwy is in beta! Act accordingly.\n\n## License\n\nMIT License\n\nCopyright (c) 2023 Samuel J. Cook\n","readmeFilename":"README.md","gitHead":"6ca0649d467321b429f3ff877c1414e429452c09","types":"./dist/index.d.ts","_nodeVersion":"18.18.0","_npmVersion":"9.8.1","dist":{"integrity":"sha512-mxGx8jo+G2X+g5N+1ZSYGumn4Z79bwugQufMKpAne7wR/12uyXXFWe57BiAEy8+wfaJKwztVvURSpZjhOm5ePQ==","shasum":"bfbf79f3ac2aa0edd6c34699af3864e0934ca8dc","tarball":"https://registry.npmjs.org/hwy/-/hwy-0.5.0-beta.7.tgz","fileCount":4,"unpackedSize":39056,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIDLvylsHHQSlLESF5Gq9EAMlYWS33YoyzVOcAcqSG09VAiAj9USKba2sw9CK9xg8ttvpKcMDGdlRIGtV27qFsn0KUw=="}]},"_npmUser":{"name":"sjc5","email":"email@samcook.cc"},"directories":{},"maintainers":[{"name":"sjc5","email":"email@samcook.cc"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/hwy_0.5.0-beta.7_1698538339392_0.5299502803503868"},"_hasShrinkwrap":false},"0.5.0-beta.8":{"name":"hwy","version":"0.5.0-beta.8","author":{"name":"Samuel J. Cook"},"license":"MIT","description":"Simple, lightweight, and flexible web framework, built on Hono and HTMX.","type":"module","main":"dist/index.js","scripts":{"build":"rm -rf dist && tsup-node index.ts --format esm --dts","lint":"tsc","dev":"rm -rf dist && tsup-node index.ts --format esm --dts --watch --sourcemap","publish-beta":"npm publish --tag beta","publish-non-beta":"npm publish","update-latest":"pnpm update --latest","typecheck":"tsc --noEmit"},"devDependencies":{"@hono/node-server":"^1.2.0","@hwy-js/build":"workspace:*","@hwy-js/dev":"workspace:*","@types/node":"^20.8.9","hono":"^3.9.0","tsup":"^7.2.0"},"repository":{"type":"git","url":"git+https://github.com/hwy-js/hwy.git","directory":"packages/core"},"homepage":"https://hwy.dev","bugs":{"url":"https://github.com/hwy-js/hwy/issues"},"keywords":["simple","lightweight","flexible","framework","metaframework","web","typescript","htmx","hono","router","nested","routing","jsx","tsx","nextjs","remix"],"_id":"hwy@0.5.0-beta.8","readme":"# Hwy\n\nHwy is a simple, lightweight, and flexible web framework, built on Hono and HTMX.\n\n<a href=\"https://pkg-size.dev/hwy\" target=\"_blank\">\n  <img\n    width=\"112\"\n    height=\"20\"\n    style=\"background:darkgray;border-radius:4px;\"\n    src=\"https://pkg-size.dev/badge/bundle/11742\"\n    title=\"Bundle size for hwy\"\n  />\n</a>\n\n## Quick Start\n\n```bash\nnpx create-hwy@latest\n```\n\n## What is Hwy?\n\nHwy is a lot like NextJS or Remix, but it uses **_HTMX_** instead of React on the frontend.\n\nHwy lets you write **_React-style JSX_** in **_nested, file-based routes_**, with **_Remix-style actions and parallel loaders_**.\n\nPage components are async, so you can even **_fetch data in JSX_** if you want to (just be careful with waterfalls).\n\nThe backend server is built on **_Hono_**, so you have access to a rich, growing ecosystem with lots of middleware and wonderful docs.\n\nHwy is **_100% server-rendered_**, but with the HTMX defaults Hwy sets up for you out of the box, your app still **_feels like an SPA_**.\n\nLinks and forms are automatically **_progressively enhanced_** thanks to HTMX's `hx-boost` feature. Just use normal anchor tags and traditional form attributes.\n\nBecause Hwy replaces the **_full page_** on transitions by default, everything stays **_simple_**. You don't have to return different components from different endpoints (unless you want to).\n\nAnd best of all, **_anything you can do with Hono or HTMX, you can do with Hwy_**.\n\n## Features\n\n- Server-rendered JSX / TSX\n- Nested, file-based routing\n- Remix-style actions and parallel loaders\n- Async page components\n- Rich Hono middleware ecosystem\n- 100% type-safe\n- Server built on Hono\n- Client built on HTMX\n- Built-in critical CSS inlining\n- Live browser refresh during development\n- And more...\n\n## Guiding Principles\n\n- No speed limits\n- Numerous off-ramps\n- Smooth, safe roads\n- Clear traffic signs\n\n## Simple usage\n\nBelow is an example of a simple Hwy page. You'll notice it looks a lot like Remix, and you're right! Hwy is heavily inspired by Remix, but it uses HTMX instead of React.\n\n```tsx\n// src/pages/user/$user_id.page.tsx\n\nimport type { DataFunctionArgs, PageProps } from \"hwy\";\nimport { UserProfile, getUser } from \"./somewhere.js\";\n\nexport async function loader({ params }: DataFunctionArgs) {\n  return await getUser(params.user_id);\n}\n\nexport default async function ({ loaderData }: PageProps<typeof loader>) {\n  return <UserProfile user={loaderData} />;\n}\n```\n\nOr, if you prefer to fetch inside your components:\n\n```tsx\nexport default async function ({ params }: PageProps) {\n  const user = await getUser(params.user_id);\n\n  return <UserProfile user={user} />;\n}\n```\n\n## Get Started\n\nIf you want to dive right in, just open a terminal and run `npx create-hwy@latest` and follow the prompts.\n\nIf you'd prefer to read more first, take a peek at [our docs](https://hwy.dev/docs).\n\n## Acknowledgements\n\nHwy's APIs are obviously inspired by Remix. If Remix didn't exist, Hwy likely wouldn't exist either. Hwy doesn't use any Remix code, but it still owes a big thanks to the Remix team (past and present) for their top-tier patterns design. If you're building something huge and important today, use Remix.\n\n## Disclaimer\n\nHwy is in beta! Act accordingly.\n\n## License\n\nMIT License\n\nCopyright (c) 2023 Samuel J. Cook\n","readmeFilename":"README.md","gitHead":"24f741e40cbf3a4fed00fe4f7dea61a5469330a3","types":"./dist/index.d.ts","_nodeVersion":"18.18.0","_npmVersion":"9.8.1","dist":{"integrity":"sha512-+JWR3YtYRtI4bY6ijEhDv+G3nSpKW2a7x+sB3gZxRUeJE3DvlXp5ERZaSm1FGmEqM2zEFHcxpEwg010GVD91Ag==","shasum":"e020562f6ba740551c106a70e5abe934a97a1bc1","tarball":"https://registry.npmjs.org/hwy/-/hwy-0.5.0-beta.8.tgz","fileCount":4,"unpackedSize":38938,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIDTgnptKSp5fROeCaIcCdsOphu5kGryAlo8x5EE5/Ey6AiAB5V4bc+pSO28CgokduimatyuEVmXX1N/xWu3oC5ghxA=="}]},"_npmUser":{"name":"sjc5","email":"email@samcook.cc"},"directories":{},"maintainers":[{"name":"sjc5","email":"email@samcook.cc"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/hwy_0.5.0-beta.8_1698539739302_0.7708439916375556"},"_hasShrinkwrap":false},"0.5.0-beta.9":{"name":"hwy","version":"0.5.0-beta.9","author":{"name":"Samuel J. Cook"},"license":"MIT","description":"Simple, lightweight, and flexible web framework, built on Hono and HTMX.","type":"module","main":"dist/index.js","scripts":{"build":"rm -rf dist && tsup-node index.ts --format esm --dts","lint":"tsc","dev":"rm -rf dist && tsup-node index.ts --format esm --dts --watch --sourcemap","publish-beta":"npm publish --tag beta","publish-non-beta":"npm publish","update-latest":"pnpm update --latest","typecheck":"tsc --noEmit"},"devDependencies":{"@hono/node-server":"^1.2.0","@hwy-js/build":"workspace:*","@hwy-js/dev":"workspace:*","@types/node":"^20.8.9","hono":"^3.9.0","tsup":"^7.2.0"},"repository":{"type":"git","url":"git+https://github.com/hwy-js/hwy.git","directory":"packages/core"},"homepage":"https://hwy.dev","bugs":{"url":"https://github.com/hwy-js/hwy/issues"},"keywords":["simple","lightweight","flexible","framework","metaframework","web","typescript","htmx","hono","router","nested","routing","jsx","tsx","nextjs","remix"],"_id":"hwy@0.5.0-beta.9","readme":"# Hwy\n\nHwy is a simple, lightweight, and flexible web framework, built on Hono and HTMX.\n\n<a href=\"https://pkg-size.dev/hwy\" target=\"_blank\">\n  <img\n    width=\"112\"\n    height=\"20\"\n    style=\"background:darkgray;border-radius:4px;\"\n    src=\"https://pkg-size.dev/badge/bundle/11742\"\n    title=\"Bundle size for hwy\"\n  />\n</a>\n\n## Quick Start\n\n```bash\nnpx create-hwy@latest\n```\n\n## What is Hwy?\n\nHwy is a lot like NextJS or Remix, but it uses **_HTMX_** instead of React on the frontend.\n\nHwy lets you write **_React-style JSX_** in **_nested, file-based routes_**, with **_Remix-style actions and parallel loaders_**.\n\nPage components are async, so you can even **_fetch data in JSX_** if you want to (just be careful with waterfalls).\n\nThe backend server is built on **_Hono_**, so you have access to a rich, growing ecosystem with lots of middleware and wonderful docs.\n\nHwy is **_100% server-rendered_**, but with the HTMX defaults Hwy sets up for you out of the box, your app still **_feels like an SPA_**.\n\nLinks and forms are automatically **_progressively enhanced_** thanks to HTMX's `hx-boost` feature. Just use normal anchor tags and traditional form attributes.\n\nBecause Hwy replaces the **_full page_** on transitions by default, everything stays **_simple_**. You don't have to return different components from different endpoints (unless you want to).\n\nAnd best of all, **_anything you can do with Hono or HTMX, you can do with Hwy_**.\n\n## Features\n\n- Server-rendered JSX / TSX\n- Nested, file-based routing\n- Remix-style actions and parallel loaders\n- Async page components\n- Rich Hono middleware ecosystem\n- 100% type-safe\n- Server built on Hono\n- Client built on HTMX\n- Built-in critical CSS inlining\n- Live browser refresh during development\n- And more...\n\n## Guiding Principles\n\n- No speed limits\n- Numerous off-ramps\n- Smooth, safe roads\n- Clear traffic signs\n\n## Simple usage\n\nBelow is an example of a simple Hwy page. You'll notice it looks a lot like Remix, and you're right! Hwy is heavily inspired by Remix, but it uses HTMX instead of React.\n\n```tsx\n// src/pages/user/$user_id.page.tsx\n\nimport type { DataFunctionArgs, PageProps } from \"hwy\";\nimport { UserProfile, getUser } from \"./somewhere.js\";\n\nexport async function loader({ params }: DataFunctionArgs) {\n  return await getUser(params.user_id);\n}\n\nexport default async function ({ loaderData }: PageProps<typeof loader>) {\n  return <UserProfile user={loaderData} />;\n}\n```\n\nOr, if you prefer to fetch inside your components:\n\n```tsx\nexport default async function ({ params }: PageProps) {\n  const user = await getUser(params.user_id);\n\n  return <UserProfile user={user} />;\n}\n```\n\n## Get Started\n\nIf you want to dive right in, just open a terminal and run `npx create-hwy@latest` and follow the prompts.\n\nIf you'd prefer to read more first, take a peek at [our docs](https://hwy.dev/docs).\n\n## Acknowledgements\n\nHwy's APIs are obviously inspired by Remix. If Remix didn't exist, Hwy likely wouldn't exist either. Hwy doesn't use any Remix code, but it still owes a big thanks to the Remix team (past and present) for their top-tier patterns design. If you're building something huge and important today, use Remix.\n\n## Disclaimer\n\nHwy is in beta! Act accordingly.\n\n## License\n\nMIT License\n\nCopyright (c) 2023 Samuel J. Cook\n","readmeFilename":"README.md","gitHead":"bef525918b30201ea3bb419f8e929ba8171a8dde","types":"./dist/index.d.ts","_nodeVersion":"18.18.0","_npmVersion":"9.8.1","dist":{"integrity":"sha512-9jI3OyXqNGl/MSdZoGbuXgLLDNPdl/rDzCHlxeXQXF4V18ZfZtZN1A0XMG3lTsKpSVwk0FCNS1r5J32F+aqHSg==","shasum":"45f1b6c9212c564d62633cd36c2b021fb90378f9","tarball":"https://registry.npmjs.org/hwy/-/hwy-0.5.0-beta.9.tgz","fileCount":4,"unpackedSize":38938,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDMP967OSvjRSurFMu9Z+AX8GuMC5G8sMqxJU68Ya/ctwIgHDRNP6pcTZ/ZhK/bhdL7ctadpraj7MjtUKsB+8t97yo="}]},"_npmUser":{"name":"sjc5","email":"email@samcook.cc"},"directories":{},"maintainers":[{"name":"sjc5","email":"email@samcook.cc"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/hwy_0.5.0-beta.9_1698540323608_0.6864510014897742"},"_hasShrinkwrap":false},"0.5.0":{"name":"hwy","version":"0.5.0","author":{"name":"Samuel J. Cook"},"license":"MIT","description":"Simple, lightweight, and flexible web framework, built on Hono and HTMX.","type":"module","main":"dist/index.js","scripts":{"build":"rm -rf dist && tsup-node index.ts --format esm --dts","lint":"tsc","dev":"rm -rf dist && tsup-node index.ts --format esm --dts --watch --sourcemap","publish-beta":"npm publish --tag beta","publish-non-beta":"npm publish","update-latest":"pnpm update --latest","typecheck":"tsc --noEmit"},"devDependencies":{"@hono/node-server":"^1.2.0","@hwy-js/build":"workspace:*","@hwy-js/dev":"workspace:*","@types/node":"^20.8.9","hono":"^3.9.0","tsup":"^7.2.0"},"repository":{"type":"git","url":"git+https://github.com/hwy-js/hwy.git","directory":"packages/core"},"homepage":"https://hwy.dev","bugs":{"url":"https://github.com/hwy-js/hwy/issues"},"keywords":["simple","lightweight","flexible","framework","metaframework","web","typescript","htmx","hono","router","nested","routing","jsx","tsx","nextjs","remix"],"_id":"hwy@0.5.0","gitHead":"b9d97a70de8ec0d377066785939b8ac6b2fa37dc","types":"./dist/index.d.ts","_nodeVersion":"18.18.0","_npmVersion":"9.8.1","dist":{"integrity":"sha512-0xDsHTQyrS7QHl887F4MFixGMllzeaxUj0F/+iophLdB3RmGeH8hPdy13EzoWIAo8NkRKr+VpAExH3fbn2zweQ==","shasum":"ba596223ce00ebc3d5de3ef36e82d7090f87ae14","tarball":"https://registry.npmjs.org/hwy/-/hwy-0.5.0.tgz","fileCount":4,"unpackedSize":38931,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIBSuapiViZwhXG+lazO6C/2m0Om0jgDrjHWGwqm+XR1AAiBOyOtgR3DWWOESMucfFvP5LU+7jRTa+ApEfil2RW5cbw=="}]},"_npmUser":{"name":"sjc5","email":"email@samcook.cc"},"directories":{},"maintainers":[{"name":"sjc5","email":"email@samcook.cc"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/hwy_0.5.0_1698543142025_0.38514867113998497"},"_hasShrinkwrap":false},"0.6.0-beta.0":{"name":"hwy","version":"0.6.0-beta.0","author":{"name":"Samuel J. Cook"},"license":"MIT","description":"Simple, lightweight, and flexible web framework, built on Hono and HTMX.","type":"module","main":"dist/index.js","scripts":{"build":"rm -rf dist && tsup-node index.ts --format esm --dts","lint":"tsc","dev":"rm -rf dist && tsup-node index.ts --format esm --dts --watch --sourcemap","publish-beta":"npm publish --tag beta","publish-non-beta":"npm publish","update-latest":"pnpm update --latest","typecheck":"tsc --noEmit"},"devDependencies":{"@hono/node-server":"^1.2.0","@hwy-js/build":"workspace:*","@hwy-js/dev":"workspace:*","@types/node":"^20.8.9","hono":"^3.9.0","tsup":"^7.2.0"},"repository":{"type":"git","url":"git+https://github.com/hwy-js/hwy.git","directory":"packages/core"},"homepage":"https://hwy.dev","bugs":{"url":"https://github.com/hwy-js/hwy/issues"},"keywords":["simple","lightweight","flexible","framework","metaframework","web","typescript","htmx","hono","router","nested","routing","jsx","tsx","nextjs","remix"],"_id":"hwy@0.6.0-beta.0","readme":"# Hwy\n\nHwy is a simple, lightweight, and flexible web framework, built on Hono and HTMX.\n\n<a href=\"https://pkg-size.dev/hwy\" target=\"_blank\">\n  <img\n    width=\"112\"\n    height=\"20\"\n    style=\"background:darkgray;border-radius:4px;\"\n    src=\"https://pkg-size.dev/badge/bundle/11742\"\n    title=\"Bundle size for hwy\"\n  />\n</a>\n\n## Quick Start\n\n```bash\nnpx create-hwy@latest\n```\n\n## What is Hwy?\n\nHwy is a lot like NextJS or Remix, but it uses **_HTMX_** instead of React on the frontend.\n\nHwy lets you write **_React-style JSX_** in **_nested, file-based routes_**, with **_Remix-style actions and parallel loaders_**.\n\nPage components are async, so you can even **_fetch data in JSX_** if you want to (just be careful with waterfalls).\n\nThe backend server is built on **_Hono_**, so you have access to a rich, growing ecosystem with lots of middleware and wonderful docs.\n\nHwy is **_100% server-rendered_**, but with the HTMX defaults Hwy sets up for you out of the box, your app still **_feels like an SPA_**.\n\nLinks and forms are automatically **_progressively enhanced_** thanks to HTMX's `hx-boost` feature. Just use normal anchor tags and traditional form attributes.\n\nBecause Hwy replaces the **_full page_** on transitions by default, everything stays **_simple_**. You don't have to return different components from different endpoints (unless you want to).\n\nAnd best of all, **_anything you can do with Hono or HTMX, you can do with Hwy_**.\n\n## Features\n\n- Server-rendered JSX / TSX\n- Nested, file-based routing\n- Remix-style actions and parallel loaders\n- Async page components\n- Rich Hono middleware ecosystem\n- 100% type-safe\n- Server built on Hono\n- Client built on HTMX\n- Built-in critical CSS inlining\n- Live browser refresh during development\n- And more...\n\n## Guiding Principles\n\n- No speed limits\n- Numerous off-ramps\n- Smooth, safe roads\n- Clear traffic signs\n\n## Simple usage\n\nBelow is an example of a simple Hwy page. You'll notice it looks a lot like Remix, and you're right! Hwy is heavily inspired by Remix, but it uses HTMX instead of React.\n\n```tsx\n// src/pages/user/$user_id.page.tsx\n\nimport type { DataFunctionArgs, PageProps } from \"hwy\";\nimport { UserProfile, getUser } from \"./somewhere.js\";\n\nexport async function loader({ params }: DataFunctionArgs) {\n  return await getUser(params.user_id);\n}\n\nexport default async function ({ loaderData }: PageProps<typeof loader>) {\n  return <UserProfile user={loaderData} />;\n}\n```\n\nOr, if you prefer to fetch inside your components:\n\n```tsx\nexport default async function ({ params }: PageProps) {\n  const user = await getUser(params.user_id);\n\n  return <UserProfile user={user} />;\n}\n```\n\n## Get Started\n\nIf you want to dive right in, just open a terminal and run `npx create-hwy@latest` and follow the prompts.\n\nIf you'd prefer to read more first, take a peek at [our docs](https://hwy.dev/docs).\n\n## Acknowledgements\n\nHwy's APIs are obviously inspired by Remix. If Remix didn't exist, Hwy likely wouldn't exist either. Hwy doesn't use any Remix code, but it still owes a big thanks to the Remix team (past and present) for their top-tier patterns design. If you're building something huge and important today, use Remix.\n\n## Disclaimer\n\nHwy is in beta! Act accordingly.\n\n## License\n\nMIT License\n\nCopyright (c) 2023 Samuel J. Cook\n","readmeFilename":"README.md","gitHead":"259d3c2f16e635916be99f42f65c16e773b94d05","types":"./dist/index.d.ts","_nodeVersion":"18.18.0","_npmVersion":"9.8.1","dist":{"integrity":"sha512-e1x0QKOTUsBZz0rIZIKmd0q9euZHaDGQCu2u7W0Tbd0w0iPYf67c2GDWknOV6P3TG/wyNudu6YW/9nTpjKvhSA==","shasum":"b826f862e20958440fa34948ad01e310b080421f","tarball":"https://registry.npmjs.org/hwy/-/hwy-0.6.0-beta.0.tgz","fileCount":4,"unpackedSize":39169,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIA9J4lgxbwh0kMG/2ozLjqK03jkpUmGNqg0+kGJ30MxIAiEA+xkOHGSkF9NbWY8I6FFxFIJ1ZBynx57URiE0U6fS6eY="}]},"_npmUser":{"name":"sjc5","email":"email@samcook.cc"},"directories":{},"maintainers":[{"name":"sjc5","email":"email@samcook.cc"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/hwy_0.6.0-beta.0_1698632246629_0.17263278699443996"},"_hasShrinkwrap":false},"0.6.0-beta.1":{"name":"hwy","version":"0.6.0-beta.1","author":{"name":"Samuel J. Cook"},"license":"MIT","description":"Simple, lightweight, and flexible web framework, built on Hono and HTMX.","type":"module","main":"dist/index.js","scripts":{"build":"rm -rf dist && tsup-node index.ts --format esm --dts","lint":"tsc","dev":"rm -rf dist && tsup-node index.ts --format esm --dts --watch --sourcemap","publish-beta":"npm publish --tag beta","publish-non-beta":"npm publish","update-latest":"pnpm update --latest","typecheck":"tsc --noEmit"},"devDependencies":{"@hono/node-server":"^1.2.0","@hwy-js/build":"workspace:*","@hwy-js/dev":"workspace:*","@types/node":"^20.8.9","hono":"^3.9.0","tsup":"^7.2.0"},"repository":{"type":"git","url":"git+https://github.com/hwy-js/hwy.git","directory":"packages/core"},"homepage":"https://hwy.dev","bugs":{"url":"https://github.com/hwy-js/hwy/issues"},"keywords":["simple","lightweight","flexible","framework","metaframework","web","typescript","htmx","hono","router","nested","routing","jsx","tsx","nextjs","remix"],"_id":"hwy@0.6.0-beta.1","readme":"# Hwy\n\nHwy is a simple, lightweight, and flexible web framework, built on Hono and HTMX.\n\n<a href=\"https://pkg-size.dev/hwy\" target=\"_blank\">\n  <img\n    width=\"112\"\n    height=\"20\"\n    style=\"background:darkgray;border-radius:4px;\"\n    src=\"https://pkg-size.dev/badge/bundle/11742\"\n    title=\"Bundle size for hwy\"\n  />\n</a>\n\n## Quick Start\n\n```bash\nnpx create-hwy@latest\n```\n\n## What is Hwy?\n\nHwy is a lot like NextJS or Remix, but it uses **_HTMX_** instead of React on the frontend.\n\nHwy lets you write **_React-style JSX_** in **_nested, file-based routes_**, with **_Remix-style actions and parallel loaders_**.\n\nPage components are async, so you can even **_fetch data in JSX_** if you want to (just be careful with waterfalls).\n\nThe backend server is built on **_Hono_**, so you have access to a rich, growing ecosystem with lots of middleware and wonderful docs.\n\nHwy is **_100% server-rendered_**, but with the HTMX defaults Hwy sets up for you out of the box, your app still **_feels like an SPA_**.\n\nLinks and forms are automatically **_progressively enhanced_** thanks to HTMX's `hx-boost` feature. Just use normal anchor tags and traditional form attributes.\n\nBecause Hwy replaces the **_full page_** on transitions by default, everything stays **_simple_**. You don't have to return different components from different endpoints (unless you want to).\n\nAnd best of all, **_anything you can do with Hono or HTMX, you can do with Hwy_**.\n\n## Features\n\n- Server-rendered JSX / TSX\n- Nested, file-based routing\n- Remix-style actions and parallel loaders\n- Async page components\n- Rich Hono middleware ecosystem\n- 100% type-safe\n- Server built on Hono\n- Client built on HTMX\n- Built-in critical CSS inlining\n- Live browser refresh during development\n- And more...\n\n## Guiding Principles\n\n- No speed limits\n- Numerous off-ramps\n- Smooth, safe roads\n- Clear traffic signs\n\n## Simple usage\n\nBelow is an example of a simple Hwy page. You'll notice it looks a lot like Remix, and you're right! Hwy is heavily inspired by Remix, but it uses HTMX instead of React.\n\n```tsx\n// src/pages/user/$user_id.page.tsx\n\nimport type { DataFunctionArgs, PageProps } from \"hwy\";\nimport { UserProfile, getUser } from \"./somewhere.js\";\n\nexport async function loader({ params }: DataFunctionArgs) {\n  return await getUser(params.user_id);\n}\n\nexport default async function ({ loaderData }: PageProps<typeof loader>) {\n  return <UserProfile user={loaderData} />;\n}\n```\n\nOr, if you prefer to fetch inside your components:\n\n```tsx\nexport default async function ({ params }: PageProps) {\n  const user = await getUser(params.user_id);\n\n  return <UserProfile user={user} />;\n}\n```\n\n## Get Started\n\nIf you want to dive right in, just open a terminal and run `npx create-hwy@latest` and follow the prompts.\n\nIf you'd prefer to read more first, take a peek at [our docs](https://hwy.dev/docs).\n\n## Acknowledgements\n\nHwy's APIs are obviously inspired by Remix. If Remix didn't exist, Hwy likely wouldn't exist either. Hwy doesn't use any Remix code, but it still owes a big thanks to the Remix team (past and present) for their top-tier patterns design. If you're building something huge and important today, use Remix.\n\n## Disclaimer\n\nHwy is in beta! Act accordingly.\n\n## License\n\nMIT License\n\nCopyright (c) 2023 Samuel J. Cook\n","readmeFilename":"README.md","gitHead":"28f8411f143c58ce374d8262038e342fe1f4a7b1","types":"./dist/index.d.ts","_nodeVersion":"18.18.0","_npmVersion":"9.8.1","dist":{"integrity":"sha512-Y690XlJQv3qxdRNKGSrhLNLx/Rq61bPMR2RGuWnHvq29SwEiP0/sAhPz/j9ri2Bwk0V4+/WUluha5Q110uHtHQ==","shasum":"5bf311d6d3bb0b38add145519d742eb8c859f20e","tarball":"https://registry.npmjs.org/hwy/-/hwy-0.6.0-beta.1.tgz","fileCount":4,"unpackedSize":38999,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQClPxmGsZYHajtSTicQJTiEj3ec9/tX8sBdsv08nGde5AIhAKFA54cE8ijAHxrura96jQ1fElJdWFydlcYB+WZK4goY"}]},"_npmUser":{"name":"sjc5","email":"email@samcook.cc"},"directories":{},"maintainers":[{"name":"sjc5","email":"email@samcook.cc"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/hwy_0.6.0-beta.1_1698725194223_0.9270001104794021"},"_hasShrinkwrap":false},"0.6.0-beta.2":{"name":"hwy","version":"0.6.0-beta.2","author":{"name":"Samuel J. Cook"},"license":"MIT","description":"Simple, lightweight, and flexible web framework, built on Hono and HTMX.","type":"module","main":"dist/index.js","scripts":{"build":"rm -rf dist && tsup-node index.ts --format esm --dts","lint":"tsc","dev":"rm -rf dist && tsup-node index.ts --format esm --dts --watch --sourcemap","publish-beta":"npm publish --tag beta","publish-non-beta":"npm publish","update-latest":"pnpm update --latest","typecheck":"tsc --noEmit"},"devDependencies":{"@hono/node-server":"^1.2.0","@hwy-js/build":"workspace:*","@hwy-js/dev":"workspace:*","@types/node":"^20.8.9","hono":"^3.9.0","tsup":"^7.2.0"},"repository":{"type":"git","url":"git+https://github.com/hwy-js/hwy.git","directory":"packages/core"},"homepage":"https://hwy.dev","bugs":{"url":"https://github.com/hwy-js/hwy/issues"},"keywords":["simple","lightweight","flexible","framework","metaframework","web","typescript","htmx","hono","router","nested","routing","jsx","tsx","nextjs","remix"],"_id":"hwy@0.6.0-beta.2","readme":"# Hwy\n\nHwy is a simple, lightweight, and flexible web framework, built on Hono and HTMX.\n\n<a href=\"https://pkg-size.dev/hwy\" target=\"_blank\">\n  <img\n    width=\"112\"\n    height=\"20\"\n    style=\"background:darkgray;border-radius:4px;\"\n    src=\"https://pkg-size.dev/badge/bundle/11742\"\n    title=\"Bundle size for hwy\"\n  />\n</a>\n\n## Quick Start\n\n```bash\nnpx create-hwy@latest\n```\n\n## What is Hwy?\n\nHwy is a lot like NextJS or Remix, but it uses **_HTMX_** instead of React on the frontend.\n\nHwy lets you write **_React-style JSX_** in **_nested, file-based routes_**, with **_Remix-style actions and parallel loaders_**.\n\nPage components are async, so you can even **_fetch data in JSX_** if you want to (just be careful with waterfalls).\n\nThe backend server is built on **_Hono_**, so you have access to a rich, growing ecosystem with lots of middleware and wonderful docs.\n\nHwy is **_100% server-rendered_**, but with the HTMX defaults Hwy sets up for you out of the box, your app still **_feels like an SPA_**.\n\nLinks and forms are automatically **_progressively enhanced_** thanks to HTMX's `hx-boost` feature. Just use normal anchor tags and traditional form attributes.\n\nBecause Hwy replaces the **_full page_** on transitions by default, everything stays **_simple_**. You don't have to return different components from different endpoints (unless you want to).\n\nAnd best of all, **_anything you can do with Hono or HTMX, you can do with Hwy_**.\n\n## Features\n\n- Server-rendered JSX / TSX\n- Nested, file-based routing\n- Remix-style actions and parallel loaders\n- Async page components\n- Rich Hono middleware ecosystem\n- 100% type-safe\n- Server built on Hono\n- Client built on HTMX\n- Built-in critical CSS inlining\n- Live browser refresh during development\n- And more...\n\n## Guiding Principles\n\n- No speed limits\n- Numerous off-ramps\n- Smooth, safe roads\n- Clear traffic signs\n\n## Simple usage\n\nBelow is an example of a simple Hwy page. You'll notice it looks a lot like Remix, and you're right! Hwy is heavily inspired by Remix, but it uses HTMX instead of React.\n\n```tsx\n// src/pages/user/$user_id.page.tsx\n\nimport type { DataFunctionArgs, PageProps } from \"hwy\";\nimport { UserProfile, getUser } from \"./somewhere.js\";\n\nexport async function loader({ params }: DataFunctionArgs) {\n  return await getUser(params.user_id);\n}\n\nexport default async function ({ loaderData }: PageProps<typeof loader>) {\n  return <UserProfile user={loaderData} />;\n}\n```\n\nOr, if you prefer to fetch inside your components:\n\n```tsx\nexport default async function ({ params }: PageProps) {\n  const user = await getUser(params.user_id);\n\n  return <UserProfile user={user} />;\n}\n```\n\n## Get Started\n\nIf you want to dive right in, just open a terminal and run `npx create-hwy@latest` and follow the prompts.\n\nIf you'd prefer to read more first, take a peek at [our docs](https://hwy.dev/docs).\n\n## Acknowledgements\n\nHwy's APIs are obviously inspired by Remix. If Remix didn't exist, Hwy likely wouldn't exist either. Hwy doesn't use any Remix code, but it still owes a big thanks to the Remix team (past and present) for their top-tier patterns design. If you're building something huge and important today, use Remix.\n\n## Disclaimer\n\nHwy is in beta! Act accordingly.\n\n## License\n\nMIT License\n\nCopyright (c) 2023 Samuel J. Cook\n","readmeFilename":"README.md","gitHead":"c565fb1457f3d6c69118010cb357e299bc4dfc20","types":"./dist/index.d.ts","_nodeVersion":"18.18.0","_npmVersion":"9.8.1","dist":{"integrity":"sha512-cSedVog06w3bsbkPBP41Piq1yU9R9pcwDEZPnUiTqgl0WtnQ5S+tW1D5DfsaTF+lTaQZl3QMN4F81iNAucPmxg==","shasum":"286a16eb6e971a804e604622152479c148c8275e","tarball":"https://registry.npmjs.org/hwy/-/hwy-0.6.0-beta.2.tgz","fileCount":4,"unpackedSize":38999,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCBe7v0CGSK05pbqizHVwcsb2kKAIvo/5RMR1bJwCTxrwIget8v+NwDB4GVIEhK7eYdfoOaIt44U9Pl7Q0VLObJyNY="}]},"_npmUser":{"name":"sjc5","email":"email@samcook.cc"},"directories":{},"maintainers":[{"name":"sjc5","email":"email@samcook.cc"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/hwy_0.6.0-beta.2_1698725962222_0.9400534077116052"},"_hasShrinkwrap":false},"0.6.0-beta.3":{"name":"hwy","version":"0.6.0-beta.3","author":{"name":"Samuel J. Cook"},"license":"MIT","description":"Simple, lightweight, and flexible web framework, built on Hono and HTMX.","type":"module","main":"dist/index.js","scripts":{"build":"rm -rf dist && tsup-node index.ts --format esm --dts","lint":"tsc","dev":"rm -rf dist && tsup-node index.ts --format esm --dts --watch --sourcemap","publish-beta":"npm publish --tag beta","publish-non-beta":"npm publish","update-latest":"pnpm update --latest","typecheck":"tsc --noEmit"},"devDependencies":{"@hono/node-server":"^1.2.0","@hwy-js/build":"workspace:*","@hwy-js/dev":"workspace:*","@types/node":"^20.8.10","hono":"^3.9.1","tsup":"^7.2.0"},"repository":{"type":"git","url":"git+https://github.com/hwy-js/hwy.git","directory":"packages/core"},"homepage":"https://hwy.dev","bugs":{"url":"https://github.com/hwy-js/hwy/issues"},"keywords":["simple","lightweight","flexible","framework","metaframework","web","typescript","htmx","hono","router","nested","routing","jsx","tsx","nextjs","remix"],"_id":"hwy@0.6.0-beta.3","readme":"# Hwy\n\nHwy is a simple, lightweight, and flexible web framework, built on Hono and HTMX.\n\n<a href=\"https://pkg-size.dev/hwy\" target=\"_blank\">\n  <img\n    width=\"112\"\n    height=\"20\"\n    style=\"background:darkgray;border-radius:4px;\"\n    src=\"https://pkg-size.dev/badge/bundle/11742\"\n    title=\"Bundle size for hwy\"\n  />\n</a>\n\n## Quick Start\n\n```bash\nnpx create-hwy@latest\n```\n\n## What is Hwy?\n\nHwy is a lot like NextJS or Remix, but it uses **_HTMX_** instead of React on the frontend.\n\nHwy lets you write **_React-style JSX_** in **_nested, file-based routes_**, with **_Remix-style actions and parallel loaders_**.\n\nPage components are async, so you can even **_fetch data in JSX_** if you want to (just be careful with waterfalls).\n\nThe backend server is built on **_Hono_**, so you have access to a rich, growing ecosystem with lots of middleware and wonderful docs.\n\nHwy is **_100% server-rendered_**, but with the HTMX defaults Hwy sets up for you out of the box, your app still **_feels like an SPA_**.\n\nLinks and forms are automatically **_progressively enhanced_** thanks to HTMX's `hx-boost` feature. Just use normal anchor tags and traditional form attributes.\n\nBecause Hwy replaces the **_full page_** on transitions by default, everything stays **_simple_**. You don't have to return different components from different endpoints (unless you want to).\n\nAnd best of all, **_anything you can do with Hono or HTMX, you can do with Hwy_**.\n\n## Features\n\n- Server-rendered JSX / TSX\n- Nested, file-based routing\n- Remix-style actions and parallel loaders\n- Async page components\n- Rich Hono middleware ecosystem\n- 100% type-safe\n- Server built on Hono\n- Client built on HTMX\n- Built-in critical CSS inlining\n- Live browser refresh during development\n- And more...\n\n## Guiding Principles\n\n- No speed limits\n- Numerous off-ramps\n- Smooth, safe roads\n- Clear traffic signs\n\n## Simple usage\n\nBelow is an example of a simple Hwy page. You'll notice it looks a lot like Remix, and you're right! Hwy is heavily inspired by Remix, but it uses HTMX instead of React.\n\n```tsx\n// src/pages/user/$user_id.page.tsx\n\nimport type { DataFunctionArgs, PageProps } from \"hwy\";\nimport { UserProfile, getUser } from \"./somewhere.js\";\n\nexport async function loader({ params }: DataFunctionArgs) {\n  return await getUser(params.user_id);\n}\n\nexport default async function ({ loaderData }: PageProps<typeof loader>) {\n  return <UserProfile user={loaderData} />;\n}\n```\n\nOr, if you prefer to fetch inside your components:\n\n```tsx\nexport default async function ({ params }: PageProps) {\n  const user = await getUser(params.user_id);\n\n  return <UserProfile user={user} />;\n}\n```\n\n## Get Started\n\nIf you want to dive right in, just open a terminal and run `npx create-hwy@latest` and follow the prompts.\n\nIf you'd prefer to read more first, take a peek at [our docs](https://hwy.dev/docs).\n\n## Acknowledgements\n\nHwy's APIs are obviously inspired by Remix. If Remix didn't exist, Hwy likely wouldn't exist either. Hwy doesn't use any Remix code, but it still owes a big thanks to the Remix team (past and present) for their top-tier patterns design. If you're building something huge and important today, use Remix.\n\n## Disclaimer\n\nHwy is in beta! Act accordingly.\n\n## License\n\nMIT License\n\nCopyright (c) 2023 Samuel J. Cook\n","readmeFilename":"README.md","gitHead":"a62b8217bf931bf61457b9e949e646bb018dd639","types":"./dist/index.d.ts","_nodeVersion":"18.18.0","_npmVersion":"9.8.1","dist":{"integrity":"sha512-ZSVltkORUBYL02wiPx1gWQqvwLRzlTiMg0arBPb53himrsnKRcuwdOv5Va6mbpvBI/h3b7cheW3qHZmSOnc+UA==","shasum":"21525efede45a58e089aec0831c1cdde781fead5","tarball":"https://registry.npmjs.org/hwy/-/hwy-0.6.0-beta.3.tgz","fileCount":4,"unpackedSize":39000,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQD+7tfY7/eLkRK5Z2jY9RU2+VpMQ9OLyDL64GeIR/8HVgIhAPqRRwiBmywirto35DFYo5ba/UYccLwI472Gs136EGxs"}]},"_npmUser":{"name":"sjc5","email":"email@samcook.cc"},"directories":{},"maintainers":[{"name":"sjc5","email":"email@samcook.cc"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/hwy_0.6.0-beta.3_1698813556022_0.6602138111381737"},"_hasShrinkwrap":false},"0.6.0":{"name":"hwy","version":"0.6.0","author":{"name":"Samuel J. Cook"},"license":"MIT","description":"Simple, lightweight, and flexible web framework, built on Hono and HTMX.","type":"module","main":"dist/index.js","scripts":{"build":"rm -rf dist && tsup-node index.ts --format esm --dts","lint":"tsc","dev":"rm -rf dist && tsup-node index.ts --format esm --dts --watch --sourcemap","publish-beta":"npm publish --tag beta","publish-non-beta":"npm publish","update-latest":"pnpm update --latest","typecheck":"tsc --noEmit"},"devDependencies":{"@hono/node-server":"^1.2.0","@hwy-js/build":"workspace:*","@hwy-js/dev":"workspace:*","@types/node":"^20.8.10","hono":"^3.9.1","tsup":"^7.2.0"},"repository":{"type":"git","url":"git+https://github.com/hwy-js/hwy.git","directory":"packages/core"},"homepage":"https://hwy.dev","bugs":{"url":"https://github.com/hwy-js/hwy/issues"},"keywords":["simple","lightweight","flexible","framework","metaframework","web","typescript","htmx","hono","router","nested","routing","jsx","tsx","nextjs","remix"],"_id":"hwy@0.6.0","gitHead":"334dd147986a2ecdbd0c6cf3d749fc7aac5736a8","types":"./dist/index.d.ts","_nodeVersion":"18.18.0","_npmVersion":"9.8.1","dist":{"integrity":"sha512-h6XOfoU9jMQPdBQHAaZRuJjWwk7XGCZkFvBKNSqXNl0AjuS56MfxiQL6pLwCfo+vE8ihJ8/reJoEFJPHWgRWmg==","shasum":"1c5647e948ae9f56cf7cb633a3cf9b97f093b426","tarball":"https://registry.npmjs.org/hwy/-/hwy-0.6.0.tgz","fileCount":4,"unpackedSize":38993,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIE8WDf+OBcniGaW5Jeegr+Z2Wtwl7wtkbwTrgSWCuZmrAiEA9J3shqEw5tpXZ7UF9QSRuNnyOkmdoeqWoC/N55b1XMk="}]},"_npmUser":{"name":"sjc5","email":"email@samcook.cc"},"directories":{},"maintainers":[{"name":"sjc5","email":"email@samcook.cc"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/hwy_0.6.0_1698878547802_0.8306520773190815"},"_hasShrinkwrap":false},"0.6.1-beta.0":{"name":"hwy","version":"0.6.1-beta.0","author":{"name":"Samuel J. Cook"},"license":"MIT","description":"Simple, lightweight, and flexible web framework, built on Hono and HTMX.","type":"module","main":"dist/index.js","scripts":{"build":"rm -rf dist && tsup-node index.ts --format esm --dts","lint":"tsc","dev":"rm -rf dist && tsup-node index.ts --format esm --dts --watch --sourcemap","publish-beta":"npm publish --tag beta","publish-non-beta":"npm publish","update-latest":"pnpm update --latest","typecheck":"tsc --noEmit"},"devDependencies":{"@hono/node-server":"^1.2.0","@hwy-js/build":"workspace:*","@hwy-js/dev":"workspace:*","@types/node":"^20.8.10","hono":"^3.9.1","tsup":"^7.2.0"},"repository":{"type":"git","url":"git+https://github.com/hwy-js/hwy.git","directory":"packages/core"},"homepage":"https://hwy.dev","bugs":{"url":"https://github.com/hwy-js/hwy/issues"},"keywords":["simple","lightweight","flexible","framework","metaframework","web","typescript","htmx","hono","router","nested","routing","jsx","tsx","nextjs","remix"],"_id":"hwy@0.6.1-beta.0","readme":"# Hwy\n\nHwy is a simple, lightweight, and flexible web framework, built on Hono and HTMX.\n\n<a href=\"https://pkg-size.dev/hwy\" target=\"_blank\">\n  <img\n    width=\"112\"\n    height=\"20\"\n    style=\"background:darkgray;border-radius:4px;\"\n    src=\"https://pkg-size.dev/badge/bundle/11742\"\n    title=\"Bundle size for hwy\"\n  />\n</a>\n\n## Quick Start\n\n```bash\nnpx create-hwy@latest\n```\n\n## What is Hwy?\n\nHwy is a lot like NextJS or Remix, but it uses **_HTMX_** instead of React on the frontend.\n\nHwy lets you write **_React-style JSX_** in **_nested, file-based routes_**, with **_Remix-style actions and parallel loaders_**.\n\nPage components are async, so you can even **_fetch data in JSX_** if you want to (just be careful with waterfalls).\n\nThe backend server is built on **_Hono_**, so you have access to a rich, growing ecosystem with lots of middleware and wonderful docs.\n\nHwy is **_100% server-rendered_**, but with the HTMX defaults Hwy sets up for you out of the box, your app still **_feels like an SPA_**.\n\nLinks and forms are automatically **_progressively enhanced_** thanks to HTMX's `hx-boost` feature. Just use normal anchor tags and traditional form attributes.\n\nBecause Hwy replaces the **_full page_** on transitions by default, everything stays **_simple_**. You don't have to return different components from different endpoints (unless you want to).\n\nAnd best of all, **_anything you can do with Hono or HTMX, you can do with Hwy_**.\n\n## Features\n\n- Server-rendered JSX / TSX\n- Nested, file-based routing\n- Remix-style actions and parallel loaders\n- Async page components\n- Rich Hono middleware ecosystem\n- 100% type-safe\n- Server built on Hono\n- Client built on HTMX\n- Built-in critical CSS inlining\n- Live browser refresh during development\n- And more...\n\n## Guiding Principles\n\n- No speed limits\n- Numerous off-ramps\n- Smooth, safe roads\n- Clear traffic signs\n\n## Simple usage\n\nBelow is an example of a simple Hwy page. You'll notice it looks a lot like Remix, and you're right! Hwy is heavily inspired by Remix, but it uses HTMX instead of React.\n\n```tsx\n// src/pages/user/$user_id.page.tsx\n\nimport type { DataFunctionArgs, PageProps } from \"hwy\";\nimport { UserProfile, getUser } from \"./somewhere.js\";\n\nexport async function loader({ params }: DataFunctionArgs) {\n  return await getUser(params.user_id);\n}\n\nexport default async function ({ loaderData }: PageProps<typeof loader>) {\n  return <UserProfile user={loaderData} />;\n}\n```\n\nOr, if you prefer to fetch inside your components:\n\n```tsx\nexport default async function ({ params }: PageProps) {\n  const user = await getUser(params.user_id);\n\n  return <UserProfile user={user} />;\n}\n```\n\n## Get Started\n\nIf you want to dive right in, just open a terminal and run `npx create-hwy@latest` and follow the prompts.\n\nIf you'd prefer to read more first, take a peek at [our docs](https://hwy.dev/docs).\n\n## Acknowledgements\n\nHwy's APIs are obviously inspired by Remix. If Remix didn't exist, Hwy likely wouldn't exist either. Hwy doesn't use any Remix code, but it still owes a big thanks to the Remix team (past and present) for their top-tier patterns design. If you're building something huge and important today, use Remix.\n\n## Disclaimer\n\nHwy is in beta! Act accordingly.\n\n## License\n\nMIT License\n\nCopyright (c) 2023 Samuel J. Cook\n","readmeFilename":"README.md","gitHead":"67b17df26134ba026d40d9dd7e1432876e4613c5","types":"./dist/index.d.ts","_nodeVersion":"18.18.0","_npmVersion":"9.8.1","dist":{"integrity":"sha512-XXRV2M/zOgamLnnpUooq9UwnPSqPCypQw/rKHmAwEbO1T2Xfx0qbUsmfh9Hn2ObeaIw8CGYQAw1/hKOTPSqdmg==","shasum":"b94dd5abf83e0245356a0b911dd99b42d35f32b8","tarball":"https://registry.npmjs.org/hwy/-/hwy-0.6.1-beta.0.tgz","fileCount":4,"unpackedSize":39000,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCICkQQ0CrcBjXJA6wcl7hDK21t20dc5H3/IU8sl+HsMFBAiEAlZEzzJmPlQme3ahbFMdxCuR3AK4rhPwkwUEyqbwSvV0="}]},"_npmUser":{"name":"sjc5","email":"email@samcook.cc"},"directories":{},"maintainers":[{"name":"sjc5","email":"email@samcook.cc"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/hwy_0.6.1-beta.0_1699332693140_0.5676071643725404"},"_hasShrinkwrap":false},"0.6.1-beta.1":{"name":"hwy","version":"0.6.1-beta.1","author":{"name":"Samuel J. Cook"},"license":"MIT","description":"Simple, lightweight, and flexible web framework, built on Hono and HTMX.","type":"module","main":"dist/index.js","scripts":{"build":"rm -rf dist && tsup-node index.ts --format esm --dts","lint":"tsc","dev":"rm -rf dist && tsup-node index.ts --format esm --dts --watch --sourcemap","publish-beta":"npm publish --tag beta","publish-non-beta":"npm publish","update-latest":"pnpm update --latest","typecheck":"tsc --noEmit"},"devDependencies":{"@hono/node-server":"^1.2.0","@hwy-js/build":"workspace:*","@hwy-js/dev":"workspace:*","@types/node":"^20.8.10","hono":"^3.9.1","tsup":"^7.2.0"},"repository":{"type":"git","url":"git+https://github.com/hwy-js/hwy.git","directory":"packages/core"},"homepage":"https://hwy.dev","bugs":{"url":"https://github.com/hwy-js/hwy/issues"},"keywords":["simple","lightweight","flexible","framework","metaframework","web","typescript","htmx","hono","router","nested","routing","jsx","tsx","nextjs","remix"],"_id":"hwy@0.6.1-beta.1","readme":"# Hwy\n\nHwy is a simple, lightweight, and flexible web framework, built on Hono and HTMX.\n\n<a href=\"https://pkg-size.dev/hwy\" target=\"_blank\">\n  <img\n    width=\"112\"\n    height=\"20\"\n    style=\"background:darkgray;border-radius:4px;\"\n    src=\"https://pkg-size.dev/badge/bundle/11742\"\n    title=\"Bundle size for hwy\"\n  />\n</a>\n\n## Quick Start\n\n```bash\nnpx create-hwy@latest\n```\n\n## What is Hwy?\n\nHwy is a lot like NextJS or Remix, but it uses **_HTMX_** instead of React on the frontend.\n\nHwy lets you write **_React-style JSX_** in **_nested, file-based routes_**, with **_Remix-style actions and parallel loaders_**.\n\nPage components are async, so you can even **_fetch data in JSX_** if you want to (just be careful with waterfalls).\n\nThe backend server is built on **_Hono_**, so you have access to a rich, growing ecosystem with lots of middleware and wonderful docs.\n\nHwy is **_100% server-rendered_**, but with the HTMX defaults Hwy sets up for you out of the box, your app still **_feels like an SPA_**.\n\nLinks and forms are automatically **_progressively enhanced_** thanks to HTMX's `hx-boost` feature. Just use normal anchor tags and traditional form attributes.\n\nBecause Hwy replaces the **_full page_** on transitions by default, everything stays **_simple_**. You don't have to return different components from different endpoints (unless you want to).\n\nAnd best of all, **_anything you can do with Hono or HTMX, you can do with Hwy_**.\n\n## Features\n\n- Server-rendered JSX / TSX\n- Nested, file-based routing\n- Remix-style actions and parallel loaders\n- Async page components\n- Rich Hono middleware ecosystem\n- 100% type-safe\n- Server built on Hono\n- Client built on HTMX\n- Built-in critical CSS inlining\n- Live browser refresh during development\n- And more...\n\n## Guiding Principles\n\n- No speed limits\n- Numerous off-ramps\n- Smooth, safe roads\n- Clear traffic signs\n\n## Simple usage\n\nBelow is an example of a simple Hwy page. You'll notice it looks a lot like Remix, and you're right! Hwy is heavily inspired by Remix, but it uses HTMX instead of React.\n\n```tsx\n// src/pages/user/$user_id.page.tsx\n\nimport type { DataFunctionArgs, PageProps } from \"hwy\";\nimport { UserProfile, getUser } from \"./somewhere.js\";\n\nexport async function loader({ params }: DataFunctionArgs) {\n  return await getUser(params.user_id);\n}\n\nexport default async function ({ loaderData }: PageProps<typeof loader>) {\n  return <UserProfile user={loaderData} />;\n}\n```\n\nOr, if you prefer to fetch inside your components:\n\n```tsx\nexport default async function ({ params }: PageProps) {\n  const user = await getUser(params.user_id);\n\n  return <UserProfile user={user} />;\n}\n```\n\n## Get Started\n\nIf you want to dive right in, just open a terminal and run `npx create-hwy@latest` and follow the prompts.\n\nIf you'd prefer to read more first, take a peek at [our docs](https://hwy.dev/docs).\n\n## Acknowledgements\n\nHwy's APIs are obviously inspired by Remix. If Remix didn't exist, Hwy likely wouldn't exist either. Hwy doesn't use any Remix code, but it still owes a big thanks to the Remix team (past and present) for their top-tier patterns design. If you're building something huge and important today, use Remix.\n\n## Disclaimer\n\nHwy is in beta! Act accordingly.\n\n## License\n\nMIT License\n\nCopyright (c) 2023 Samuel J. Cook\n","readmeFilename":"README.md","gitHead":"67b17df26134ba026d40d9dd7e1432876e4613c5","types":"./dist/index.d.ts","_nodeVersion":"18.18.0","_npmVersion":"9.8.1","dist":{"integrity":"sha512-ZLxDp3g6zbj2f95o5gynZmTtgcEc0pdwKl9bwbwVqefm1yOg500FuXrzJo7hfCPHb47J0cs+v5qERASqyQknJA==","shasum":"b78a4f96e59ea40d5af63d103faec210896b95ae","tarball":"https://registry.npmjs.org/hwy/-/hwy-0.6.1-beta.1.tgz","fileCount":4,"unpackedSize":39091,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDL+32i3Qpr57motab147u45hHHydha4A482RIVQMiAPgIgVxbOAJ98e4HPuBnyPRLaI1SpYVa9u3uNF34PtwwFevY="}]},"_npmUser":{"name":"sjc5","email":"email@samcook.cc"},"directories":{},"maintainers":[{"name":"sjc5","email":"email@samcook.cc"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/hwy_0.6.1-beta.1_1699493783093_0.8771734799219539"},"_hasShrinkwrap":false},"0.6.1-beta.2":{"name":"hwy","version":"0.6.1-beta.2","author":{"name":"Samuel J. Cook"},"license":"MIT","description":"Simple, lightweight, and flexible web framework, built on Hono and HTMX.","type":"module","main":"dist/index.js","scripts":{"build":"rm -rf dist && tsup-node index.ts --format esm --dts","lint":"tsc","dev":"rm -rf dist && tsup-node index.ts --format esm --dts --watch --sourcemap","publish-beta":"npm publish --tag beta","publish-non-beta":"npm publish","update-latest":"pnpm update --latest","typecheck":"tsc --noEmit"},"devDependencies":{"@hono/node-server":"^1.2.0","@hwy-js/build":"workspace:*","@hwy-js/dev":"workspace:*","@types/node":"^20.8.10","hono":"^3.9.1","tsup":"^7.2.0"},"repository":{"type":"git","url":"git+https://github.com/hwy-js/hwy.git","directory":"packages/core"},"homepage":"https://hwy.dev","bugs":{"url":"https://github.com/hwy-js/hwy/issues"},"keywords":["simple","lightweight","flexible","framework","metaframework","web","typescript","htmx","hono","router","nested","routing","jsx","tsx","nextjs","remix"],"_id":"hwy@0.6.1-beta.2","readme":"# Hwy\n\nHwy is a simple, lightweight, and flexible web framework, built on Hono and HTMX.\n\n<a href=\"https://pkg-size.dev/hwy\" target=\"_blank\">\n  <img\n    width=\"112\"\n    height=\"20\"\n    style=\"background:darkgray;border-radius:4px;\"\n    src=\"https://pkg-size.dev/badge/bundle/11742\"\n    title=\"Bundle size for hwy\"\n  />\n</a>\n\n## Quick Start\n\n```bash\nnpx create-hwy@latest\n```\n\n## What is Hwy?\n\nHwy is a lot like NextJS or Remix, but it uses **_HTMX_** instead of React on the frontend.\n\nHwy lets you write **_React-style JSX_** in **_nested, file-based routes_**, with **_Remix-style actions and parallel loaders_**.\n\nPage components are async, so you can even **_fetch data in JSX_** if you want to (just be careful with waterfalls).\n\nThe backend server is built on **_Hono_**, so you have access to a rich, growing ecosystem with lots of middleware and wonderful docs.\n\nHwy is **_100% server-rendered_**, but with the HTMX defaults Hwy sets up for you out of the box, your app still **_feels like an SPA_**.\n\nLinks and forms are automatically **_progressively enhanced_** thanks to HTMX's `hx-boost` feature. Just use normal anchor tags and traditional form attributes.\n\nBecause Hwy replaces the **_full page_** on transitions by default, everything stays **_simple_**. You don't have to return different components from different endpoints (unless you want to).\n\nAnd best of all, **_anything you can do with Hono or HTMX, you can do with Hwy_**.\n\n## Features\n\n- Server-rendered JSX / TSX\n- Nested, file-based routing\n- Remix-style actions and parallel loaders\n- Async page components\n- Rich Hono middleware ecosystem\n- 100% type-safe\n- Server built on Hono\n- Client built on HTMX\n- Built-in critical CSS inlining\n- Live browser refresh during development\n- And more...\n\n## Guiding Principles\n\n- No speed limits\n- Numerous off-ramps\n- Smooth, safe roads\n- Clear traffic signs\n\n## Simple usage\n\nBelow is an example of a simple Hwy page. You'll notice it looks a lot like Remix, and you're right! Hwy is heavily inspired by Remix, but it uses HTMX instead of React.\n\n```tsx\n// src/pages/user/$user_id.page.tsx\n\nimport type { DataFunctionArgs, PageProps } from \"hwy\";\nimport { UserProfile, getUser } from \"./somewhere.js\";\n\nexport async function loader({ params }: DataFunctionArgs) {\n  return await getUser(params.user_id);\n}\n\nexport default async function ({ loaderData }: PageProps<typeof loader>) {\n  return <UserProfile user={loaderData} />;\n}\n```\n\nOr, if you prefer to fetch inside your components:\n\n```tsx\nexport default async function ({ params }: PageProps) {\n  const user = await getUser(params.user_id);\n\n  return <UserProfile user={user} />;\n}\n```\n\n## Get Started\n\nIf you want to dive right in, just open a terminal and run `npx create-hwy@latest` and follow the prompts.\n\nIf you'd prefer to read more first, take a peek at [our docs](https://hwy.dev/docs).\n\n## Acknowledgements\n\nHwy's APIs are obviously inspired by Remix. If Remix didn't exist, Hwy likely wouldn't exist either. Hwy doesn't use any Remix code, but it still owes a big thanks to the Remix team (past and present) for their top-tier patterns design. If you're building something huge and important today, use Remix.\n\n## Disclaimer\n\nHwy is in beta! Act accordingly.\n\n## License\n\nMIT License\n\nCopyright (c) 2023 Samuel J. Cook\n","readmeFilename":"README.md","gitHead":"67b17df26134ba026d40d9dd7e1432876e4613c5","types":"./dist/index.d.ts","_nodeVersion":"18.18.0","_npmVersion":"9.8.1","dist":{"integrity":"sha512-n/Dfufhh2FQUL1+HFGQZxnqShzTI8CnZ4d+YaPqsfwGMRARIv0GArkON40TlT7d+8gdTCgROjIvDiUB8XlNxGQ==","shasum":"500ce09095dbe2f11bb36ef118d0f098281d488b","tarball":"https://registry.npmjs.org/hwy/-/hwy-0.6.1-beta.2.tgz","fileCount":4,"unpackedSize":38818,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDPkAhSOWx6ZmGunWzgF/KYx33nrXz3w/5zZO1Q2GIvwQIgKXC40goHDDisE2dSRDulXVyj/qU0TnyDO5cxCbwBfp8="}]},"_npmUser":{"name":"sjc5","email":"email@samcook.cc"},"directories":{},"maintainers":[{"name":"sjc5","email":"email@samcook.cc"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/hwy_0.6.1-beta.2_1699494693988_0.8638670527338159"},"_hasShrinkwrap":false},"0.6.1-beta.3":{"name":"hwy","version":"0.6.1-beta.3","author":{"name":"Samuel J. Cook"},"license":"MIT","description":"Simple, lightweight, and flexible web framework, built on Hono and HTMX.","type":"module","main":"dist/index.js","scripts":{"build":"rm -rf dist && tsup-node index.ts --format esm --dts","lint":"tsc","dev":"rm -rf dist && tsup-node index.ts --format esm --dts --watch --sourcemap","publish-beta":"npm publish --tag beta","publish-non-beta":"npm publish","update-latest":"pnpm update --latest","typecheck":"tsc --noEmit"},"devDependencies":{"@hono/node-server":"^1.2.0","@hwy-js/build":"workspace:*","@hwy-js/dev":"workspace:*","@types/node":"^20.8.10","hono":"^3.9.1","tsup":"^7.2.0"},"repository":{"type":"git","url":"git+https://github.com/hwy-js/hwy.git","directory":"packages/core"},"homepage":"https://hwy.dev","bugs":{"url":"https://github.com/hwy-js/hwy/issues"},"keywords":["simple","lightweight","flexible","framework","metaframework","web","typescript","htmx","hono","router","nested","routing","jsx","tsx","nextjs","remix"],"_id":"hwy@0.6.1-beta.3","readme":"# Hwy\n\nHwy is a simple, lightweight, and flexible web framework, built on Hono and HTMX.\n\n<a href=\"https://pkg-size.dev/hwy\" target=\"_blank\">\n  <img\n    width=\"112\"\n    height=\"20\"\n    style=\"background:darkgray;border-radius:4px;\"\n    src=\"https://pkg-size.dev/badge/bundle/11742\"\n    title=\"Bundle size for hwy\"\n  />\n</a>\n\n## Quick Start\n\n```bash\nnpx create-hwy@latest\n```\n\n## What is Hwy?\n\nHwy is a lot like NextJS or Remix, but it uses **_HTMX_** instead of React on the frontend.\n\nHwy lets you write **_React-style JSX_** in **_nested, file-based routes_**, with **_Remix-style actions and parallel loaders_**.\n\nPage components are async, so you can even **_fetch data in JSX_** if you want to (just be careful with waterfalls).\n\nThe backend server is built on **_Hono_**, so you have access to a rich, growing ecosystem with lots of middleware and wonderful docs.\n\nHwy is **_100% server-rendered_**, but with the HTMX defaults Hwy sets up for you out of the box, your app still **_feels like an SPA_**.\n\nLinks and forms are automatically **_progressively enhanced_** thanks to HTMX's `hx-boost` feature. Just use normal anchor tags and traditional form attributes.\n\nBecause Hwy replaces the **_full page_** on transitions by default, everything stays **_simple_**. You don't have to return different components from different endpoints (unless you want to).\n\nAnd best of all, **_anything you can do with Hono or HTMX, you can do with Hwy_**.\n\n## Features\n\n- Server-rendered JSX / TSX\n- Nested, file-based routing\n- Remix-style actions and parallel loaders\n- Async page components\n- Rich Hono middleware ecosystem\n- 100% type-safe\n- Server built on Hono\n- Client built on HTMX\n- Built-in critical CSS inlining\n- Live browser refresh during development\n- And more...\n\n## Guiding Principles\n\n- No speed limits\n- Numerous off-ramps\n- Smooth, safe roads\n- Clear traffic signs\n\n## Simple usage\n\nBelow is an example of a simple Hwy page. You'll notice it looks a lot like Remix, and you're right! Hwy is heavily inspired by Remix, but it uses HTMX instead of React.\n\n```tsx\n// src/pages/user/$user_id.page.tsx\n\nimport type { DataFunctionArgs, PageProps } from \"hwy\";\nimport { UserProfile, getUser } from \"./somewhere.js\";\n\nexport async function loader({ params }: DataFunctionArgs) {\n  return await getUser(params.user_id);\n}\n\nexport default async function ({ loaderData }: PageProps<typeof loader>) {\n  return <UserProfile user={loaderData} />;\n}\n```\n\nOr, if you prefer to fetch inside your components:\n\n```tsx\nexport default async function ({ params }: PageProps) {\n  const user = await getUser(params.user_id);\n\n  return <UserProfile user={user} />;\n}\n```\n\n## Get Started\n\nIf you want to dive right in, just open a terminal and run `npx create-hwy@latest` and follow the prompts.\n\nIf you'd prefer to read more first, take a peek at [our docs](https://hwy.dev/docs).\n\n## Acknowledgements\n\nHwy's APIs are obviously inspired by Remix. If Remix didn't exist, Hwy likely wouldn't exist either. Hwy doesn't use any Remix code, but it still owes a big thanks to the Remix team (past and present) for their top-tier patterns design. If you're building something huge and important today, use Remix.\n\n## Disclaimer\n\nHwy is in beta! Act accordingly.\n\n## License\n\nMIT License\n\nCopyright (c) 2023 Samuel J. Cook\n","readmeFilename":"README.md","gitHead":"67b17df26134ba026d40d9dd7e1432876e4613c5","types":"./dist/index.d.ts","_nodeVersion":"18.18.0","_npmVersion":"9.8.1","dist":{"integrity":"sha512-UbyTeOQwcWPo64PRpNMONVE/iAQCl320X7103YaFMPHB4XVhQ8u7wbZmyQKore+WIFi3SNBkmbUEdVKiBUJ0Tw==","shasum":"fe7b71331dd14261d5eb714ce0bcbf365c548322","tarball":"https://registry.npmjs.org/hwy/-/hwy-0.6.1-beta.3.tgz","fileCount":4,"unpackedSize":38835,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIGVdot7cdeFKVfJsGwesY7a1tBmxfDRHSMia2u9XP6+/AiBNespk+krUb72m4++suL+w4TUnA4IBGXU9l40hOTo8mg=="}]},"_npmUser":{"name":"sjc5","email":"email@samcook.cc"},"directories":{},"maintainers":[{"name":"sjc5","email":"email@samcook.cc"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/hwy_0.6.1-beta.3_1699494955478_0.7238841235608395"},"_hasShrinkwrap":false},"0.6.1-beta.4":{"name":"hwy","version":"0.6.1-beta.4","author":{"name":"Samuel J. Cook"},"license":"MIT","description":"Simple, lightweight, and flexible web framework, built on Hono and HTMX.","type":"module","main":"dist/index.js","scripts":{"build":"rm -rf dist && tsup-node index.ts --format esm --dts","lint":"tsc","dev":"rm -rf dist && tsup-node index.ts --format esm --dts --watch --sourcemap","publish-beta":"npm publish --tag beta","publish-non-beta":"npm publish","update-latest":"pnpm update --latest","typecheck":"tsc --noEmit"},"devDependencies":{"@hono/node-server":"^1.2.0","@hwy-js/build":"workspace:*","@hwy-js/dev":"workspace:*","@types/node":"^20.8.10","hono":"^3.9.1","tsup":"^7.2.0"},"repository":{"type":"git","url":"git+https://github.com/hwy-js/hwy.git","directory":"packages/core"},"homepage":"https://hwy.dev","bugs":{"url":"https://github.com/hwy-js/hwy/issues"},"keywords":["simple","lightweight","flexible","framework","metaframework","web","typescript","htmx","hono","router","nested","routing","jsx","tsx","nextjs","remix"],"_id":"hwy@0.6.1-beta.4","readme":"# Hwy\n\nHwy is a simple, lightweight, and flexible web framework, built on Hono and HTMX.\n\n<a href=\"https://pkg-size.dev/hwy\" target=\"_blank\">\n  <img\n    width=\"112\"\n    height=\"20\"\n    style=\"background:darkgray;border-radius:4px;\"\n    src=\"https://pkg-size.dev/badge/bundle/11742\"\n    title=\"Bundle size for hwy\"\n  />\n</a>\n\n## Quick Start\n\n```bash\nnpx create-hwy@latest\n```\n\n## What is Hwy?\n\nHwy is a lot like NextJS or Remix, but it uses **_HTMX_** instead of React on the frontend.\n\nHwy lets you write **_React-style JSX_** in **_nested, file-based routes_**, with **_Remix-style actions and parallel loaders_**.\n\nPage components are async, so you can even **_fetch data in JSX_** if you want to (just be careful with waterfalls).\n\nThe backend server is built on **_Hono_**, so you have access to a rich, growing ecosystem with lots of middleware and wonderful docs.\n\nHwy is **_100% server-rendered_**, but with the HTMX defaults Hwy sets up for you out of the box, your app still **_feels like an SPA_**.\n\nLinks and forms are automatically **_progressively enhanced_** thanks to HTMX's `hx-boost` feature. Just use normal anchor tags and traditional form attributes.\n\nBecause Hwy replaces the **_full page_** on transitions by default, everything stays **_simple_**. You don't have to return different components from different endpoints (unless you want to).\n\nAnd best of all, **_anything you can do with Hono or HTMX, you can do with Hwy_**.\n\n## Features\n\n- Server-rendered JSX / TSX\n- Nested, file-based routing\n- Remix-style actions and parallel loaders\n- Async page components\n- Rich Hono middleware ecosystem\n- 100% type-safe\n- Server built on Hono\n- Client built on HTMX\n- Built-in critical CSS inlining\n- Live browser refresh during development\n- And more...\n\n## Guiding Principles\n\n- No speed limits\n- Numerous off-ramps\n- Smooth, safe roads\n- Clear traffic signs\n\n## Simple usage\n\nBelow is an example of a simple Hwy page. You'll notice it looks a lot like Remix, and you're right! Hwy is heavily inspired by Remix, but it uses HTMX instead of React.\n\n```tsx\n// src/pages/user/$user_id.page.tsx\n\nimport type { DataFunctionArgs, PageProps } from \"hwy\";\nimport { UserProfile, getUser } from \"./somewhere.js\";\n\nexport async function loader({ params }: DataFunctionArgs) {\n  return await getUser(params.user_id);\n}\n\nexport default async function ({ loaderData }: PageProps<typeof loader>) {\n  return <UserProfile user={loaderData} />;\n}\n```\n\nOr, if you prefer to fetch inside your components:\n\n```tsx\nexport default async function ({ params }: PageProps) {\n  const user = await getUser(params.user_id);\n\n  return <UserProfile user={user} />;\n}\n```\n\n## Get Started\n\nIf you want to dive right in, just open a terminal and run `npx create-hwy@latest` and follow the prompts.\n\nIf you'd prefer to read more first, take a peek at [our docs](https://hwy.dev/docs).\n\n## Acknowledgements\n\nHwy's APIs are obviously inspired by Remix. If Remix didn't exist, Hwy likely wouldn't exist either. Hwy doesn't use any Remix code, but it still owes a big thanks to the Remix team (past and present) for their top-tier patterns design. If you're building something huge and important today, use Remix.\n\n## Disclaimer\n\nHwy is in beta! Act accordingly.\n\n## License\n\nMIT License\n\nCopyright (c) 2023 Samuel J. Cook\n","readmeFilename":"README.md","gitHead":"67b17df26134ba026d40d9dd7e1432876e4613c5","types":"./dist/index.d.ts","_nodeVersion":"18.18.0","_npmVersion":"9.8.1","dist":{"integrity":"sha512-HHRwiJ27OZLaFOdChW2a4kNczagNcgbA+SKVYZTWjTkqZck2Fq5WdQRlKWspOI9K4dzItJ6B1Gi1tPwJwup56Q==","shasum":"e4ac73726eda5c01b0317391e22eb7a8487244dd","tarball":"https://registry.npmjs.org/hwy/-/hwy-0.6.1-beta.4.tgz","fileCount":4,"unpackedSize":39091,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIFtEJaaWOQzOOAGliRm3KKGogmnVtK9eg7u5ZOb9TFaWAiEA2sLL83U5rxg8aPUwd5k1USy1VqKjvsCgC311B2CTtS8="}]},"_npmUser":{"name":"sjc5","email":"email@samcook.cc"},"directories":{},"maintainers":[{"name":"sjc5","email":"email@samcook.cc"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/hwy_0.6.1-beta.4_1699495121398_0.5650861477936013"},"_hasShrinkwrap":false},"0.6.1-beta.5":{"name":"hwy","version":"0.6.1-beta.5","author":{"name":"Samuel J. Cook"},"license":"MIT","description":"Simple, lightweight, and flexible web framework, built on Hono and HTMX.","type":"module","main":"dist/index.js","scripts":{"build":"rm -rf dist && tsup-node index.ts --format esm --dts","lint":"tsc","dev":"rm -rf dist && tsup-node index.ts --format esm --dts --watch --sourcemap","publish-beta":"npm publish --tag beta","publish-non-beta":"npm publish","update-latest":"pnpm update --latest","typecheck":"tsc --noEmit"},"devDependencies":{"@hono/node-server":"^1.2.0","@hwy-js/build":"workspace:*","@hwy-js/dev":"workspace:*","@types/node":"^20.8.10","hono":"^3.9.1","tsup":"^7.2.0"},"repository":{"type":"git","url":"git+https://github.com/hwy-js/hwy.git","directory":"packages/core"},"homepage":"https://hwy.dev","bugs":{"url":"https://github.com/hwy-js/hwy/issues"},"keywords":["simple","lightweight","flexible","framework","metaframework","web","typescript","htmx","hono","router","nested","routing","jsx","tsx","nextjs","remix"],"_id":"hwy@0.6.1-beta.5","readme":"# Hwy\n\nHwy is a simple, lightweight, and flexible web framework, built on Hono and HTMX.\n\n<a href=\"https://pkg-size.dev/hwy\" target=\"_blank\">\n  <img\n    width=\"112\"\n    height=\"20\"\n    style=\"background:darkgray;border-radius:4px;\"\n    src=\"https://pkg-size.dev/badge/bundle/11742\"\n    title=\"Bundle size for hwy\"\n  />\n</a>\n\n## Quick Start\n\n```bash\nnpx create-hwy@latest\n```\n\n## What is Hwy?\n\nHwy is a lot like NextJS or Remix, but it uses **_HTMX_** instead of React on the frontend.\n\nHwy lets you write **_React-style JSX_** in **_nested, file-based routes_**, with **_Remix-style actions and parallel loaders_**.\n\nPage components are async, so you can even **_fetch data in JSX_** if you want to (just be careful with waterfalls).\n\nThe backend server is built on **_Hono_**, so you have access to a rich, growing ecosystem with lots of middleware and wonderful docs.\n\nHwy is **_100% server-rendered_**, but with the HTMX defaults Hwy sets up for you out of the box, your app still **_feels like an SPA_**.\n\nLinks and forms are automatically **_progressively enhanced_** thanks to HTMX's `hx-boost` feature. Just use normal anchor tags and traditional form attributes.\n\nBecause Hwy replaces the **_full page_** on transitions by default, everything stays **_simple_**. You don't have to return different components from different endpoints (unless you want to).\n\nAnd best of all, **_anything you can do with Hono or HTMX, you can do with Hwy_**.\n\n## Features\n\n- Server-rendered JSX / TSX\n- Nested, file-based routing\n- Remix-style actions and parallel loaders\n- Async page components\n- Rich Hono middleware ecosystem\n- 100% type-safe\n- Server built on Hono\n- Client built on HTMX\n- Built-in critical CSS inlining\n- Live browser refresh during development\n- And more...\n\n## Guiding Principles\n\n- No speed limits\n- Numerous off-ramps\n- Smooth, safe roads\n- Clear traffic signs\n\n## Simple usage\n\nBelow is an example of a simple Hwy page. You'll notice it looks a lot like Remix, and you're right! Hwy is heavily inspired by Remix, but it uses HTMX instead of React.\n\n```tsx\n// src/pages/user/$user_id.page.tsx\n\nimport type { DataFunctionArgs, PageProps } from \"hwy\";\nimport { UserProfile, getUser } from \"./somewhere.js\";\n\nexport async function loader({ params }: DataFunctionArgs) {\n  return await getUser(params.user_id);\n}\n\nexport default async function ({ loaderData }: PageProps<typeof loader>) {\n  return <UserProfile user={loaderData} />;\n}\n```\n\nOr, if you prefer to fetch inside your components:\n\n```tsx\nexport default async function ({ params }: PageProps) {\n  const user = await getUser(params.user_id);\n\n  return <UserProfile user={user} />;\n}\n```\n\n## Get Started\n\nIf you want to dive right in, just open a terminal and run `npx create-hwy@latest` and follow the prompts.\n\nIf you'd prefer to read more first, take a peek at [our docs](https://hwy.dev/docs).\n\n## Acknowledgements\n\nHwy's APIs are obviously inspired by Remix. If Remix didn't exist, Hwy likely wouldn't exist either. Hwy doesn't use any Remix code, but it still owes a big thanks to the Remix team (past and present) for their top-tier patterns design. If you're building something huge and important today, use Remix.\n\n## Disclaimer\n\nHwy is in beta! Act accordingly.\n\n## License\n\nMIT License\n\nCopyright (c) 2023 Samuel J. Cook\n","readmeFilename":"README.md","gitHead":"67b17df26134ba026d40d9dd7e1432876e4613c5","types":"./dist/index.d.ts","_nodeVersion":"18.18.0","_npmVersion":"9.8.1","dist":{"integrity":"sha512-gxLjUdgY+ODOJ35xpwt4f7oAdETL53NMa5AAuCGkZRFTLcUCOAt1wQdez1QFs8DiV49a0Pv+IdZW/t3Cl8GoqQ==","shasum":"679ca698e9dc90197f41937a33e38934139a2361","tarball":"https://registry.npmjs.org/hwy/-/hwy-0.6.1-beta.5.tgz","fileCount":4,"unpackedSize":38902,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIBnS5r60Jsvn90e4Wc5O74Lk9TZW8x2ystLcT1qrK59FAiEA2n/SI2zCd0bGU5LGhA4dCVXLorYqGwWpdI/BXx2fJrk="}]},"_npmUser":{"name":"sjc5","email":"email@samcook.cc"},"directories":{},"maintainers":[{"name":"sjc5","email":"email@samcook.cc"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/hwy_0.6.1-beta.5_1699502652426_0.08780312793941292"},"_hasShrinkwrap":false},"0.6.1-beta.6":{"name":"hwy","version":"0.6.1-beta.6","author":{"name":"Samuel J. Cook"},"license":"MIT","description":"Simple, lightweight, and flexible web framework, built on Hono and HTMX.","type":"module","main":"dist/index.js","scripts":{"build":"rm -rf dist && tsup-node index.ts --format esm --dts","lint":"tsc","dev":"rm -rf dist && tsup-node index.ts --format esm --dts --watch --sourcemap","publish-beta":"npm publish --tag beta","publish-non-beta":"npm publish","update-latest":"pnpm update --latest","typecheck":"tsc --noEmit"},"devDependencies":{"@hono/node-server":"^1.2.0","@hwy-js/build":"workspace:*","@hwy-js/dev":"workspace:*","@types/node":"^20.8.10","hono":"^3.9.1","tsup":"^7.2.0"},"repository":{"type":"git","url":"git+https://github.com/hwy-js/hwy.git","directory":"packages/core"},"homepage":"https://hwy.dev","bugs":{"url":"https://github.com/hwy-js/hwy/issues"},"keywords":["simple","lightweight","flexible","framework","metaframework","web","typescript","htmx","hono","router","nested","routing","jsx","tsx","nextjs","remix"],"_id":"hwy@0.6.1-beta.6","readme":"# Hwy\n\nHwy is a simple, lightweight, and flexible web framework, built on Hono and HTMX.\n\n<a href=\"https://pkg-size.dev/hwy\" target=\"_blank\">\n  <img\n    width=\"112\"\n    height=\"20\"\n    style=\"background:darkgray;border-radius:4px;\"\n    src=\"https://pkg-size.dev/badge/bundle/11742\"\n    title=\"Bundle size for hwy\"\n  />\n</a>\n\n## Quick Start\n\n```bash\nnpx create-hwy@latest\n```\n\n## What is Hwy?\n\nHwy is a lot like NextJS or Remix, but it uses **_HTMX_** instead of React on the frontend.\n\nHwy lets you write **_React-style JSX_** in **_nested, file-based routes_**, with **_Remix-style actions and parallel loaders_**.\n\nPage components are async, so you can even **_fetch data in JSX_** if you want to (just be careful with waterfalls).\n\nThe backend server is built on **_Hono_**, so you have access to a rich, growing ecosystem with lots of middleware and wonderful docs.\n\nHwy is **_100% server-rendered_**, but with the HTMX defaults Hwy sets up for you out of the box, your app still **_feels like an SPA_**.\n\nLinks and forms are automatically **_progressively enhanced_** thanks to HTMX's `hx-boost` feature. Just use normal anchor tags and traditional form attributes.\n\nBecause Hwy replaces the **_full page_** on transitions by default, everything stays **_simple_**. You don't have to return different components from different endpoints (unless you want to).\n\nAnd best of all, **_anything you can do with Hono or HTMX, you can do with Hwy_**.\n\n## Features\n\n- Server-rendered JSX / TSX\n- Nested, file-based routing\n- Remix-style actions and parallel loaders\n- Async page components\n- Rich Hono middleware ecosystem\n- 100% type-safe\n- Server built on Hono\n- Client built on HTMX\n- Built-in critical CSS inlining\n- Live browser refresh during development\n- And more...\n\n## Guiding Principles\n\n- No speed limits\n- Numerous off-ramps\n- Smooth, safe roads\n- Clear traffic signs\n\n## Simple usage\n\nBelow is an example of a simple Hwy page. You'll notice it looks a lot like Remix, and you're right! Hwy is heavily inspired by Remix, but it uses HTMX instead of React.\n\n```tsx\n// src/pages/user/$user_id.page.tsx\n\nimport type { DataFunctionArgs, PageProps } from \"hwy\";\nimport { UserProfile, getUser } from \"./somewhere.js\";\n\nexport async function loader({ params }: DataFunctionArgs) {\n  return await getUser(params.user_id);\n}\n\nexport default async function ({ loaderData }: PageProps<typeof loader>) {\n  return <UserProfile user={loaderData} />;\n}\n```\n\nOr, if you prefer to fetch inside your components:\n\n```tsx\nexport default async function ({ params }: PageProps) {\n  const user = await getUser(params.user_id);\n\n  return <UserProfile user={user} />;\n}\n```\n\n## Get Started\n\nIf you want to dive right in, just open a terminal and run `npx create-hwy@latest` and follow the prompts.\n\nIf you'd prefer to read more first, take a peek at [our docs](https://hwy.dev/docs).\n\n## Acknowledgements\n\nHwy's APIs are obviously inspired by Remix. If Remix didn't exist, Hwy likely wouldn't exist either. Hwy doesn't use any Remix code, but it still owes a big thanks to the Remix team (past and present) for their top-tier patterns design. If you're building something huge and important today, use Remix.\n\n## Disclaimer\n\nHwy is in beta! Act accordingly.\n\n## License\n\nMIT License\n\nCopyright (c) 2023 Samuel J. Cook\n","readmeFilename":"README.md","gitHead":"67b17df26134ba026d40d9dd7e1432876e4613c5","types":"./dist/index.d.ts","_nodeVersion":"18.18.0","_npmVersion":"9.8.1","dist":{"integrity":"sha512-QbgNUCgoYgKJmS7Ij8GBXUgSc+v8skpCqp4KVp+YB9BGEAVvNdF2EfFnvYYtGEnZbUocgwETtDh8qv6kARMD2g==","shasum":"f41059d30c06c32f341075b3ff96732ee2616a88","tarball":"https://registry.npmjs.org/hwy/-/hwy-0.6.1-beta.6.tgz","fileCount":4,"unpackedSize":38620,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDR8N27ncKkchX0vNlsJgbLMBBIbguk2khDP4RN7ECJ9gIgIXAnX1cETxq1JJTAMH9+UgIv1tQJcu5IwaU3TmTNhGE="}]},"_npmUser":{"name":"sjc5","email":"email@samcook.cc"},"directories":{},"maintainers":[{"name":"sjc5","email":"email@samcook.cc"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/hwy_0.6.1-beta.6_1699503349933_0.8327653977062648"},"_hasShrinkwrap":false},"0.6.1-beta.7":{"name":"hwy","version":"0.6.1-beta.7","author":{"name":"Samuel J. Cook"},"license":"MIT","description":"Simple, lightweight, and flexible web framework, built on Hono and HTMX.","type":"module","main":"dist/index.js","scripts":{"build":"rm -rf dist && tsup-node index.ts --format esm --dts","lint":"tsc","dev":"rm -rf dist && tsup-node index.ts --format esm --dts --watch --sourcemap","publish-beta":"npm publish --tag beta","publish-non-beta":"npm publish","update-latest":"pnpm update --latest","typecheck":"tsc --noEmit"},"devDependencies":{"@hono/node-server":"^1.2.0","@hwy-js/build":"workspace:*","@hwy-js/dev":"workspace:*","@types/node":"^20.8.10","hono":"^3.9.1","tsup":"^7.2.0"},"repository":{"type":"git","url":"git+https://github.com/hwy-js/hwy.git","directory":"packages/core"},"homepage":"https://hwy.dev","bugs":{"url":"https://github.com/hwy-js/hwy/issues"},"keywords":["simple","lightweight","flexible","framework","metaframework","web","typescript","htmx","hono","router","nested","routing","jsx","tsx","nextjs","remix"],"_id":"hwy@0.6.1-beta.7","readme":"# Hwy\n\nHwy is a simple, lightweight, and flexible web framework, built on Hono and HTMX.\n\n<a href=\"https://pkg-size.dev/hwy\" target=\"_blank\">\n  <img\n    width=\"112\"\n    height=\"20\"\n    style=\"background:darkgray;border-radius:4px;\"\n    src=\"https://pkg-size.dev/badge/bundle/11742\"\n    title=\"Bundle size for hwy\"\n  />\n</a>\n\n## Quick Start\n\n```bash\nnpx create-hwy@latest\n```\n\n## What is Hwy?\n\nHwy is a lot like NextJS or Remix, but it uses **_HTMX_** instead of React on the frontend.\n\nHwy lets you write **_React-style JSX_** in **_nested, file-based routes_**, with **_Remix-style actions and parallel loaders_**.\n\nPage components are async, so you can even **_fetch data in JSX_** if you want to (just be careful with waterfalls).\n\nThe backend server is built on **_Hono_**, so you have access to a rich, growing ecosystem with lots of middleware and wonderful docs.\n\nHwy is **_100% server-rendered_**, but with the HTMX defaults Hwy sets up for you out of the box, your app still **_feels like an SPA_**.\n\nLinks and forms are automatically **_progressively enhanced_** thanks to HTMX's `hx-boost` feature. Just use normal anchor tags and traditional form attributes.\n\nBecause Hwy replaces the **_full page_** on transitions by default, everything stays **_simple_**. You don't have to return different components from different endpoints (unless you want to).\n\nAnd best of all, **_anything you can do with Hono or HTMX, you can do with Hwy_**.\n\n## Features\n\n- Server-rendered JSX / TSX\n- Nested, file-based routing\n- Remix-style actions and parallel loaders\n- Async page components\n- Rich Hono middleware ecosystem\n- 100% type-safe\n- Server built on Hono\n- Client built on HTMX\n- Built-in critical CSS inlining\n- Live browser refresh during development\n- And more...\n\n## Guiding Principles\n\n- No speed limits\n- Numerous off-ramps\n- Smooth, safe roads\n- Clear traffic signs\n\n## Simple usage\n\nBelow is an example of a simple Hwy page. You'll notice it looks a lot like Remix, and you're right! Hwy is heavily inspired by Remix, but it uses HTMX instead of React.\n\n```tsx\n// src/pages/user/$user_id.page.tsx\n\nimport type { DataFunctionArgs, PageProps } from \"hwy\";\nimport { UserProfile, getUser } from \"./somewhere.js\";\n\nexport async function loader({ params }: DataFunctionArgs) {\n  return await getUser(params.user_id);\n}\n\nexport default async function ({ loaderData }: PageProps<typeof loader>) {\n  return <UserProfile user={loaderData} />;\n}\n```\n\nOr, if you prefer to fetch inside your components:\n\n```tsx\nexport default async function ({ params }: PageProps) {\n  const user = await getUser(params.user_id);\n\n  return <UserProfile user={user} />;\n}\n```\n\n## Get Started\n\nIf you want to dive right in, just open a terminal and run `npx create-hwy@latest` and follow the prompts.\n\nIf you'd prefer to read more first, take a peek at [our docs](https://hwy.dev/docs).\n\n## Acknowledgements\n\nHwy's APIs are obviously inspired by Remix. If Remix didn't exist, Hwy likely wouldn't exist either. Hwy doesn't use any Remix code, but it still owes a big thanks to the Remix team (past and present) for their top-tier patterns design. If you're building something huge and important today, use Remix.\n\n## Disclaimer\n\nHwy is in beta! Act accordingly.\n\n## License\n\nMIT License\n\nCopyright (c) 2023 Samuel J. Cook\n","readmeFilename":"README.md","gitHead":"67b17df26134ba026d40d9dd7e1432876e4613c5","types":"./dist/index.d.ts","_nodeVersion":"18.18.0","_npmVersion":"9.8.1","dist":{"integrity":"sha512-9sHi04bVrNMh+QYElwy4Yc9idD4uGkhfY3laoRaD/doCv8ILWOq9ZXjBO9pPUETb/hAlaNCrOF+132ikeuyvCw==","shasum":"04a134a3df7d4803e46b3a1a150db30585007fe6","tarball":"https://registry.npmjs.org/hwy/-/hwy-0.6.1-beta.7.tgz","fileCount":4,"unpackedSize":38738,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIBxbfpg9jABE1nz0M42YRDWRmlSgUBW3xQAq2dE/ZBpnAiEA91gw/0Sm0rxSsaTkGCMr8syNr9Cs6CEzkO81rfHufYI="}]},"_npmUser":{"name":"sjc5","email":"email@samcook.cc"},"directories":{},"maintainers":[{"name":"sjc5","email":"email@samcook.cc"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/hwy_0.6.1-beta.7_1699504227041_0.8462025684960424"},"_hasShrinkwrap":false},"0.6.1-beta.8":{"name":"hwy","version":"0.6.1-beta.8","author":{"name":"Samuel J. Cook"},"license":"MIT","description":"Simple, lightweight, and flexible web framework, built on Hono and HTMX.","type":"module","main":"dist/index.js","scripts":{"build":"rm -rf dist && tsup-node index.ts --format esm --dts","lint":"tsc","dev":"rm -rf dist && tsup-node index.ts --format esm --dts --watch --sourcemap","publish-beta":"npm publish --tag beta","publish-non-beta":"npm publish","update-latest":"pnpm update --latest","typecheck":"tsc --noEmit"},"devDependencies":{"@hono/node-server":"^1.2.0","@hwy-js/build":"workspace:*","@hwy-js/dev":"workspace:*","@types/node":"^20.8.10","hono":"^3.9.1","tsup":"^7.2.0"},"repository":{"type":"git","url":"git+https://github.com/hwy-js/hwy.git","directory":"packages/core"},"homepage":"https://hwy.dev","bugs":{"url":"https://github.com/hwy-js/hwy/issues"},"keywords":["simple","lightweight","flexible","framework","metaframework","web","typescript","htmx","hono","router","nested","routing","jsx","tsx","nextjs","remix"],"_id":"hwy@0.6.1-beta.8","readme":"# Hwy\n\nHwy is a simple, lightweight, and flexible web framework, built on Hono and HTMX.\n\n<a href=\"https://pkg-size.dev/hwy\" target=\"_blank\">\n  <img\n    width=\"112\"\n    height=\"20\"\n    style=\"background:darkgray;border-radius:4px;\"\n    src=\"https://pkg-size.dev/badge/bundle/11742\"\n    title=\"Bundle size for hwy\"\n  />\n</a>\n\n## Quick Start\n\n```bash\nnpx create-hwy@latest\n```\n\n## What is Hwy?\n\nHwy is a lot like NextJS or Remix, but it uses **_HTMX_** instead of React on the frontend.\n\nHwy lets you write **_React-style JSX_** in **_nested, file-based routes_**, with **_Remix-style actions and parallel loaders_**.\n\nPage components are async, so you can even **_fetch data in JSX_** if you want to (just be careful with waterfalls).\n\nThe backend server is built on **_Hono_**, so you have access to a rich, growing ecosystem with lots of middleware and wonderful docs.\n\nHwy is **_100% server-rendered_**, but with the HTMX defaults Hwy sets up for you out of the box, your app still **_feels like an SPA_**.\n\nLinks and forms are automatically **_progressively enhanced_** thanks to HTMX's `hx-boost` feature. Just use normal anchor tags and traditional form attributes.\n\nBecause Hwy replaces the **_full page_** on transitions by default, everything stays **_simple_**. You don't have to return different components from different endpoints (unless you want to).\n\nAnd best of all, **_anything you can do with Hono or HTMX, you can do with Hwy_**.\n\n## Features\n\n- Server-rendered JSX / TSX\n- Nested, file-based routing\n- Remix-style actions and parallel loaders\n- Async page components\n- Rich Hono middleware ecosystem\n- 100% type-safe\n- Server built on Hono\n- Client built on HTMX\n- Built-in critical CSS inlining\n- Live browser refresh during development\n- And more...\n\n## Guiding Principles\n\n- No speed limits\n- Numerous off-ramps\n- Smooth, safe roads\n- Clear traffic signs\n\n## Simple usage\n\nBelow is an example of a simple Hwy page. You'll notice it looks a lot like Remix, and you're right! Hwy is heavily inspired by Remix, but it uses HTMX instead of React.\n\n```tsx\n// src/pages/user/$user_id.page.tsx\n\nimport type { DataFunctionArgs, PageProps } from \"hwy\";\nimport { UserProfile, getUser } from \"./somewhere.js\";\n\nexport async function loader({ params }: DataFunctionArgs) {\n  return await getUser(params.user_id);\n}\n\nexport default async function ({ loaderData }: PageProps<typeof loader>) {\n  return <UserProfile user={loaderData} />;\n}\n```\n\nOr, if you prefer to fetch inside your components:\n\n```tsx\nexport default async function ({ params }: PageProps) {\n  const user = await getUser(params.user_id);\n\n  return <UserProfile user={user} />;\n}\n```\n\n## Get Started\n\nIf you want to dive right in, just open a terminal and run `npx create-hwy@latest` and follow the prompts.\n\nIf you'd prefer to read more first, take a peek at [our docs](https://hwy.dev/docs).\n\n## Acknowledgements\n\nHwy's APIs are obviously inspired by Remix. If Remix didn't exist, Hwy likely wouldn't exist either. Hwy doesn't use any Remix code, but it still owes a big thanks to the Remix team (past and present) for their top-tier patterns design. If you're building something huge and important today, use Remix.\n\n## Disclaimer\n\nHwy is in beta! Act accordingly.\n\n## License\n\nMIT License\n\nCopyright (c) 2023 Samuel J. Cook\n","readmeFilename":"README.md","gitHead":"67b17df26134ba026d40d9dd7e1432876e4613c5","types":"./dist/index.d.ts","_nodeVersion":"18.18.0","_npmVersion":"9.8.1","dist":{"integrity":"sha512-uX8Ctnn15l/keahOPNtNagIy6VG9gz8gGah733HiqbJlAx6rg7QHkaxTQ6jc0YiKLXSdvNYOPecsx+VwAaHR1w==","shasum":"574e20022df486dae4ad4a4cb918783d1c52c9f9","tarball":"https://registry.npmjs.org/hwy/-/hwy-0.6.1-beta.8.tgz","fileCount":4,"unpackedSize":38626,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDDQc2oEqxitfSrFOs594F/jNgc2l5NpkWXZgsL/JDExgIhAJnvsQNtrEpji1XUso7b76CiFPbaDgnicy6Iw+DvWvFW"}]},"_npmUser":{"name":"sjc5","email":"email@samcook.cc"},"directories":{},"maintainers":[{"name":"sjc5","email":"email@samcook.cc"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/hwy_0.6.1-beta.8_1699504951937_0.1662387181549445"},"_hasShrinkwrap":false},"0.7.0-beta.0":{"name":"hwy","version":"0.7.0-beta.0","author":{"name":"Samuel J. Cook"},"license":"MIT","description":"Simple, lightweight, and flexible web framework, built on Hono and HTMX.","type":"module","main":"dist/index.js","scripts":{"build":"rm -rf dist && tsup-node index.ts --format esm --dts","lint":"tsc","dev":"rm -rf dist && tsup-node index.ts --format esm --dts --watch --sourcemap","publish-beta":"npm publish --tag beta","publish-non-beta":"npm publish","update-latest":"pnpm update --latest","typecheck":"tsc --noEmit"},"devDependencies":{"@hono/node-server":"^1.2.0","@hwy-js/build":"workspace:*","@hwy-js/dev":"workspace:*","@types/node":"^20.8.10","hono":"^3.9.1","tsup":"^7.2.0"},"repository":{"type":"git","url":"git+https://github.com/hwy-js/hwy.git","directory":"packages/core"},"homepage":"https://hwy.dev","bugs":{"url":"https://github.com/hwy-js/hwy/issues"},"keywords":["simple","lightweight","flexible","framework","metaframework","web","typescript","htmx","hono","router","nested","routing","jsx","tsx","nextjs","remix"],"_id":"hwy@0.7.0-beta.0","readme":"# Hwy\n\nHwy is a simple, lightweight, and flexible web framework, built on Hono and HTMX.\n\n<a href=\"https://pkg-size.dev/hwy\" target=\"_blank\">\n  <img\n    width=\"112\"\n    height=\"20\"\n    style=\"background:darkgray;border-radius:4px;\"\n    src=\"https://pkg-size.dev/badge/bundle/11742\"\n    title=\"Bundle size for hwy\"\n  />\n</a>\n\n## Quick Start\n\n```bash\nnpx create-hwy@latest\n```\n\n## What is Hwy?\n\nHwy is a lot like NextJS or Remix, but it uses **_HTMX_** instead of React on the frontend.\n\nHwy lets you write **_React-style JSX_** in **_nested, file-based routes_**, with **_Remix-style actions and parallel loaders_**.\n\nPage components are async, so you can even **_fetch data in JSX_** if you want to (just be careful with waterfalls).\n\nThe backend server is built on **_Hono_**, so you have access to a rich, growing ecosystem with lots of middleware and wonderful docs.\n\nHwy is **_100% server-rendered_**, but with the HTMX defaults Hwy sets up for you out of the box, your app still **_feels like an SPA_**.\n\nLinks and forms are automatically **_progressively enhanced_** thanks to HTMX's `hx-boost` feature. Just use normal anchor tags and traditional form attributes.\n\nBecause Hwy replaces the **_full page_** on transitions by default, everything stays **_simple_**. You don't have to return different components from different endpoints (unless you want to).\n\nAnd best of all, **_anything you can do with Hono or HTMX, you can do with Hwy_**.\n\n## Features\n\n- Server-rendered JSX / TSX\n- Nested, file-based routing\n- Remix-style actions and parallel loaders\n- Async page components\n- Rich Hono middleware ecosystem\n- 100% type-safe\n- Server built on Hono\n- Client built on HTMX\n- Built-in critical CSS inlining\n- Live browser refresh during development\n- And more...\n\n## Guiding Principles\n\n- No speed limits\n- Numerous off-ramps\n- Smooth, safe roads\n- Clear traffic signs\n\n## Simple usage\n\nBelow is an example of a simple Hwy page. You'll notice it looks a lot like Remix, and you're right! Hwy is heavily inspired by Remix, but it uses HTMX instead of React.\n\n```tsx\n// src/pages/user/$user_id.page.tsx\n\nimport type { DataFunctionArgs, PageProps } from \"hwy\";\nimport { UserProfile, getUser } from \"./somewhere.js\";\n\nexport async function loader({ params }: DataFunctionArgs) {\n  return await getUser(params.user_id);\n}\n\nexport default async function ({ loaderData }: PageProps<typeof loader>) {\n  return <UserProfile user={loaderData} />;\n}\n```\n\nOr, if you prefer to fetch inside your components:\n\n```tsx\nexport default async function ({ params }: PageProps) {\n  const user = await getUser(params.user_id);\n\n  return <UserProfile user={user} />;\n}\n```\n\n## Get Started\n\nIf you want to dive right in, just open a terminal and run `npx create-hwy@latest` and follow the prompts.\n\nIf you'd prefer to read more first, take a peek at [our docs](https://hwy.dev/docs).\n\n## Acknowledgements\n\nHwy's APIs are obviously inspired by Remix. If Remix didn't exist, Hwy likely wouldn't exist either. Hwy doesn't use any Remix code, but it still owes a big thanks to the Remix team (past and present) for their top-tier patterns design. If you're building something huge and important today, use Remix.\n\n## Disclaimer\n\nHwy is in beta! Act accordingly.\n\n## License\n\nMIT License\n\nCopyright (c) 2023 Samuel J. Cook\n","readmeFilename":"README.md","gitHead":"6547458cd534a2ef2487a40cefbf090615ed362f","types":"./dist/index.d.ts","_nodeVersion":"18.18.0","_npmVersion":"9.8.1","dist":{"integrity":"sha512-42N7cpq/OQAPG+hPnsZ6AMfY42UjnK1f5LBDmxh1fp+n/wrR7r4UeuwM/TfTofNubLXeJ3AGqE7B2NDPPKKZXw==","shasum":"56aaf9bc845d0db695d6ee0e7575f994bfb2396a","tarball":"https://registry.npmjs.org/hwy/-/hwy-0.7.0-beta.0.tgz","fileCount":4,"unpackedSize":38626,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIDnpr/SChezzjW5huv7xYVVM1vu6VJI/sPlRvrq+vJGFAiBXuBEjNnQm4rzv/PPnC4vJ0GyMPsT9gZ1YArvDUljYYQ=="}]},"_npmUser":{"name":"sjc5","email":"email@samcook.cc"},"directories":{},"maintainers":[{"name":"sjc5","email":"email@samcook.cc"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/hwy_0.7.0-beta.0_1699507017460_0.7641582615664011"},"_hasShrinkwrap":false},"0.7.0-beta.1":{"name":"hwy","version":"0.7.0-beta.1","author":{"name":"Samuel J. Cook"},"license":"MIT","description":"Simple, lightweight, and flexible web framework, built on Hono and HTMX.","type":"module","main":"dist/index.js","scripts":{"build":"rm -rf dist && tsup-node index.ts --format esm --dts","lint":"tsc","dev":"rm -rf dist && tsup-node index.ts --format esm --dts --watch --sourcemap","publish-beta":"npm publish --tag beta","publish-non-beta":"npm publish","update-latest":"pnpm update --latest","typecheck":"tsc --noEmit"},"devDependencies":{"@hono/node-server":"^1.2.0","@hwy-js/build":"workspace:*","@hwy-js/dev":"workspace:*","@types/node":"^20.9.0","hono":"^3.9.2","tsup":"^7.2.0"},"repository":{"type":"git","url":"git+https://github.com/hwy-js/hwy.git","directory":"packages/core"},"homepage":"https://hwy.dev","bugs":{"url":"https://github.com/hwy-js/hwy/issues"},"keywords":["simple","lightweight","flexible","framework","metaframework","web","typescript","htmx","hono","router","nested","routing","jsx","tsx","nextjs","remix"],"_id":"hwy@0.7.0-beta.1","readme":"# Hwy\n\nHwy is a simple, lightweight, and flexible web framework, built on Hono and HTMX.\n\n<a href=\"https://pkg-size.dev/hwy\" target=\"_blank\">\n  <img\n    width=\"112\"\n    height=\"20\"\n    style=\"background:darkgray;border-radius:4px;\"\n    src=\"https://pkg-size.dev/badge/bundle/11742\"\n    title=\"Bundle size for hwy\"\n  />\n</a>\n\n## Quick Start\n\n```bash\nnpx create-hwy@latest\n```\n\n## What is Hwy?\n\nHwy is a lot like NextJS or Remix, but it uses **_HTMX_** instead of React on the frontend.\n\nHwy lets you write **_React-style JSX_** in **_nested, file-based routes_**, with **_Remix-style actions and parallel loaders_**.\n\nPage components are async, so you can even **_fetch data in JSX_** if you want to (just be careful with waterfalls).\n\nThe backend server is built on **_Hono_**, so you have access to a rich, growing ecosystem with lots of middleware and wonderful docs.\n\nHwy is **_100% server-rendered_**, but with the HTMX defaults Hwy sets up for you out of the box, your app still **_feels like an SPA_**.\n\nLinks and forms are automatically **_progressively enhanced_** thanks to HTMX's `hx-boost` feature. Just use normal anchor tags and traditional form attributes.\n\nBecause Hwy replaces the **_full page_** on transitions by default, everything stays **_simple_**. You don't have to return different components from different endpoints (unless you want to).\n\nAnd best of all, **_anything you can do with Hono or HTMX, you can do with Hwy_**.\n\n## Features\n\n- Server-rendered JSX / TSX\n- Nested, file-based routing\n- Remix-style actions and parallel loaders\n- Async page components\n- Rich Hono middleware ecosystem\n- 100% type-safe\n- Server built on Hono\n- Client built on HTMX\n- Built-in critical CSS inlining\n- Live browser refresh during development\n- And more...\n\n## Guiding Principles\n\n- No speed limits\n- Numerous off-ramps\n- Smooth, safe roads\n- Clear traffic signs\n\n## Simple usage\n\nBelow is an example of a simple Hwy page. You'll notice it looks a lot like Remix, and you're right! Hwy is heavily inspired by Remix, but it uses HTMX instead of React.\n\n```tsx\n// src/pages/user/$user_id.page.tsx\n\nimport type { DataFunctionArgs, PageProps } from \"hwy\";\nimport { UserProfile, getUser } from \"./somewhere.js\";\n\nexport async function loader({ params }: DataFunctionArgs) {\n  return await getUser(params.user_id);\n}\n\nexport default async function ({ loaderData }: PageProps<typeof loader>) {\n  return <UserProfile user={loaderData} />;\n}\n```\n\nOr, if you prefer to fetch inside your components:\n\n```tsx\nexport default async function ({ params }: PageProps) {\n  const user = await getUser(params.user_id);\n\n  return <UserProfile user={user} />;\n}\n```\n\n## Get Started\n\nIf you want to dive right in, just open a terminal and run `npx create-hwy@latest` and follow the prompts.\n\nIf you'd prefer to read more first, take a peek at [our docs](https://hwy.dev/docs).\n\n## Acknowledgements\n\nHwy's APIs are obviously inspired by Remix. If Remix didn't exist, Hwy likely wouldn't exist either. Hwy doesn't use any Remix code, but it still owes a big thanks to the Remix team (past and present) for their top-tier patterns design. If you're building something huge and important today, use Remix.\n\n## Disclaimer\n\nHwy is in beta! Act accordingly.\n\n## License\n\nMIT License\n\nCopyright (c) 2023 Samuel J. Cook\n","readmeFilename":"README.md","gitHead":"3eab29a0dcac6b02a5d4d377cd408c5d9a0b8d79","types":"./dist/index.d.ts","_nodeVersion":"18.18.0","_npmVersion":"9.8.1","dist":{"integrity":"sha512-Gf3Q03nmkjkB59oxw+rv13AnjBughOv1Af1izcfQ658p4qgWgaQHO+XerCxxQSOIfHmbtPCwmpbmcof4LNomCA==","shasum":"e0344eda0603af3b20e24edd9a27e4bfb41660f4","tarball":"https://registry.npmjs.org/hwy/-/hwy-0.7.0-beta.1.tgz","fileCount":4,"unpackedSize":38706,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDzwdCUYuC33ZdFYt0W2nmb/pkZpvOwgxpg35Rj9TPQewIgLYbvpvnFgxPWEgdBSAWQRE8iwjaeIl4ZZfwlNRq07Rk="}]},"_npmUser":{"name":"sjc5","email":"email@samcook.cc"},"directories":{},"maintainers":[{"name":"sjc5","email":"email@samcook.cc"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/hwy_0.7.0-beta.1_1699580568094_0.9364858702235619"},"_hasShrinkwrap":false},"0.7.0-beta.2":{"name":"hwy","version":"0.7.0-beta.2","author":{"name":"Samuel J. Cook"},"license":"MIT","description":"Simple, lightweight, and flexible web framework, built on Hono and HTMX.","type":"module","main":"dist/index.js","scripts":{"build":"rm -rf dist && tsup-node index.ts --format esm --dts","lint":"tsc","dev":"rm -rf dist && tsup-node index.ts --format esm --dts --watch --sourcemap","publish-beta":"npm publish --tag beta","publish-non-beta":"npm publish","update-latest":"pnpm update --latest","typecheck":"tsc --noEmit"},"devDependencies":{"@hono/node-server":"^1.2.0","@hwy-js/build":"workspace:*","@hwy-js/dev":"workspace:*","@types/node":"^20.9.0","hono":"^3.9.2","tsup":"^7.2.0"},"repository":{"type":"git","url":"git+https://github.com/hwy-js/hwy.git","directory":"packages/core"},"homepage":"https://hwy.dev","bugs":{"url":"https://github.com/hwy-js/hwy/issues"},"keywords":["simple","lightweight","flexible","framework","metaframework","web","typescript","htmx","hono","router","nested","routing","jsx","tsx","nextjs","remix"],"_id":"hwy@0.7.0-beta.2","readme":"# Hwy\n\nHwy is a simple, lightweight, and flexible web framework, built on Hono and HTMX.\n\n<a href=\"https://pkg-size.dev/hwy\" target=\"_blank\">\n  <img\n    width=\"112\"\n    height=\"20\"\n    style=\"background:darkgray;border-radius:4px;\"\n    src=\"https://pkg-size.dev/badge/bundle/11742\"\n    title=\"Bundle size for hwy\"\n  />\n</a>\n\n## Quick Start\n\n```bash\nnpx create-hwy@latest\n```\n\n## What is Hwy?\n\nHwy is a lot like NextJS or Remix, but it uses **_HTMX_** instead of React on the frontend.\n\nHwy lets you write **_React-style JSX_** in **_nested, file-based routes_**, with **_Remix-style actions and parallel loaders_**.\n\nPage components are async, so you can even **_fetch data in JSX_** if you want to (just be careful with waterfalls).\n\nThe backend server is built on **_Hono_**, so you have access to a rich, growing ecosystem with lots of middleware and wonderful docs.\n\nHwy is **_100% server-rendered_**, but with the HTMX defaults Hwy sets up for you out of the box, your app still **_feels like an SPA_**.\n\nLinks and forms are automatically **_progressively enhanced_** thanks to HTMX's `hx-boost` feature. Just use normal anchor tags and traditional form attributes.\n\nBecause Hwy replaces the **_full page_** on transitions by default, everything stays **_simple_**. You don't have to return different components from different endpoints (unless you want to).\n\nAnd best of all, **_anything you can do with Hono or HTMX, you can do with Hwy_**.\n\n## Features\n\n- Server-rendered JSX / TSX\n- Nested, file-based routing\n- Remix-style actions and parallel loaders\n- Async page components\n- Rich Hono middleware ecosystem\n- 100% type-safe\n- Server built on Hono\n- Client built on HTMX\n- Built-in critical CSS inlining\n- Live browser refresh during development\n- And more...\n\n## Guiding Principles\n\n- No speed limits\n- Numerous off-ramps\n- Smooth, safe roads\n- Clear traffic signs\n\n## Simple usage\n\nBelow is an example of a simple Hwy page. You'll notice it looks a lot like Remix, and you're right! Hwy is heavily inspired by Remix, but it uses HTMX instead of React.\n\n```tsx\n// src/pages/user/$user_id.page.tsx\n\nimport type { DataFunctionArgs, PageProps } from \"hwy\";\nimport { UserProfile, getUser } from \"./somewhere.js\";\n\nexport async function loader({ params }: DataFunctionArgs) {\n  return await getUser(params.user_id);\n}\n\nexport default async function ({ loaderData }: PageProps<typeof loader>) {\n  return <UserProfile user={loaderData} />;\n}\n```\n\nOr, if you prefer to fetch inside your components:\n\n```tsx\nexport default async function ({ params }: PageProps) {\n  const user = await getUser(params.user_id);\n\n  return <UserProfile user={user} />;\n}\n```\n\n## Get Started\n\nIf you want to dive right in, just open a terminal and run `npx create-hwy@latest` and follow the prompts.\n\nIf you'd prefer to read more first, take a peek at [our docs](https://hwy.dev/docs).\n\n## Acknowledgements\n\nHwy's APIs are obviously inspired by Remix. If Remix didn't exist, Hwy likely wouldn't exist either. Hwy doesn't use any Remix code, but it still owes a big thanks to the Remix team (past and present) for their top-tier patterns design. If you're building something huge and important today, use Remix.\n\n## Disclaimer\n\nHwy is in beta! Act accordingly.\n\n## License\n\nMIT License\n\nCopyright (c) 2023 Samuel J. Cook\n","readmeFilename":"README.md","gitHead":"3eab29a0dcac6b02a5d4d377cd408c5d9a0b8d79","types":"./dist/index.d.ts","_nodeVersion":"18.18.0","_npmVersion":"9.8.1","dist":{"integrity":"sha512-tEHvjNEAuG0d9ZdaJCDf+3sPkeg9v7W/7G2o2Thd6YPm23t5a3nYQ4TuOmm8O54AvkA8qB7ULxAlCrofMjzCqg==","shasum":"548434659cac68a7cfd1ec6ac4e1056ff2d2641e","tarball":"https://registry.npmjs.org/hwy/-/hwy-0.7.0-beta.2.tgz","fileCount":4,"unpackedSize":38428,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDBD5yr9DRCnCY83IHY2jidvA4eO8UR4uUC7xD9TNawnwIgQro+BA4whBh73jvZAwKDYqyJXj1wSxE6JgRNYHqihfA="}]},"_npmUser":{"name":"sjc5","email":"email@samcook.cc"},"directories":{},"maintainers":[{"name":"sjc5","email":"email@samcook.cc"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/hwy_0.7.0-beta.2_1699585585704_0.23461324274902484"},"_hasShrinkwrap":false},"0.7.0-beta.3":{"name":"hwy","version":"0.7.0-beta.3","author":{"name":"Samuel J. Cook"},"license":"MIT","description":"Simple, lightweight, and flexible web framework, built on Hono and HTMX.","type":"module","main":"dist/index.js","scripts":{"build":"rm -rf dist && tsup-node index.ts --format esm --dts","lint":"tsc","dev":"rm -rf dist && tsup-node index.ts --format esm --dts --watch --sourcemap","publish-beta":"npm publish --tag beta","publish-non-beta":"npm publish","update-latest":"pnpm update --latest","typecheck":"tsc --noEmit"},"devDependencies":{"@hono/node-server":"^1.2.0","@hwy-js/build":"workspace:*","@hwy-js/dev":"workspace:*","@types/node":"^20.9.0","hono":"^3.9.2","tsup":"^7.2.0"},"repository":{"type":"git","url":"git+https://github.com/hwy-js/hwy.git","directory":"packages/core"},"homepage":"https://hwy.dev","bugs":{"url":"https://github.com/hwy-js/hwy/issues"},"keywords":["simple","lightweight","flexible","framework","metaframework","web","typescript","htmx","hono","router","nested","routing","jsx","tsx","nextjs","remix"],"_id":"hwy@0.7.0-beta.3","readme":"# Hwy\n\nHwy is a simple, lightweight, and flexible web framework, built on Hono and HTMX.\n\n<a href=\"https://pkg-size.dev/hwy\" target=\"_blank\">\n  <img\n    width=\"112\"\n    height=\"20\"\n    style=\"background:darkgray;border-radius:4px;\"\n    src=\"https://pkg-size.dev/badge/bundle/11742\"\n    title=\"Bundle size for hwy\"\n  />\n</a>\n\n## Quick Start\n\n```bash\nnpx create-hwy@latest\n```\n\n## What is Hwy?\n\nHwy is a lot like NextJS or Remix, but it uses **_HTMX_** instead of React on the frontend.\n\nHwy lets you write **_React-style JSX_** in **_nested, file-based routes_**, with **_Remix-style actions and parallel loaders_**.\n\nPage components are async, so you can even **_fetch data in JSX_** if you want to (just be careful with waterfalls).\n\nThe backend server is built on **_Hono_**, so you have access to a rich, growing ecosystem with lots of middleware and wonderful docs.\n\nHwy is **_100% server-rendered_**, but with the HTMX defaults Hwy sets up for you out of the box, your app still **_feels like an SPA_**.\n\nLinks and forms are automatically **_progressively enhanced_** thanks to HTMX's `hx-boost` feature. Just use normal anchor tags and traditional form attributes.\n\nBecause Hwy replaces the **_full page_** on transitions by default, everything stays **_simple_**. You don't have to return different components from different endpoints (unless you want to).\n\nAnd best of all, **_anything you can do with Hono or HTMX, you can do with Hwy_**.\n\n## Features\n\n- Server-rendered JSX / TSX\n- Nested, file-based routing\n- Remix-style actions and parallel loaders\n- Async page components\n- Rich Hono middleware ecosystem\n- 100% type-safe\n- Server built on Hono\n- Client built on HTMX\n- Built-in critical CSS inlining\n- Live browser refresh during development\n- And more...\n\n## Guiding Principles\n\n- No speed limits\n- Numerous off-ramps\n- Smooth, safe roads\n- Clear traffic signs\n\n## Simple usage\n\nBelow is an example of a simple Hwy page. You'll notice it looks a lot like Remix, and you're right! Hwy is heavily inspired by Remix, but it uses HTMX instead of React.\n\n```tsx\n// src/pages/user/$user_id.page.tsx\n\nimport type { DataFunctionArgs, PageProps } from \"hwy\";\nimport { UserProfile, getUser } from \"./somewhere.js\";\n\nexport async function loader({ params }: DataFunctionArgs) {\n  return await getUser(params.user_id);\n}\n\nexport default async function ({ loaderData }: PageProps<typeof loader>) {\n  return <UserProfile user={loaderData} />;\n}\n```\n\nOr, if you prefer to fetch inside your components:\n\n```tsx\nexport default async function ({ params }: PageProps) {\n  const user = await getUser(params.user_id);\n\n  return <UserProfile user={user} />;\n}\n```\n\n## Get Started\n\nIf you want to dive right in, just open a terminal and run `npx create-hwy@latest` and follow the prompts.\n\nIf you'd prefer to read more first, take a peek at [our docs](https://hwy.dev/docs).\n\n## Acknowledgements\n\nHwy's APIs are obviously inspired by Remix. If Remix didn't exist, Hwy likely wouldn't exist either. Hwy doesn't use any Remix code, but it still owes a big thanks to the Remix team (past and present) for their top-tier patterns design. If you're building something huge and important today, use Remix.\n\n## Disclaimer\n\nHwy is in beta! Act accordingly.\n\n## License\n\nMIT License\n\nCopyright (c) 2023 Samuel J. Cook\n","readmeFilename":"README.md","gitHead":"3eab29a0dcac6b02a5d4d377cd408c5d9a0b8d79","types":"./dist/index.d.ts","_nodeVersion":"18.18.0","_npmVersion":"9.8.1","dist":{"integrity":"sha512-GvEnVmhe84QYAKTJnfpGOyKeSzct15r6Q0b1tN005rpJjSdMsOYPdj6RifIsVzNN2zXnHtQ6nS3xOKJRJbNjZQ==","shasum":"9abb75a972c87abf7577f79275974a96d1e53e5a","tarball":"https://registry.npmjs.org/hwy/-/hwy-0.7.0-beta.3.tgz","fileCount":4,"unpackedSize":38429,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQD1ctsZ9PSOgZHR+T91JQOlG6YNUmaaTGxjGGnQlfgPHwIhAN7J8QoZmJzHRHKHPPx9PSkk39uk3pYg6NbkozUAQyxH"}]},"_npmUser":{"name":"sjc5","email":"email@samcook.cc"},"directories":{},"maintainers":[{"name":"sjc5","email":"email@samcook.cc"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/hwy_0.7.0-beta.3_1699586944591_0.10073794433090821"},"_hasShrinkwrap":false},"0.7.0-beta.4":{"name":"hwy","version":"0.7.0-beta.4","author":{"name":"Samuel J. Cook"},"license":"MIT","description":"Simple, lightweight, and flexible web framework, built on Hono and HTMX.","type":"module","main":"dist/index.js","scripts":{"build":"rm -rf dist && tsup-node index.ts --format esm --dts","lint":"tsc","dev":"rm -rf dist && tsup-node index.ts --format esm --dts --watch --sourcemap","publish-beta":"npm publish --tag beta","publish-non-beta":"npm publish","update-latest":"pnpm update --latest","typecheck":"tsc --noEmit"},"devDependencies":{"@hono/node-server":"^1.2.0","@hwy-js/build":"workspace:*","@hwy-js/dev":"workspace:*","@types/node":"^20.9.0","hono":"^3.9.2","tsup":"^7.2.0"},"repository":{"type":"git","url":"git+https://github.com/hwy-js/hwy.git","directory":"packages/core"},"homepage":"https://hwy.dev","bugs":{"url":"https://github.com/hwy-js/hwy/issues"},"keywords":["simple","lightweight","flexible","framework","metaframework","web","typescript","htmx","hono","router","nested","routing","jsx","tsx","nextjs","remix"],"_id":"hwy@0.7.0-beta.4","readme":"# Hwy\n\nHwy is a simple, lightweight, and flexible web framework, built on Hono and HTMX.\n\n<a href=\"https://pkg-size.dev/hwy\" target=\"_blank\">\n  <img\n    width=\"112\"\n    height=\"20\"\n    style=\"background:darkgray;border-radius:4px;\"\n    src=\"https://pkg-size.dev/badge/bundle/11742\"\n    title=\"Bundle size for hwy\"\n  />\n</a>\n\n## Quick Start\n\n```bash\nnpx create-hwy@latest\n```\n\n## What is Hwy?\n\nHwy is a lot like NextJS or Remix, but it uses **_HTMX_** instead of React on the frontend.\n\nHwy lets you write **_React-style JSX_** in **_nested, file-based routes_**, with **_Remix-style actions and parallel loaders_**.\n\nPage components are async, so you can even **_fetch data in JSX_** if you want to (just be careful with waterfalls).\n\nThe backend server is built on **_Hono_**, so you have access to a rich, growing ecosystem with lots of middleware and wonderful docs.\n\nHwy is **_100% server-rendered_**, but with the HTMX defaults Hwy sets up for you out of the box, your app still **_feels like an SPA_**.\n\nLinks and forms are automatically **_progressively enhanced_** thanks to HTMX's `hx-boost` feature. Just use normal anchor tags and traditional form attributes.\n\nBecause Hwy replaces the **_full page_** on transitions by default, everything stays **_simple_**. You don't have to return different components from different endpoints (unless you want to).\n\nAnd best of all, **_anything you can do with Hono or HTMX, you can do with Hwy_**.\n\n## Features\n\n- Server-rendered JSX / TSX\n- Nested, file-based routing\n- Remix-style actions and parallel loaders\n- Async page components\n- Rich Hono middleware ecosystem\n- 100% type-safe\n- Server built on Hono\n- Client built on HTMX\n- Built-in critical CSS inlining\n- Live browser refresh during development\n- And more...\n\n## Guiding Principles\n\n- No speed limits\n- Numerous off-ramps\n- Smooth, safe roads\n- Clear traffic signs\n\n## Simple usage\n\nBelow is an example of a simple Hwy page. You'll notice it looks a lot like Remix, and you're right! Hwy is heavily inspired by Remix, but it uses HTMX instead of React.\n\n```tsx\n// src/pages/user/$user_id.page.tsx\n\nimport type { DataFunctionArgs, PageProps } from \"hwy\";\nimport { UserProfile, getUser } from \"./somewhere.js\";\n\nexport async function loader({ params }: DataFunctionArgs) {\n  return await getUser(params.user_id);\n}\n\nexport default async function ({ loaderData }: PageProps<typeof loader>) {\n  return <UserProfile user={loaderData} />;\n}\n```\n\nOr, if you prefer to fetch inside your components:\n\n```tsx\nexport default async function ({ params }: PageProps) {\n  const user = await getUser(params.user_id);\n\n  return <UserProfile user={user} />;\n}\n```\n\n## Get Started\n\nIf you want to dive right in, just open a terminal and run `npx create-hwy@latest` and follow the prompts.\n\nIf you'd prefer to read more first, take a peek at [our docs](https://hwy.dev/docs).\n\n## Acknowledgements\n\nHwy's APIs are obviously inspired by Remix. If Remix didn't exist, Hwy likely wouldn't exist either. Hwy doesn't use any Remix code, but it still owes a big thanks to the Remix team (past and present) for their top-tier patterns design. If you're building something huge and important today, use Remix.\n\n## Disclaimer\n\nHwy is in beta! Act accordingly.\n\n## License\n\nMIT License\n\nCopyright (c) 2023 Samuel J. Cook\n","readmeFilename":"README.md","gitHead":"3eab29a0dcac6b02a5d4d377cd408c5d9a0b8d79","types":"./dist/index.d.ts","_nodeVersion":"18.18.0","_npmVersion":"9.8.1","dist":{"integrity":"sha512-7mS73gNQu61ZpbUVwxi5IocQOSQkaZKLo9aApfo2pitu6MneHF3gzd6gOxwdQnnyWNmfkxi/nPmrbyCyxplIog==","shasum":"84fa7e331ed88dceef16cb8a3ffbbc26688d9a42","tarball":"https://registry.npmjs.org/hwy/-/hwy-0.7.0-beta.4.tgz","fileCount":4,"unpackedSize":37834,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIDhRbfW+PadFzEb7Y6CwaG2oz87ebyMfhq1i78l8YA4/AiAqBw8gHffJ4F6b90WaF4hzkY0ZBD64YicsZzZd5JXgpQ=="}]},"_npmUser":{"name":"sjc5","email":"email@samcook.cc"},"directories":{},"maintainers":[{"name":"sjc5","email":"email@samcook.cc"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/hwy_0.7.0-beta.4_1699589885318_0.7180358314326809"},"_hasShrinkwrap":false},"0.7.0-beta.5":{"name":"hwy","version":"0.7.0-beta.5","author":{"name":"Samuel J. Cook"},"license":"MIT","description":"Simple, lightweight, and flexible web framework, built on Hono and HTMX.","type":"module","main":"dist/index.js","scripts":{"build":"rm -rf dist && tsup-node index.ts --format esm --dts","lint":"tsc","dev":"rm -rf dist && tsup-node index.ts --format esm --dts --watch --sourcemap","publish-beta":"npm publish --tag beta","publish-non-beta":"npm publish","update-latest":"pnpm update --latest","typecheck":"tsc --noEmit"},"devDependencies":{"@hono/node-server":"^1.2.0","@hwy-js/build":"workspace:*","@hwy-js/dev":"workspace:*","@types/node":"^20.9.0","hono":"^3.9.2","tsup":"^7.2.0"},"repository":{"type":"git","url":"git+https://github.com/hwy-js/hwy.git","directory":"packages/core"},"homepage":"https://hwy.dev","bugs":{"url":"https://github.com/hwy-js/hwy/issues"},"keywords":["simple","lightweight","flexible","framework","metaframework","web","typescript","htmx","hono","router","nested","routing","jsx","tsx","nextjs","remix"],"_id":"hwy@0.7.0-beta.5","readme":"# Hwy\n\nHwy is a simple, lightweight, and flexible web framework, built on Hono and HTMX.\n\n<a href=\"https://pkg-size.dev/hwy\" target=\"_blank\">\n  <img\n    width=\"112\"\n    height=\"20\"\n    style=\"background:darkgray;border-radius:4px;\"\n    src=\"https://pkg-size.dev/badge/bundle/11742\"\n    title=\"Bundle size for hwy\"\n  />\n</a>\n\n## Quick Start\n\n```bash\nnpx create-hwy@latest\n```\n\n## What is Hwy?\n\nHwy is a lot like NextJS or Remix, but it uses **_HTMX_** instead of React on the frontend.\n\nHwy lets you write **_React-style JSX_** in **_nested, file-based routes_**, with **_Remix-style actions and parallel loaders_**.\n\nPage components are async, so you can even **_fetch data in JSX_** if you want to (just be careful with waterfalls).\n\nThe backend server is built on **_Hono_**, so you have access to a rich, growing ecosystem with lots of middleware and wonderful docs.\n\nHwy is **_100% server-rendered_**, but with the HTMX defaults Hwy sets up for you out of the box, your app still **_feels like an SPA_**.\n\nLinks and forms are automatically **_progressively enhanced_** thanks to HTMX's `hx-boost` feature. Just use normal anchor tags and traditional form attributes.\n\nBecause Hwy replaces the **_full page_** on transitions by default, everything stays **_simple_**. You don't have to return different components from different endpoints (unless you want to).\n\nAnd best of all, **_anything you can do with Hono or HTMX, you can do with Hwy_**.\n\n## Features\n\n- Server-rendered JSX / TSX\n- Nested, file-based routing\n- Remix-style actions and parallel loaders\n- Async page components\n- Rich Hono middleware ecosystem\n- 100% type-safe\n- Server built on Hono\n- Client built on HTMX\n- Built-in critical CSS inlining\n- Live browser refresh during development\n- And more...\n\n## Guiding Principles\n\n- No speed limits\n- Numerous off-ramps\n- Smooth, safe roads\n- Clear traffic signs\n\n## Simple usage\n\nBelow is an example of a simple Hwy page. You'll notice it looks a lot like Remix, and you're right! Hwy is heavily inspired by Remix, but it uses HTMX instead of React.\n\n```tsx\n// src/pages/user/$user_id.page.tsx\n\nimport type { DataFunctionArgs, PageProps } from \"hwy\";\nimport { UserProfile, getUser } from \"./somewhere.js\";\n\nexport async function loader({ params }: DataFunctionArgs) {\n  return await getUser(params.user_id);\n}\n\nexport default async function ({ loaderData }: PageProps<typeof loader>) {\n  return <UserProfile user={loaderData} />;\n}\n```\n\nOr, if you prefer to fetch inside your components:\n\n```tsx\nexport default async function ({ params }: PageProps) {\n  const user = await getUser(params.user_id);\n\n  return <UserProfile user={user} />;\n}\n```\n\n## Get Started\n\nIf you want to dive right in, just open a terminal and run `npx create-hwy@latest` and follow the prompts.\n\nIf you'd prefer to read more first, take a peek at [our docs](https://hwy.dev/docs).\n\n## Acknowledgements\n\nHwy's APIs are obviously inspired by Remix. If Remix didn't exist, Hwy likely wouldn't exist either. Hwy doesn't use any Remix code, but it still owes a big thanks to the Remix team (past and present) for their top-tier patterns design. If you're building something huge and important today, use Remix.\n\n## Disclaimer\n\nHwy is in beta! Act accordingly.\n\n## License\n\nMIT License\n\nCopyright (c) 2023 Samuel J. Cook\n","readmeFilename":"README.md","gitHead":"3eab29a0dcac6b02a5d4d377cd408c5d9a0b8d79","types":"./dist/index.d.ts","_nodeVersion":"18.18.0","_npmVersion":"9.8.1","dist":{"integrity":"sha512-DLAC8K3gUc2sOBXr9Dxl7LGhvTeiYQqUJ2OPa0Lt9kutl/iMKSCt79WE7akZI2JAejoNgs3WsQNaS4KBg/IAHw==","shasum":"005b2a8de27d1f3e15547d6be7b47c70e65903f5","tarball":"https://registry.npmjs.org/hwy/-/hwy-0.7.0-beta.5.tgz","fileCount":4,"unpackedSize":38238,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIBSLYbzpLqI+RLM6uRU8yr6D6U93QrUfU+neJia22ZwoAiAofDK9cvFIpHzJrP1vIdfcu9Gep++tgW/dbvNwxnrLbA=="}]},"_npmUser":{"name":"sjc5","email":"email@samcook.cc"},"directories":{},"maintainers":[{"name":"sjc5","email":"email@samcook.cc"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/hwy_0.7.0-beta.5_1699590752168_0.09562840198176259"},"_hasShrinkwrap":false},"0.7.0-beta.6":{"name":"hwy","version":"0.7.0-beta.6","author":{"name":"Samuel J. Cook"},"license":"MIT","description":"Simple, lightweight, and flexible web framework, built on Hono and HTMX.","type":"module","main":"dist/index.js","scripts":{"build":"rm -rf dist && tsup-node index.ts --format esm --dts","lint":"tsc","dev":"rm -rf dist && tsup-node index.ts --format esm --dts --watch --sourcemap","publish-beta":"npm publish --tag beta","publish-non-beta":"npm publish","update-latest":"pnpm update --latest","typecheck":"tsc --noEmit"},"devDependencies":{"@hono/node-server":"^1.2.0","@hwy-js/build":"workspace:*","@hwy-js/dev":"workspace:*","@types/node":"^20.9.0","hono":"^3.9.2","tsup":"^7.2.0"},"repository":{"type":"git","url":"git+https://github.com/hwy-js/hwy.git","directory":"packages/core"},"homepage":"https://hwy.dev","bugs":{"url":"https://github.com/hwy-js/hwy/issues"},"keywords":["simple","lightweight","flexible","framework","metaframework","web","typescript","htmx","hono","router","nested","routing","jsx","tsx","nextjs","remix"],"_id":"hwy@0.7.0-beta.6","readme":"# Hwy\n\nHwy is a simple, lightweight, and flexible web framework, built on Hono and HTMX.\n\n<a href=\"https://pkg-size.dev/hwy\" target=\"_blank\">\n  <img\n    width=\"112\"\n    height=\"20\"\n    style=\"background:darkgray;border-radius:4px;\"\n    src=\"https://pkg-size.dev/badge/bundle/11742\"\n    title=\"Bundle size for hwy\"\n  />\n</a>\n\n## Quick Start\n\n```bash\nnpx create-hwy@latest\n```\n\n## What is Hwy?\n\nHwy is a lot like NextJS or Remix, but it uses **_HTMX_** instead of React on the frontend.\n\nHwy lets you write **_React-style JSX_** in **_nested, file-based routes_**, with **_Remix-style actions and parallel loaders_**.\n\nPage components are async, so you can even **_fetch data in JSX_** if you want to (just be careful with waterfalls).\n\nThe backend server is built on **_Hono_**, so you have access to a rich, growing ecosystem with lots of middleware and wonderful docs.\n\nHwy is **_100% server-rendered_**, but with the HTMX defaults Hwy sets up for you out of the box, your app still **_feels like an SPA_**.\n\nLinks and forms are automatically **_progressively enhanced_** thanks to HTMX's `hx-boost` feature. Just use normal anchor tags and traditional form attributes.\n\nBecause Hwy replaces the **_full page_** on transitions by default, everything stays **_simple_**. You don't have to return different components from different endpoints (unless you want to).\n\nAnd best of all, **_anything you can do with Hono or HTMX, you can do with Hwy_**.\n\n## Features\n\n- Server-rendered JSX / TSX\n- Nested, file-based routing\n- Remix-style actions and parallel loaders\n- Async page components\n- Rich Hono middleware ecosystem\n- 100% type-safe\n- Server built on Hono\n- Client built on HTMX\n- Built-in critical CSS inlining\n- Live browser refresh during development\n- And more...\n\n## Guiding Principles\n\n- No speed limits\n- Numerous off-ramps\n- Smooth, safe roads\n- Clear traffic signs\n\n## Simple usage\n\nBelow is an example of a simple Hwy page. You'll notice it looks a lot like Remix, and you're right! Hwy is heavily inspired by Remix, but it uses HTMX instead of React.\n\n```tsx\n// src/pages/user/$user_id.page.tsx\n\nimport type { DataProps, PageProps } from \"hwy\";\nimport { UserProfile, getUser } from \"./somewhere.js\";\n\nexport async function loader({ params }: DataProps) {\n  return await getUser(params.user_id);\n}\n\nexport default async function ({ loaderData }: PageProps<typeof loader>) {\n  return <UserProfile user={loaderData} />;\n}\n```\n\nOr, if you prefer to fetch inside your components:\n\n```tsx\nexport default async function ({ params }: PageProps) {\n  const user = await getUser(params.user_id);\n\n  return <UserProfile user={user} />;\n}\n```\n\n## Get Started\n\nIf you want to dive right in, just open a terminal and run `npx create-hwy@latest` and follow the prompts.\n\nIf you'd prefer to read more first, take a peek at [our docs](https://hwy.dev/docs).\n\n## Acknowledgements\n\nHwy's APIs are obviously inspired by Remix. If Remix didn't exist, Hwy likely wouldn't exist either. Hwy doesn't use any Remix code, but it still owes a big thanks to the Remix team (past and present) for their top-tier patterns design. If you're building something huge and important today, use Remix.\n\n## Disclaimer\n\nHwy is in beta! Act accordingly.\n\n## License\n\nMIT License\n\nCopyright (c) 2023 Samuel J. Cook\n","readmeFilename":"README.md","gitHead":"ff376b33f1995c069cc91bda37ac46f1c40202e3","types":"./dist/index.d.ts","_nodeVersion":"18.18.0","_npmVersion":"9.8.1","dist":{"integrity":"sha512-YQewELOyHGioGIvCBI0M5Y6GwIgbAzDG1vweg6Dw5t1W/ICVyV7dMFE3AHoNaMQJoW7vW9ETz7TjmLHnJbs8Qw==","shasum":"7957a8d4be8be92752d08584afee89dce23ee023","tarball":"https://registry.npmjs.org/hwy/-/hwy-0.7.0-beta.6.tgz","fileCount":4,"unpackedSize":38385,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCICxy3DYuEQ+aOKotQhBJJEh+wXGE0UigjgHJv9/XCl86AiEAr29fub4xa3uNTGwNuSrx8krFynb+aBeDpMTWAVItTEc="}]},"_npmUser":{"name":"sjc5","email":"email@samcook.cc"},"directories":{},"maintainers":[{"name":"sjc5","email":"email@samcook.cc"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/hwy_0.7.0-beta.6_1699669878253_0.68536728215172"},"_hasShrinkwrap":false},"0.7.0-beta.7":{"name":"hwy","version":"0.7.0-beta.7","author":{"name":"Samuel J. Cook"},"license":"MIT","description":"Simple, lightweight, and flexible web framework, built on Hono and HTMX.","type":"module","main":"dist/index.js","scripts":{"build":"rm -rf dist && tsup-node index.ts --format esm --dts","lint":"tsc","dev":"rm -rf dist && tsup-node index.ts --format esm --dts --watch --sourcemap","publish-beta":"npm publish --tag beta","publish-non-beta":"npm publish","update-latest":"pnpm update --latest","typecheck":"tsc --noEmit"},"devDependencies":{"@hono/node-server":"^1.2.0","@hwy-js/build":"workspace:*","@hwy-js/dev":"workspace:*","@types/node":"^20.9.0","hono":"^3.9.2","tsup":"^7.2.0"},"repository":{"type":"git","url":"git+https://github.com/hwy-js/hwy.git","directory":"packages/core"},"homepage":"https://hwy.dev","bugs":{"url":"https://github.com/hwy-js/hwy/issues"},"keywords":["simple","lightweight","flexible","framework","metaframework","web","typescript","htmx","hono","router","nested","routing","jsx","tsx","nextjs","remix"],"_id":"hwy@0.7.0-beta.7","readme":"# Hwy\n\nHwy is a simple, lightweight, and flexible web framework, built on Hono and HTMX.\n\n<a href=\"https://pkg-size.dev/hwy\" target=\"_blank\">\n  <img\n    width=\"112\"\n    height=\"20\"\n    style=\"background:darkgray;border-radius:4px;\"\n    src=\"https://pkg-size.dev/badge/bundle/11742\"\n    title=\"Bundle size for hwy\"\n  />\n</a>\n\n## Quick Start\n\n```bash\nnpx create-hwy@latest\n```\n\n## What is Hwy?\n\nHwy is a lot like NextJS or Remix, but it uses **_HTMX_** instead of React on the frontend.\n\nHwy lets you write **_React-style JSX_** in **_nested, file-based routes_**, with **_Remix-style actions and parallel loaders_**.\n\nPage components are async, so you can even **_fetch data in JSX_** if you want to (just be careful with waterfalls).\n\nThe backend server is built on **_Hono_**, so you have access to a rich, growing ecosystem with lots of middleware and wonderful docs.\n\nHwy is **_100% server-rendered_**, but with the HTMX defaults Hwy sets up for you out of the box, your app still **_feels like an SPA_**.\n\nLinks and forms are automatically **_progressively enhanced_** thanks to HTMX's `hx-boost` feature. Just use normal anchor tags and traditional form attributes.\n\nBecause Hwy replaces the **_full page_** on transitions by default, everything stays **_simple_**. You don't have to return different components from different endpoints (unless you want to).\n\nAnd best of all, **_anything you can do with Hono or HTMX, you can do with Hwy_**.\n\n## Features\n\n- Server-rendered JSX / TSX\n- Nested, file-based routing\n- Remix-style actions and parallel loaders\n- Async page components\n- Rich Hono middleware ecosystem\n- 100% type-safe\n- Server built on Hono\n- Client built on HTMX\n- Built-in critical CSS inlining\n- Live browser refresh during development\n- And more...\n\n## Guiding Principles\n\n- No speed limits\n- Numerous off-ramps\n- Smooth, safe roads\n- Clear traffic signs\n\n## Simple usage\n\nBelow is an example of a simple Hwy page. You'll notice it looks a lot like Remix, and you're right! Hwy is heavily inspired by Remix, but it uses HTMX instead of React.\n\n```tsx\n// src/pages/user/$user_id.page.tsx\n\nimport type { DataProps, PageProps } from \"hwy\";\nimport { UserProfile, getUser } from \"./somewhere.js\";\n\nexport async function loader({ params }: DataProps) {\n  return await getUser(params.user_id);\n}\n\nexport default async function ({ loaderData }: PageProps<typeof loader>) {\n  return <UserProfile user={loaderData} />;\n}\n```\n\nOr, if you prefer to fetch inside your components:\n\n```tsx\nexport default async function ({ params }: PageProps) {\n  const user = await getUser(params.user_id);\n\n  return <UserProfile user={user} />;\n}\n```\n\n## Get Started\n\nIf you want to dive right in, just open a terminal and run `npx create-hwy@latest` and follow the prompts.\n\nIf you'd prefer to read more first, take a peek at [our docs](https://hwy.dev/docs).\n\n## Acknowledgements\n\nHwy's APIs are obviously inspired by Remix. If Remix didn't exist, Hwy likely wouldn't exist either. Hwy doesn't use any Remix code, but it still owes a big thanks to the Remix team (past and present) for their top-tier patterns design. If you're building something huge and important today, use Remix.\n\n## Disclaimer\n\nHwy is in beta! Act accordingly.\n\n## License\n\nMIT License\n\nCopyright (c) 2023 Samuel J. Cook\n","readmeFilename":"README.md","gitHead":"174ca6ea59295755145371c5665942c11df5ec05","types":"./dist/index.d.ts","_nodeVersion":"18.18.0","_npmVersion":"9.8.1","dist":{"integrity":"sha512-8tUP+XDlqySup5XpGpuaswIx0j+GIevHcGTfzuK/cU3iDoBNGrOSm2ZNA+xcCwpQsO8myssEo+Zvg9/1s5wG5g==","shasum":"fbc284fdfb6950648e767be4c3fed26677b54f26","tarball":"https://registry.npmjs.org/hwy/-/hwy-0.7.0-beta.7.tgz","fileCount":4,"unpackedSize":38385,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQC3t3D9vRt0XMkP7j6+Qqn4kEp/2kmOr5T/B50934dCPQIgG1Ss5e0vel2agyByhEIIb9xFkBEgU7qFTRLrYpgBpYQ="}]},"_npmUser":{"name":"sjc5","email":"email@samcook.cc"},"directories":{},"maintainers":[{"name":"sjc5","email":"email@samcook.cc"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/hwy_0.7.0-beta.7_1699721647343_0.8640093863078884"},"_hasShrinkwrap":false},"0.7.0-beta.8":{"name":"hwy","version":"0.7.0-beta.8","author":{"name":"Samuel J. Cook"},"license":"MIT","description":"Simple, lightweight, and flexible web framework, built on Hono and HTMX.","type":"module","main":"dist/index.js","scripts":{"build":"rm -rf dist && tsup-node index.ts --format esm --dts","lint":"tsc","dev":"rm -rf dist && tsup-node index.ts --format esm --dts --watch --sourcemap","publish-beta":"npm publish --tag beta","publish-non-beta":"npm publish","update-latest":"pnpm update --latest","typecheck":"tsc --noEmit"},"devDependencies":{"@hono/node-server":"^1.2.0","@hwy-js/build":"workspace:*","@hwy-js/dev":"workspace:*","@types/node":"^20.9.0","hono":"^3.9.2","tsup":"^7.2.0"},"repository":{"type":"git","url":"git+https://github.com/hwy-js/hwy.git","directory":"packages/core"},"homepage":"https://hwy.dev","bugs":{"url":"https://github.com/hwy-js/hwy/issues"},"keywords":["simple","lightweight","flexible","framework","metaframework","web","typescript","htmx","hono","router","nested","routing","jsx","tsx","nextjs","remix"],"_id":"hwy@0.7.0-beta.8","readme":"# Hwy\n\nHwy is a simple, lightweight, and flexible web framework, built on Hono and HTMX.\n\n<a href=\"https://pkg-size.dev/hwy\" target=\"_blank\">\n  <img\n    width=\"112\"\n    height=\"20\"\n    style=\"background:darkgray;border-radius:4px;\"\n    src=\"https://pkg-size.dev/badge/bundle/11742\"\n    title=\"Bundle size for hwy\"\n  />\n</a>\n\n## Quick Start\n\n```bash\nnpx create-hwy@latest\n```\n\n## What is Hwy?\n\nHwy is a lot like NextJS or Remix, but it uses **_HTMX_** instead of React on the frontend.\n\nHwy lets you write **_React-style JSX_** in **_nested, file-based routes_**, with **_Remix-style actions and parallel loaders_**.\n\nPage components are async, so you can even **_fetch data in JSX_** if you want to (just be careful with waterfalls).\n\nThe backend server is built on **_Hono_**, so you have access to a rich, growing ecosystem with lots of middleware and wonderful docs.\n\nHwy is **_100% server-rendered_**, but with the HTMX defaults Hwy sets up for you out of the box, your app still **_feels like an SPA_**.\n\nLinks and forms are automatically **_progressively enhanced_** thanks to HTMX's `hx-boost` feature. Just use normal anchor tags and traditional form attributes.\n\nBecause Hwy replaces the **_full page_** on transitions by default, everything stays **_simple_**. You don't have to return different components from different endpoints (unless you want to).\n\nAnd best of all, **_anything you can do with Hono or HTMX, you can do with Hwy_**.\n\n## Features\n\n- Server-rendered JSX / TSX\n- Nested, file-based routing\n- Remix-style actions and parallel loaders\n- Async page components\n- Rich Hono middleware ecosystem\n- 100% type-safe\n- Server built on Hono\n- Client built on HTMX\n- Built-in critical CSS inlining\n- Live browser refresh during development\n- And more...\n\n## Guiding Principles\n\n- No speed limits\n- Numerous off-ramps\n- Smooth, safe roads\n- Clear traffic signs\n\n## Simple usage\n\nBelow is an example of a simple Hwy page. You'll notice it looks a lot like Remix, and you're right! Hwy is heavily inspired by Remix, but it uses HTMX instead of React.\n\n```tsx\n// src/pages/user/$user_id.page.tsx\n\nimport type { DataProps, PageProps } from \"hwy\";\nimport { UserProfile, getUser } from \"./somewhere.js\";\n\nexport async function loader({ params }: DataProps) {\n  return await getUser(params.user_id);\n}\n\nexport default async function ({ loaderData }: PageProps<typeof loader>) {\n  return <UserProfile user={loaderData} />;\n}\n```\n\nOr, if you prefer to fetch inside your components:\n\n```tsx\nexport default async function ({ params }: PageProps) {\n  const user = await getUser(params.user_id);\n\n  return <UserProfile user={user} />;\n}\n```\n\n## Get Started\n\nIf you want to dive right in, just open a terminal and run `npx create-hwy@latest` and follow the prompts.\n\nIf you'd prefer to read more first, take a peek at [our docs](https://hwy.dev/docs).\n\n## Acknowledgements\n\nHwy's APIs are obviously inspired by Remix. If Remix didn't exist, Hwy likely wouldn't exist either. Hwy doesn't use any Remix code, but it still owes a big thanks to the Remix team (past and present) for their top-tier patterns design. If you're building something huge and important today, use Remix.\n\n## Disclaimer\n\nHwy is in beta! Act accordingly.\n\n## License\n\nMIT License\n\nCopyright (c) 2023 Samuel J. Cook\n","readmeFilename":"README.md","gitHead":"174ca6ea59295755145371c5665942c11df5ec05","types":"./dist/index.d.ts","_nodeVersion":"18.18.0","_npmVersion":"9.8.1","dist":{"integrity":"sha512-vsn4ut+hJOwUxwUJoHA9XxEbq+iDyIcdyDbb7LBXN5DaISthd4qcEHJspaRxED521hO1oRqZEC7paUZ9Wod+lg==","shasum":"03d711ffaeb72c4ca353eae8b199b1006aba318c","tarball":"https://registry.npmjs.org/hwy/-/hwy-0.7.0-beta.8.tgz","fileCount":4,"unpackedSize":38385,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCrIgS0O1Dir6EcRA8SrYYGswLA0Af96dsq5CdrrFLLlgIhAIJdHIRQYuwLmm/EqYFAGlFs4eFJAGDghYe4q8EtyrIp"}]},"_npmUser":{"name":"sjc5","email":"email@samcook.cc"},"directories":{},"maintainers":[{"name":"sjc5","email":"email@samcook.cc"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/hwy_0.7.0-beta.8_1699731874700_0.8084779544903344"},"_hasShrinkwrap":false},"0.7.0-beta.9":{"name":"hwy","version":"0.7.0-beta.9","author":{"name":"Samuel J. Cook"},"license":"MIT","description":"Simple, lightweight, and flexible web framework, built on Hono and HTMX.","type":"module","main":"dist/index.js","scripts":{"build":"rm -rf dist && tsup-node index.ts --format esm --dts","lint":"tsc","dev":"rm -rf dist && tsup-node index.ts --format esm --dts --watch --sourcemap","publish-beta":"npm publish --tag beta","publish-non-beta":"npm publish","update-latest":"pnpm update --latest","typecheck":"tsc --noEmit"},"devDependencies":{"@hono/node-server":"^1.2.0","@hwy-js/build":"workspace:*","@hwy-js/dev":"workspace:*","@types/node":"^20.9.0","hono":"^3.9.2","tsup":"^7.2.0"},"repository":{"type":"git","url":"git+https://github.com/hwy-js/hwy.git","directory":"packages/core"},"homepage":"https://hwy.dev","bugs":{"url":"https://github.com/hwy-js/hwy/issues"},"keywords":["simple","lightweight","flexible","framework","metaframework","web","typescript","htmx","hono","router","nested","routing","jsx","tsx","nextjs","remix"],"_id":"hwy@0.7.0-beta.9","readme":"# Hwy\n\nHwy is a simple, lightweight, and flexible web framework, built on Hono and HTMX.\n\n<a href=\"https://pkg-size.dev/hwy\" target=\"_blank\">\n  <img\n    width=\"112\"\n    height=\"20\"\n    style=\"background:darkgray;border-radius:4px;\"\n    src=\"https://pkg-size.dev/badge/bundle/11742\"\n    title=\"Bundle size for hwy\"\n  />\n</a>\n\n## Quick Start\n\n```bash\nnpx create-hwy@latest\n```\n\n## What is Hwy?\n\nHwy is a lot like NextJS or Remix, but it uses **_HTMX_** instead of React on the frontend.\n\nHwy lets you write **_React-style JSX_** in **_nested, file-based routes_**, with **_Remix-style actions and parallel loaders_**.\n\nPage components are async, so you can even **_fetch data in JSX_** if you want to (just be careful with waterfalls).\n\nThe backend server is built on **_Hono_**, so you have access to a rich, growing ecosystem with lots of middleware and wonderful docs.\n\nHwy is **_100% server-rendered_**, but with the HTMX defaults Hwy sets up for you out of the box, your app still **_feels like an SPA_**.\n\nLinks and forms are automatically **_progressively enhanced_** thanks to HTMX's `hx-boost` feature. Just use normal anchor tags and traditional form attributes.\n\nBecause Hwy replaces the **_full page_** on transitions by default, everything stays **_simple_**. You don't have to return different components from different endpoints (unless you want to).\n\nAnd best of all, **_anything you can do with Hono or HTMX, you can do with Hwy_**.\n\n## Features\n\n- Server-rendered JSX / TSX\n- Nested, file-based routing\n- Remix-style actions and parallel loaders\n- Async page components\n- Rich Hono middleware ecosystem\n- 100% type-safe\n- Server built on Hono\n- Client built on HTMX\n- Built-in critical CSS inlining\n- Live browser refresh during development\n- And more...\n\n## Guiding Principles\n\n- No speed limits\n- Numerous off-ramps\n- Smooth, safe roads\n- Clear traffic signs\n\n## Simple usage\n\nBelow is an example of a simple Hwy page. You'll notice it looks a lot like Remix, and you're right! Hwy is heavily inspired by Remix, but it uses HTMX instead of React.\n\n```tsx\n// src/pages/user/$user_id.page.tsx\n\nimport type { DataProps, PageProps } from \"hwy\";\nimport { UserProfile, getUser } from \"./somewhere.js\";\n\nexport async function loader({ params }: DataProps) {\n  return await getUser(params.user_id);\n}\n\nexport default async function ({ loaderData }: PageProps<typeof loader>) {\n  return <UserProfile user={loaderData} />;\n}\n```\n\nOr, if you prefer to fetch inside your components:\n\n```tsx\nexport default async function ({ params }: PageProps) {\n  const user = await getUser(params.user_id);\n\n  return <UserProfile user={user} />;\n}\n```\n\n## Get Started\n\nIf you want to dive right in, just open a terminal and run `npx create-hwy@latest` and follow the prompts.\n\nIf you'd prefer to read more first, take a peek at [our docs](https://hwy.dev/docs).\n\n## Acknowledgements\n\nHwy's APIs are obviously inspired by Remix. If Remix didn't exist, Hwy likely wouldn't exist either. Hwy doesn't use any Remix code, but it still owes a big thanks to the Remix team (past and present) for their top-tier patterns design. If you're building something huge and important today, use Remix.\n\n## Disclaimer\n\nHwy is in beta! Act accordingly.\n\n## License\n\nMIT License\n\nCopyright (c) 2023 Samuel J. Cook\n","readmeFilename":"README.md","gitHead":"174ca6ea59295755145371c5665942c11df5ec05","types":"./dist/index.d.ts","_nodeVersion":"18.18.0","_npmVersion":"9.8.1","dist":{"integrity":"sha512-ttntpnQPLLwagekc8vLpLIVUDNohTPpb5HvdMux05HPbqFvdbUF/rb6xtp8BT32hxEUmhpFsao4erVfXnHtbEg==","shasum":"92b23634781b63e3364db06290de3ba187960066","tarball":"https://registry.npmjs.org/hwy/-/hwy-0.7.0-beta.9.tgz","fileCount":4,"unpackedSize":38385,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIFx8eg5hVRzMIo3ky829V5eBLScoGhNYpDF/cAt5Jg5PAiEAzJSa1E07DvfOF0hHuKAWrp3n4rr2oZUH4j8jL+DUkGU="}]},"_npmUser":{"name":"sjc5","email":"email@samcook.cc"},"directories":{},"maintainers":[{"name":"sjc5","email":"email@samcook.cc"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/hwy_0.7.0-beta.9_1699732113650_0.8729140784679996"},"_hasShrinkwrap":false},"0.7.0-beta.10":{"name":"hwy","version":"0.7.0-beta.10","author":{"name":"Samuel J. Cook"},"license":"MIT","description":"Simple, lightweight, and flexible web framework, built on Hono and HTMX.","type":"module","main":"dist/index.js","scripts":{"build":"rm -rf dist && tsup-node index.ts --format esm --dts","lint":"tsc","dev":"rm -rf dist && tsup-node index.ts --format esm --dts --watch --sourcemap","publish-beta":"npm publish --tag beta","publish-non-beta":"npm publish","update-latest":"pnpm update --latest","typecheck":"tsc --noEmit"},"devDependencies":{"@hono/node-server":"^1.2.0","@hwy-js/build":"workspace:*","@hwy-js/dev":"workspace:*","@types/node":"^20.9.0","hono":"^3.9.2","tsup":"^7.2.0"},"repository":{"type":"git","url":"git+https://github.com/hwy-js/hwy.git","directory":"packages/core"},"homepage":"https://hwy.dev","bugs":{"url":"https://github.com/hwy-js/hwy/issues"},"keywords":["simple","lightweight","flexible","framework","metaframework","web","typescript","htmx","hono","router","nested","routing","jsx","tsx","nextjs","remix"],"_id":"hwy@0.7.0-beta.10","readme":"# Hwy\n\nHwy is a simple, lightweight, and flexible web framework, built on Hono and HTMX.\n\n<a href=\"https://pkg-size.dev/hwy\" target=\"_blank\">\n  <img\n    width=\"112\"\n    height=\"20\"\n    style=\"background:darkgray;border-radius:4px;\"\n    src=\"https://pkg-size.dev/badge/bundle/11742\"\n    title=\"Bundle size for hwy\"\n  />\n</a>\n\n## Quick Start\n\n```bash\nnpx create-hwy@latest\n```\n\n## What is Hwy?\n\nHwy is a lot like NextJS or Remix, but it uses **_HTMX_** instead of React on the frontend.\n\nHwy lets you write **_React-style JSX_** in **_nested, file-based routes_**, with **_Remix-style actions and parallel loaders_**.\n\nPage components are async, so you can even **_fetch data in JSX_** if you want to (just be careful with waterfalls).\n\nThe backend server is built on **_Hono_**, so you have access to a rich, growing ecosystem with lots of middleware and wonderful docs.\n\nHwy is **_100% server-rendered_**, but with the HTMX defaults Hwy sets up for you out of the box, your app still **_feels like an SPA_**.\n\nLinks and forms are automatically **_progressively enhanced_** thanks to HTMX's `hx-boost` feature. Just use normal anchor tags and traditional form attributes.\n\nBecause Hwy replaces the **_full page_** on transitions by default, everything stays **_simple_**. You don't have to return different components from different endpoints (unless you want to).\n\nAnd best of all, **_anything you can do with Hono or HTMX, you can do with Hwy_**.\n\n## Features\n\n- Server-rendered JSX / TSX\n- Nested, file-based routing\n- Remix-style actions and parallel loaders\n- Async page components\n- Rich Hono middleware ecosystem\n- 100% type-safe\n- Server built on Hono\n- Client built on HTMX\n- Built-in critical CSS inlining\n- Live browser refresh during development\n- And more...\n\n## Guiding Principles\n\n- No speed limits\n- Numerous off-ramps\n- Smooth, safe roads\n- Clear traffic signs\n\n## Simple usage\n\nBelow is an example of a simple Hwy page. You'll notice it looks a lot like Remix, and you're right! Hwy is heavily inspired by Remix, but it uses HTMX instead of React.\n\n```tsx\n// src/pages/user/$user_id.page.tsx\n\nimport type { DataProps, PageProps } from \"hwy\";\nimport { UserProfile, getUser } from \"./somewhere.js\";\n\nexport async function loader({ params }: DataProps) {\n  return await getUser(params.user_id);\n}\n\nexport default async function ({ loaderData }: PageProps<typeof loader>) {\n  return <UserProfile user={loaderData} />;\n}\n```\n\nOr, if you prefer to fetch inside your components:\n\n```tsx\nexport default async function ({ params }: PageProps) {\n  const user = await getUser(params.user_id);\n\n  return <UserProfile user={user} />;\n}\n```\n\n## Get Started\n\nIf you want to dive right in, just open a terminal and run `npx create-hwy@latest` and follow the prompts.\n\nIf you'd prefer to read more first, take a peek at [our docs](https://hwy.dev/docs).\n\n## Acknowledgements\n\nHwy's APIs are obviously inspired by Remix. If Remix didn't exist, Hwy likely wouldn't exist either. Hwy doesn't use any Remix code, but it still owes a big thanks to the Remix team (past and present) for their top-tier patterns design. If you're building something huge and important today, use Remix.\n\n## Disclaimer\n\nHwy is in beta! Act accordingly.\n\n## License\n\nMIT License\n\nCopyright (c) 2023 Samuel J. Cook\n","readmeFilename":"README.md","gitHead":"174ca6ea59295755145371c5665942c11df5ec05","types":"./dist/index.d.ts","_nodeVersion":"18.18.0","_npmVersion":"9.8.1","dist":{"integrity":"sha512-CyOvFH4AFwTnfj/VjgxhUJvckCuu6eN1g3vfrkoqio07x/uPPjAPU1kTBrNd09U2praL4ZBX7oeKTnogEhGkTg==","shasum":"2289f10f0febec31ff4bc2aa972a51f6c2b154cf","tarball":"https://registry.npmjs.org/hwy/-/hwy-0.7.0-beta.10.tgz","fileCount":4,"unpackedSize":38386,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCW6CiH/lViUT8mh2gIwTR3UAWs0CjZSp0rUaxZvJk/uwIgcgVEfAP40J6coWIqcpld+uGVEE+Jqjgad6gXicPychg="}]},"_npmUser":{"name":"sjc5","email":"email@samcook.cc"},"directories":{},"maintainers":[{"name":"sjc5","email":"email@samcook.cc"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/hwy_0.7.0-beta.10_1699732893373_0.7033713273200992"},"_hasShrinkwrap":false},"0.7.0-beta.11":{"name":"hwy","version":"0.7.0-beta.11","author":{"name":"Samuel J. Cook"},"license":"MIT","description":"Simple, lightweight, and flexible web framework, built on Hono and HTMX.","type":"module","main":"dist/index.js","scripts":{"build":"rm -rf dist && tsup-node index.ts --format esm --dts","lint":"tsc","dev":"rm -rf dist && tsup-node index.ts --format esm --dts --watch --sourcemap","publish-beta":"npm publish --tag beta","publish-non-beta":"npm publish","update-latest":"pnpm update --latest","typecheck":"tsc --noEmit"},"devDependencies":{"@hono/node-server":"^1.2.0","@hwy-js/build":"workspace:*","@hwy-js/dev":"workspace:*","@types/node":"^20.9.0","hono":"^3.9.2","tsup":"^7.2.0"},"repository":{"type":"git","url":"git+https://github.com/hwy-js/hwy.git","directory":"packages/core"},"homepage":"https://hwy.dev","bugs":{"url":"https://github.com/hwy-js/hwy/issues"},"keywords":["simple","lightweight","flexible","framework","metaframework","web","typescript","htmx","hono","router","nested","routing","jsx","tsx","nextjs","remix"],"_id":"hwy@0.7.0-beta.11","readme":"# Hwy\n\nHwy is a simple, lightweight, and flexible web framework, built on Hono and HTMX.\n\n<a href=\"https://pkg-size.dev/hwy\" target=\"_blank\">\n  <img\n    width=\"112\"\n    height=\"20\"\n    style=\"background:darkgray;border-radius:4px;\"\n    src=\"https://pkg-size.dev/badge/bundle/11742\"\n    title=\"Bundle size for hwy\"\n  />\n</a>\n\n## Quick Start\n\n```bash\nnpx create-hwy@latest\n```\n\n## What is Hwy?\n\nHwy is a lot like NextJS or Remix, but it uses **_HTMX_** instead of React on the frontend.\n\nHwy lets you write **_React-style JSX_** in **_nested, file-based routes_**, with **_Remix-style actions and parallel loaders_**.\n\nPage components are async, so you can even **_fetch data in JSX_** if you want to (just be careful with waterfalls).\n\nThe backend server is built on **_Hono_**, so you have access to a rich, growing ecosystem with lots of middleware and wonderful docs.\n\nHwy is **_100% server-rendered_**, but with the HTMX defaults Hwy sets up for you out of the box, your app still **_feels like an SPA_**.\n\nLinks and forms are automatically **_progressively enhanced_** thanks to HTMX's `hx-boost` feature. Just use normal anchor tags and traditional form attributes.\n\nBecause Hwy replaces the **_full page_** on transitions by default, everything stays **_simple_**. You don't have to return different components from different endpoints (unless you want to).\n\nAnd best of all, **_anything you can do with Hono or HTMX, you can do with Hwy_**.\n\n## Features\n\n- Server-rendered JSX / TSX\n- Nested, file-based routing\n- Remix-style actions and parallel loaders\n- Async page components\n- Rich Hono middleware ecosystem\n- 100% type-safe\n- Server built on Hono\n- Client built on HTMX\n- Built-in critical CSS inlining\n- Live browser refresh during development\n- And more...\n\n## Guiding Principles\n\n- No speed limits\n- Numerous off-ramps\n- Smooth, safe roads\n- Clear traffic signs\n\n## Simple usage\n\nBelow is an example of a simple Hwy page. You'll notice it looks a lot like Remix, and you're right! Hwy is heavily inspired by Remix, but it uses HTMX instead of React.\n\n```tsx\n// src/pages/user/$user_id.page.tsx\n\nimport type { DataProps, PageProps } from \"hwy\";\nimport { UserProfile, getUser } from \"./somewhere.js\";\n\nexport async function loader({ params }: DataProps) {\n  return await getUser(params.user_id);\n}\n\nexport default async function ({ loaderData }: PageProps<typeof loader>) {\n  return <UserProfile user={loaderData} />;\n}\n```\n\nOr, if you prefer to fetch inside your components:\n\n```tsx\nexport default async function ({ params }: PageProps) {\n  const user = await getUser(params.user_id);\n\n  return <UserProfile user={user} />;\n}\n```\n\n## Get Started\n\nIf you want to dive right in, just open a terminal and run `npx create-hwy@latest` and follow the prompts.\n\nIf you'd prefer to read more first, take a peek at [our docs](https://hwy.dev/docs).\n\n## Acknowledgements\n\nHwy's APIs are obviously inspired by Remix. If Remix didn't exist, Hwy likely wouldn't exist either. Hwy doesn't use any Remix code, but it still owes a big thanks to the Remix team (past and present) for their top-tier patterns design. If you're building something huge and important today, use Remix.\n\n## Disclaimer\n\nHwy is in beta! Act accordingly.\n\n## License\n\nMIT License\n\nCopyright (c) 2023 Samuel J. Cook\n","readmeFilename":"README.md","gitHead":"d586d44a1064fd2b15abd061653649fd2391000d","types":"./dist/index.d.ts","_nodeVersion":"18.18.0","_npmVersion":"9.8.1","dist":{"integrity":"sha512-oBbMR5b1YkYWN/ZnY1gaUAl2WeyUnhORwxN9+fmtZjbj1pYm0eGLu+KIdFw55hK2MHCCqHdYy+F98hn2twa9OA==","shasum":"dd14198ec0bc74895cea8eb1cfed59f57cd6cec4","tarball":"https://registry.npmjs.org/hwy/-/hwy-0.7.0-beta.11.tgz","fileCount":4,"unpackedSize":38386,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDj73/B+Sk/tcD8BHtck1ZtDct0GzJdEjeKixrwHbsZrwIhALvslWvGx2JjLjONgJRMfx4zOnGmiyWWLPs7SFSPjKvI"}]},"_npmUser":{"name":"sjc5","email":"email@samcook.cc"},"directories":{},"maintainers":[{"name":"sjc5","email":"email@samcook.cc"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/hwy_0.7.0-beta.11_1699801008207_0.4659868098627751"},"_hasShrinkwrap":false},"0.7.0-beta.12":{"name":"hwy","version":"0.7.0-beta.12","author":{"name":"Samuel J. Cook"},"license":"MIT","description":"Simple, lightweight, and flexible web framework, built on Hono and HTMX.","type":"module","main":"dist/index.js","scripts":{"build":"rm -rf dist && tsup-node index.ts --format esm --dts","lint":"tsc","dev":"rm -rf dist && tsup-node index.ts --format esm --dts --watch --sourcemap","publish-beta":"npm publish --tag beta","publish-non-beta":"npm publish","update-latest":"pnpm update --latest","typecheck":"tsc --noEmit"},"devDependencies":{"@hono/node-server":"^1.2.0","@hwy-js/build":"workspace:*","@hwy-js/dev":"workspace:*","@types/node":"^20.9.0","hono":"^3.9.2","tsup":"^7.2.0"},"repository":{"type":"git","url":"git+https://github.com/hwy-js/hwy.git","directory":"packages/core"},"homepage":"https://hwy.dev","bugs":{"url":"https://github.com/hwy-js/hwy/issues"},"keywords":["simple","lightweight","flexible","framework","metaframework","web","typescript","htmx","hono","router","nested","routing","jsx","tsx","nextjs","remix"],"_id":"hwy@0.7.0-beta.12","readme":"# Hwy\n\nHwy is a simple, lightweight, and flexible web framework, built on Hono and HTMX.\n\n<a href=\"https://pkg-size.dev/hwy\" target=\"_blank\">\n  <img\n    width=\"112\"\n    height=\"20\"\n    style=\"background:darkgray;border-radius:4px;\"\n    src=\"https://pkg-size.dev/badge/bundle/11742\"\n    title=\"Bundle size for hwy\"\n  />\n</a>\n\n## Quick Start\n\n```bash\nnpx create-hwy@latest\n```\n\n## What is Hwy?\n\nHwy is a lot like NextJS or Remix, but it uses **_HTMX_** instead of React on the frontend.\n\nHwy lets you write **_React-style JSX_** in **_nested, file-based routes_**, with **_Remix-style actions and parallel loaders_**.\n\nPage components are async, so you can even **_fetch data in JSX_** if you want to (just be careful with waterfalls).\n\nThe backend server is built on **_Hono_**, so you have access to a rich, growing ecosystem with lots of middleware and wonderful docs.\n\nHwy is **_100% server-rendered_**, but with the HTMX defaults Hwy sets up for you out of the box, your app still **_feels like an SPA_**.\n\nLinks and forms are automatically **_progressively enhanced_** thanks to HTMX's `hx-boost` feature. Just use normal anchor tags and traditional form attributes.\n\nBecause Hwy replaces the **_full page_** on transitions by default, everything stays **_simple_**. You don't have to return different components from different endpoints (unless you want to).\n\nAnd best of all, **_anything you can do with Hono or HTMX, you can do with Hwy_**.\n\n## Features\n\n- Server-rendered JSX / TSX\n- Nested, file-based routing\n- Remix-style actions and parallel loaders\n- Async page components\n- Rich Hono middleware ecosystem\n- 100% type-safe\n- Server built on Hono\n- Client built on HTMX\n- Built-in critical CSS inlining\n- Live browser refresh during development\n- And more...\n\n## Guiding Principles\n\n- No speed limits\n- Numerous off-ramps\n- Smooth, safe roads\n- Clear traffic signs\n\n## Simple usage\n\nBelow is an example of a simple Hwy page. You'll notice it looks a lot like Remix, and you're right! Hwy is heavily inspired by Remix, but it uses HTMX instead of React.\n\n```tsx\n// src/pages/user/$user_id.page.tsx\n\nimport type { DataProps, PageProps } from \"hwy\";\nimport { UserProfile, getUser } from \"./somewhere.js\";\n\nexport async function loader({ params }: DataProps) {\n  return await getUser(params.user_id);\n}\n\nexport default async function ({ loaderData }: PageProps<typeof loader>) {\n  return <UserProfile user={loaderData} />;\n}\n```\n\nOr, if you prefer to fetch inside your components:\n\n```tsx\nexport default async function ({ params }: PageProps) {\n  const user = await getUser(params.user_id);\n\n  return <UserProfile user={user} />;\n}\n```\n\n## Get Started\n\nIf you want to dive right in, just open a terminal and run `npx create-hwy@latest` and follow the prompts.\n\nIf you'd prefer to read more first, take a peek at [our docs](https://hwy.dev/docs).\n\n## Acknowledgements\n\nHwy's APIs are obviously inspired by Remix. If Remix didn't exist, Hwy likely wouldn't exist either. Hwy doesn't use any Remix code, but it still owes a big thanks to the Remix team (past and present) for their top-tier patterns design. If you're building something huge and important today, use Remix.\n\n## Disclaimer\n\nHwy is in beta! Act accordingly.\n\n## License\n\nMIT License\n\nCopyright (c) 2023 Samuel J. Cook\n","readmeFilename":"README.md","gitHead":"d586d44a1064fd2b15abd061653649fd2391000d","types":"./dist/index.d.ts","_nodeVersion":"18.18.0","_npmVersion":"9.8.1","dist":{"integrity":"sha512-Ek2lnyZ+IQ8sfj+e//meLyZ+UZQIXYP9heHeBZie/QksEdz7hWVgZ6LSgRIbqp7FFfdzh042VLksVdw8Gei88w==","shasum":"4e27624348d362c01134f6dc6558dd48c0a6d192","tarball":"https://registry.npmjs.org/hwy/-/hwy-0.7.0-beta.12.tgz","fileCount":4,"unpackedSize":38386,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQC2Ium52UF2J6lw93u9r7mX35wLvmuLKIBKf6ZFCx5hdQIhAOwd8gkWs4EeQT4DKAwjkH52oxzXkpk8cOz5AvXoI8d3"}]},"_npmUser":{"name":"sjc5","email":"email@samcook.cc"},"directories":{},"maintainers":[{"name":"sjc5","email":"email@samcook.cc"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/hwy_0.7.0-beta.12_1699801507782_0.035778001198473186"},"_hasShrinkwrap":false},"0.7.0-beta.13":{"name":"hwy","version":"0.7.0-beta.13","author":{"name":"Samuel J. Cook"},"license":"MIT","description":"Simple, lightweight, and flexible web framework, built on Hono and HTMX.","type":"module","main":"dist/index.js","scripts":{"build":"rm -rf dist && tsup-node index.ts --format esm --dts","lint":"tsc","dev":"rm -rf dist && tsup-node index.ts --format esm --dts --watch --sourcemap","publish-beta":"npm publish --tag beta","publish-non-beta":"npm publish","update-latest":"pnpm update --latest","typecheck":"tsc --noEmit"},"devDependencies":{"@hono/node-server":"^1.2.2","@hwy-js/build":"workspace:*","@hwy-js/dev":"workspace:*","@types/node":"^20.9.0","hono":"^3.9.2","tsup":"^7.2.0"},"repository":{"type":"git","url":"git+https://github.com/hwy-js/hwy.git","directory":"packages/core"},"homepage":"https://hwy.dev","bugs":{"url":"https://github.com/hwy-js/hwy/issues"},"keywords":["simple","lightweight","flexible","framework","metaframework","web","typescript","htmx","hono","router","nested","routing","jsx","tsx","nextjs","remix"],"_id":"hwy@0.7.0-beta.13","readme":"# Hwy\n\nHwy is a simple, lightweight, and flexible web framework, built on Hono and HTMX.\n\n<a href=\"https://pkg-size.dev/hwy\" target=\"_blank\">\n  <img\n    width=\"112\"\n    height=\"20\"\n    style=\"background:darkgray;border-radius:4px;\"\n    src=\"https://pkg-size.dev/badge/bundle/11742\"\n    title=\"Bundle size for hwy\"\n  />\n</a>\n\n## Quick Start\n\n```bash\nnpx create-hwy@latest\n```\n\n## What is Hwy?\n\nHwy is a lot like NextJS or Remix, but it uses **_HTMX_** instead of React on the frontend.\n\nHwy lets you write **_React-style JSX_** in **_nested, file-based routes_**, with **_Remix-style actions and parallel loaders_**.\n\nPage components are async, so you can even **_fetch data in JSX_** if you want to (just be careful with waterfalls).\n\nThe backend server is built on **_Hono_**, so you have access to a rich, growing ecosystem with lots of middleware and wonderful docs.\n\nHwy is **_100% server-rendered_**, but with the HTMX defaults Hwy sets up for you out of the box, your app still **_feels like an SPA_**.\n\nLinks and forms are automatically **_progressively enhanced_** thanks to HTMX's `hx-boost` feature. Just use normal anchor tags and traditional form attributes.\n\nBecause Hwy replaces the **_full page_** on transitions by default, everything stays **_simple_**. You don't have to return different components from different endpoints (unless you want to).\n\nAnd best of all, **_anything you can do with Hono or HTMX, you can do with Hwy_**.\n\n## Features\n\n- Server-rendered JSX / TSX\n- Nested, file-based routing\n- Remix-style actions and parallel loaders\n- Async page components\n- Rich Hono middleware ecosystem\n- 100% type-safe\n- Server built on Hono\n- Client built on HTMX\n- Built-in critical CSS inlining\n- Live browser refresh during development\n- And more...\n\n## Guiding Principles\n\n- No speed limits\n- Numerous off-ramps\n- Smooth, safe roads\n- Clear traffic signs\n\n## Simple usage\n\nBelow is an example of a simple Hwy page. You'll notice it looks a lot like Remix, and you're right! Hwy is heavily inspired by Remix, but it uses HTMX instead of React.\n\n```tsx\n// src/pages/user/$user_id.page.tsx\n\nimport type { DataProps, PageProps } from \"hwy\";\nimport { UserProfile, getUser } from \"./somewhere.js\";\n\nexport async function loader({ params }: DataProps) {\n  return await getUser(params.user_id);\n}\n\nexport default async function ({ loaderData }: PageProps<typeof loader>) {\n  return <UserProfile user={loaderData} />;\n}\n```\n\nOr, if you prefer to fetch inside your components:\n\n```tsx\nexport default async function ({ params }: PageProps) {\n  const user = await getUser(params.user_id);\n\n  return <UserProfile user={user} />;\n}\n```\n\n## Get Started\n\nIf you want to dive right in, just open a terminal and run `npx create-hwy@latest` and follow the prompts.\n\nIf you'd prefer to read more first, take a peek at [our docs](https://hwy.dev/docs).\n\n## Acknowledgements\n\nHwy's APIs are obviously inspired by Remix. If Remix didn't exist, Hwy likely wouldn't exist either. Hwy doesn't use any Remix code, but it still owes a big thanks to the Remix team (past and present) for their top-tier patterns design. If you're building something huge and important today, use Remix.\n\n## Disclaimer\n\nHwy is in beta! Act accordingly.\n\n## License\n\nMIT License\n\nCopyright (c) 2023 Samuel J. Cook\n","readmeFilename":"README.md","gitHead":"d586d44a1064fd2b15abd061653649fd2391000d","types":"./dist/index.d.ts","_nodeVersion":"18.18.0","_npmVersion":"9.8.1","dist":{"integrity":"sha512-WPmrdtSwBYQRwvVcGEPvVT0/BTj6+t+o777Mf3ulCq230ZCfZLVGUebs9MW+cQunnwAix8YA/IHbXPI3K1unEQ==","shasum":"26c0a37a2912964f6dcd72bf99de32dd47b14cdf","tarball":"https://registry.npmjs.org/hwy/-/hwy-0.7.0-beta.13.tgz","fileCount":4,"unpackedSize":38386,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDXVvaEUXsdPZB/fVmgHIJHXmrmzc3kj4HjNgFTsfcuIgIgb7HwQa+EtqDIBJEYceFlHV74hK8ivCg60+IUXuBgXRI="}]},"_npmUser":{"name":"sjc5","email":"email@samcook.cc"},"directories":{},"maintainers":[{"name":"sjc5","email":"email@samcook.cc"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/hwy_0.7.0-beta.13_1699804222929_0.19160349960856604"},"_hasShrinkwrap":false},"0.7.0-beta.14":{"name":"hwy","version":"0.7.0-beta.14","author":{"name":"Samuel J. Cook"},"license":"MIT","description":"Simple, lightweight, and flexible web framework, built on Hono and HTMX.","type":"module","main":"dist/index.js","scripts":{"build":"rm -rf dist && tsup-node index.ts --format esm --dts","lint":"tsc","dev":"rm -rf dist && tsup-node index.ts --format esm --dts --watch --sourcemap","publish-beta":"npm publish --tag beta","publish-non-beta":"npm publish","update-latest":"pnpm update --latest","typecheck":"tsc --noEmit"},"devDependencies":{"@hono/node-server":"^1.2.2","@hwy-js/build":"workspace:*","@hwy-js/dev":"workspace:*","@types/node":"^20.9.0","hono":"^3.9.2","tsup":"^7.2.0"},"repository":{"type":"git","url":"git+https://github.com/hwy-js/hwy.git","directory":"packages/core"},"homepage":"https://hwy.dev","bugs":{"url":"https://github.com/hwy-js/hwy/issues"},"keywords":["simple","lightweight","flexible","framework","metaframework","web","typescript","htmx","hono","router","nested","routing","jsx","tsx","nextjs","remix"],"_id":"hwy@0.7.0-beta.14","readme":"# Hwy\n\nHwy is a simple, lightweight, and flexible web framework, built on Hono and HTMX.\n\n<a href=\"https://pkg-size.dev/hwy\" target=\"_blank\">\n  <img\n    width=\"112\"\n    height=\"20\"\n    style=\"background:darkgray;border-radius:4px;\"\n    src=\"https://pkg-size.dev/badge/bundle/11742\"\n    title=\"Bundle size for hwy\"\n  />\n</a>\n\n## Quick Start\n\n```bash\nnpx create-hwy@latest\n```\n\n## What is Hwy?\n\nHwy is a lot like NextJS or Remix, but it uses **_HTMX_** instead of React on the frontend.\n\nHwy lets you write **_React-style JSX_** in **_nested, file-based routes_**, with **_Remix-style actions and parallel loaders_**.\n\nPage components are async, so you can even **_fetch data in JSX_** if you want to (just be careful with waterfalls).\n\nThe backend server is built on **_Hono_**, so you have access to a rich, growing ecosystem with lots of middleware and wonderful docs.\n\nHwy is **_100% server-rendered_**, but with the HTMX defaults Hwy sets up for you out of the box, your app still **_feels like an SPA_**.\n\nLinks and forms are automatically **_progressively enhanced_** thanks to HTMX's `hx-boost` feature. Just use normal anchor tags and traditional form attributes.\n\nBecause Hwy replaces the **_full page_** on transitions by default, everything stays **_simple_**. You don't have to return different components from different endpoints (unless you want to).\n\nAnd best of all, **_anything you can do with Hono or HTMX, you can do with Hwy_**.\n\n## Features\n\n- Server-rendered JSX / TSX\n- Nested, file-based routing\n- Remix-style actions and parallel loaders\n- Async page components\n- Rich Hono middleware ecosystem\n- 100% type-safe\n- Server built on Hono\n- Client built on HTMX\n- Built-in critical CSS inlining\n- Live browser refresh during development\n- And more...\n\n## Guiding Principles\n\n- No speed limits\n- Numerous off-ramps\n- Smooth, safe roads\n- Clear traffic signs\n\n## Simple usage\n\nBelow is an example of a simple Hwy page. You'll notice it looks a lot like Remix, and you're right! Hwy is heavily inspired by Remix, but it uses HTMX instead of React.\n\n```tsx\n// src/pages/user/$user_id.page.tsx\n\nimport type { DataProps, PageProps } from \"hwy\";\nimport { UserProfile, getUser } from \"./somewhere.js\";\n\nexport async function loader({ params }: DataProps) {\n  return await getUser(params.user_id);\n}\n\nexport default async function ({ loaderData }: PageProps<typeof loader>) {\n  return <UserProfile user={loaderData} />;\n}\n```\n\nOr, if you prefer to fetch inside your components:\n\n```tsx\nexport default async function ({ params }: PageProps) {\n  const user = await getUser(params.user_id);\n\n  return <UserProfile user={user} />;\n}\n```\n\n## Get Started\n\nIf you want to dive right in, just open a terminal and run `npx create-hwy@latest` and follow the prompts.\n\nIf you'd prefer to read more first, take a peek at [our docs](https://hwy.dev/docs).\n\n## Acknowledgements\n\nHwy's APIs are obviously inspired by Remix. If Remix didn't exist, Hwy likely wouldn't exist either. Hwy doesn't use any Remix code, but it still owes a big thanks to the Remix team (past and present) for their top-tier patterns design. If you're building something huge and important today, use Remix.\n\n## Disclaimer\n\nHwy is in beta! Act accordingly.\n\n## License\n\nMIT License\n\nCopyright (c) 2023 Samuel J. Cook\n","readmeFilename":"README.md","gitHead":"bb01c40c08efb10efb5a2184e421e70a3d946e12","types":"./dist/index.d.ts","_nodeVersion":"18.18.0","_npmVersion":"9.8.1","dist":{"integrity":"sha512-SoF+fOZ5wP6WbLg780ItKxjGNfJWkiSqT3iXQVlILnGWYPZbVltP0SIAnI4J7SPL/k7+dMHdb5LBT6pTWrjXqg==","shasum":"1859c2e3020f4110a7d1acb80b9b717b319dd271","tarball":"https://registry.npmjs.org/hwy/-/hwy-0.7.0-beta.14.tgz","fileCount":4,"unpackedSize":38386,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIDxRC6b0VbG2s7UfJbeJjQt+5j/WA4H4b+cONu2G/iSEAiEAoimrhTd4x/UCv31sNgwasR/oYusB0BE2wnA9QYk7rdY="}]},"_npmUser":{"name":"sjc5","email":"email@samcook.cc"},"directories":{},"maintainers":[{"name":"sjc5","email":"email@samcook.cc"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/hwy_0.7.0-beta.14_1699841712461_0.4008785976188569"},"_hasShrinkwrap":false},"0.7.0-beta.15":{"name":"hwy","version":"0.7.0-beta.15","author":{"name":"Samuel J. Cook"},"license":"MIT","description":"Simple, lightweight, and flexible web framework, built on Hono and HTMX.","type":"module","main":"dist/index.js","scripts":{"build":"rm -rf dist && tsup-node index.ts --format esm --dts","lint":"tsc","dev":"rm -rf dist && tsup-node index.ts --format esm --dts --watch --sourcemap","publish-beta":"npm publish --tag beta","publish-non-beta":"npm publish","update-latest":"pnpm update --latest","typecheck":"tsc --noEmit"},"devDependencies":{"@hono/node-server":"^1.2.2","@hwy-js/build":"workspace:*","@hwy-js/dev":"workspace:*","@types/node":"^20.9.0","hono":"^3.9.2","tsup":"^7.2.0"},"repository":{"type":"git","url":"git+https://github.com/hwy-js/hwy.git","directory":"packages/core"},"homepage":"https://hwy.dev","bugs":{"url":"https://github.com/hwy-js/hwy/issues"},"keywords":["simple","lightweight","flexible","framework","metaframework","web","typescript","htmx","hono","router","nested","routing","jsx","tsx","nextjs","remix"],"_id":"hwy@0.7.0-beta.15","readme":"# Hwy\n\nHwy is a simple, lightweight, and flexible web framework, built on Hono and HTMX.\n\n<a href=\"https://pkg-size.dev/hwy\" target=\"_blank\">\n  <img\n    width=\"112\"\n    height=\"20\"\n    style=\"background:darkgray;border-radius:4px;\"\n    src=\"https://pkg-size.dev/badge/bundle/11742\"\n    title=\"Bundle size for hwy\"\n  />\n</a>\n\n## Quick Start\n\n```bash\nnpx create-hwy@latest\n```\n\n## What is Hwy?\n\nHwy is a lot like NextJS or Remix, but it uses **_HTMX_** instead of React on the frontend.\n\nHwy lets you write **_React-style JSX_** in **_nested, file-based routes_**, with **_Remix-style actions and parallel loaders_**.\n\nPage components are async, so you can even **_fetch data in JSX_** if you want to (just be careful with waterfalls).\n\nThe backend server is built on **_Hono_**, so you have access to a rich, growing ecosystem with lots of middleware and wonderful docs.\n\nHwy is **_100% server-rendered_**, but with the HTMX defaults Hwy sets up for you out of the box, your app still **_feels like an SPA_**.\n\nLinks and forms are automatically **_progressively enhanced_** thanks to HTMX's `hx-boost` feature. Just use normal anchor tags and traditional form attributes.\n\nBecause Hwy replaces the **_full page_** on transitions by default, everything stays **_simple_**. You don't have to return different components from different endpoints (unless you want to).\n\nAnd best of all, **_anything you can do with Hono or HTMX, you can do with Hwy_**.\n\n## Features\n\n- Server-rendered JSX / TSX\n- Nested, file-based routing\n- Remix-style actions and parallel loaders\n- Async page components\n- Rich Hono middleware ecosystem\n- 100% type-safe\n- Server built on Hono\n- Client built on HTMX\n- Built-in critical CSS inlining\n- Live browser refresh during development\n- And more...\n\n## Guiding Principles\n\n- No speed limits\n- Numerous off-ramps\n- Smooth, safe roads\n- Clear traffic signs\n\n## Simple usage\n\nBelow is an example of a simple Hwy page. You'll notice it looks a lot like Remix, and you're right! Hwy is heavily inspired by Remix, but it uses HTMX instead of React.\n\n```tsx\n// src/pages/user/$user_id.page.tsx\n\nimport type { DataProps, PageProps } from \"hwy\";\nimport { UserProfile, getUser } from \"./somewhere.js\";\n\nexport async function loader({ params }: DataProps) {\n  return await getUser(params.user_id);\n}\n\nexport default async function ({ loaderData }: PageProps<typeof loader>) {\n  return <UserProfile user={loaderData} />;\n}\n```\n\nOr, if you prefer to fetch inside your components:\n\n```tsx\nexport default async function ({ params }: PageProps) {\n  const user = await getUser(params.user_id);\n\n  return <UserProfile user={user} />;\n}\n```\n\n## Get Started\n\nIf you want to dive right in, just open a terminal and run `npx create-hwy@latest` and follow the prompts.\n\nIf you'd prefer to read more first, take a peek at [our docs](https://hwy.dev/docs).\n\n## Acknowledgements\n\nHwy's APIs are obviously inspired by Remix. If Remix didn't exist, Hwy likely wouldn't exist either. Hwy doesn't use any Remix code, but it still owes a big thanks to the Remix team (past and present) for their top-tier patterns design. If you're building something huge and important today, use Remix.\n\n## Disclaimer\n\nHwy is in beta! Act accordingly.\n\n## License\n\nMIT License\n\nCopyright (c) 2023 Samuel J. Cook\n","readmeFilename":"README.md","gitHead":"bb01c40c08efb10efb5a2184e421e70a3d946e12","types":"./dist/index.d.ts","_nodeVersion":"18.18.0","_npmVersion":"9.8.1","dist":{"integrity":"sha512-4u46UXIotfE+lWADwhseo886Thi/FaJAjmXHLyCR/UciTWvbUU78x8QkgpfDn6Jgq+mPh+3k6Ql2y4uYSyHhng==","shasum":"93ed51d4c0593a64335ae7831d7de39b672cd94a","tarball":"https://registry.npmjs.org/hwy/-/hwy-0.7.0-beta.15.tgz","fileCount":4,"unpackedSize":38386,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIF72YVW3YoCDo80em46+5yu//GaPX/+Jp1p6uN7a/sopAiEAtBNr7Whyr72bCfMBhOVDv1M2+MYWJVYHCPZen+zDosw="}]},"_npmUser":{"name":"sjc5","email":"email@samcook.cc"},"directories":{},"maintainers":[{"name":"sjc5","email":"email@samcook.cc"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/hwy_0.7.0-beta.15_1699842393113_0.3662140408825949"},"_hasShrinkwrap":false},"0.7.0-beta.16":{"name":"hwy","version":"0.7.0-beta.16","author":{"name":"Samuel J. Cook"},"license":"MIT","description":"Simple, lightweight, and flexible web framework, built on Hono and HTMX.","type":"module","main":"dist/index.js","scripts":{"build":"rm -rf dist && tsup-node index.ts --format esm --dts","lint":"tsc","dev":"rm -rf dist && tsup-node index.ts --format esm --dts --watch --sourcemap","publish-beta":"npm publish --tag beta","publish-non-beta":"npm publish","update-latest":"pnpm update --latest","typecheck":"tsc --noEmit"},"devDependencies":{"@hono/node-server":"^1.2.2","@hwy-js/build":"workspace:*","@hwy-js/dev":"workspace:*","@types/node":"^20.9.0","hono":"^3.9.2","tsup":"^7.2.0"},"repository":{"type":"git","url":"git+https://github.com/hwy-js/hwy.git","directory":"packages/core"},"homepage":"https://hwy.dev","bugs":{"url":"https://github.com/hwy-js/hwy/issues"},"keywords":["simple","lightweight","flexible","framework","metaframework","web","typescript","htmx","hono","router","nested","routing","jsx","tsx","nextjs","remix"],"_id":"hwy@0.7.0-beta.16","readme":"# Hwy\n\nHwy is a simple, lightweight, and flexible web framework, built on Hono and HTMX.\n\n<a href=\"https://pkg-size.dev/hwy\" target=\"_blank\">\n  <img\n    width=\"112\"\n    height=\"20\"\n    style=\"background:darkgray;border-radius:4px;\"\n    src=\"https://pkg-size.dev/badge/bundle/11742\"\n    title=\"Bundle size for hwy\"\n  />\n</a>\n\n## Quick Start\n\n```bash\nnpx create-hwy@latest\n```\n\n## What is Hwy?\n\nHwy is a lot like NextJS or Remix, but it uses **_HTMX_** instead of React on the frontend.\n\nHwy lets you write **_React-style JSX_** in **_nested, file-based routes_**, with **_Remix-style actions and parallel loaders_**.\n\nPage components are async, so you can even **_fetch data in JSX_** if you want to (just be careful with waterfalls).\n\nThe backend server is built on **_Hono_**, so you have access to a rich, growing ecosystem with lots of middleware and wonderful docs.\n\nHwy is **_100% server-rendered_**, but with the HTMX defaults Hwy sets up for you out of the box, your app still **_feels like an SPA_**.\n\nLinks and forms are automatically **_progressively enhanced_** thanks to HTMX's `hx-boost` feature. Just use normal anchor tags and traditional form attributes.\n\nBecause Hwy replaces the **_full page_** on transitions by default, everything stays **_simple_**. You don't have to return different components from different endpoints (unless you want to).\n\nAnd best of all, **_anything you can do with Hono or HTMX, you can do with Hwy_**.\n\n## Features\n\n- Server-rendered JSX / TSX\n- Nested, file-based routing\n- Remix-style actions and parallel loaders\n- Async page components\n- Rich Hono middleware ecosystem\n- 100% type-safe\n- Server built on Hono\n- Client built on HTMX\n- Built-in critical CSS inlining\n- Live browser refresh during development\n- And more...\n\n## Guiding Principles\n\n- No speed limits\n- Numerous off-ramps\n- Smooth, safe roads\n- Clear traffic signs\n\n## Simple usage\n\nBelow is an example of a simple Hwy page. You'll notice it looks a lot like Remix, and you're right! Hwy is heavily inspired by Remix, but it uses HTMX instead of React.\n\n```tsx\n// src/pages/user/$user_id.page.tsx\n\nimport type { DataProps, PageProps } from \"hwy\";\nimport { UserProfile, getUser } from \"./somewhere.js\";\n\nexport async function loader({ params }: DataProps) {\n  return await getUser(params.user_id);\n}\n\nexport default async function ({ loaderData }: PageProps<typeof loader>) {\n  return <UserProfile user={loaderData} />;\n}\n```\n\nOr, if you prefer to fetch inside your components:\n\n```tsx\nexport default async function ({ params }: PageProps) {\n  const user = await getUser(params.user_id);\n\n  return <UserProfile user={user} />;\n}\n```\n\n## Get Started\n\nIf you want to dive right in, just open a terminal and run `npx create-hwy@latest` and follow the prompts.\n\nIf you'd prefer to read more first, take a peek at [our docs](https://hwy.dev/docs).\n\n## Acknowledgements\n\nHwy's APIs are obviously inspired by Remix. If Remix didn't exist, Hwy likely wouldn't exist either. Hwy doesn't use any Remix code, but it still owes a big thanks to the Remix team (past and present) for their top-tier patterns design. If you're building something huge and important today, use Remix.\n\n## Disclaimer\n\nHwy is in beta! Act accordingly.\n\n## License\n\nMIT License\n\nCopyright (c) 2023 Samuel J. Cook\n","readmeFilename":"README.md","gitHead":"bb01c40c08efb10efb5a2184e421e70a3d946e12","types":"./dist/index.d.ts","_nodeVersion":"18.18.0","_npmVersion":"9.8.1","dist":{"integrity":"sha512-BvHMY7eVBcEXeeTOQ9VKn4753/kq7aYzHXul4ixZC8YKAviAUV6gMfKHIpSLlUzhTULjEtRlf0ELMLfRUTVD1A==","shasum":"02acb36d3c435010cec8a1ca96491ebc5c67f656","tarball":"https://registry.npmjs.org/hwy/-/hwy-0.7.0-beta.16.tgz","fileCount":4,"unpackedSize":38386,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDpjpEsfpJ/7CkcvvBxZP0nKA3iAt549XE+BeQ9hlc3iwIgTPmVpj6+ANKWSfrMSrmJw2qj6GU+XlCaoLoFVkfNspI="}]},"_npmUser":{"name":"sjc5","email":"email@samcook.cc"},"directories":{},"maintainers":[{"name":"sjc5","email":"email@samcook.cc"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/hwy_0.7.0-beta.16_1699884884620_0.6562694070674393"},"_hasShrinkwrap":false},"0.7.0-beta.17":{"name":"hwy","version":"0.7.0-beta.17","author":{"name":"Samuel J. Cook"},"license":"MIT","description":"Simple, lightweight, and flexible web framework, built on Hono and HTMX.","type":"module","main":"dist/index.js","scripts":{"build":"rm -rf dist && tsup-node index.ts --format esm --dts","lint":"tsc","dev":"rm -rf dist && tsup-node index.ts --format esm --dts --watch --sourcemap","publish-beta":"npm publish --tag beta","publish-non-beta":"npm publish","update-latest":"pnpm update --latest","typecheck":"tsc --noEmit"},"devDependencies":{"@hono/node-server":"^1.2.2","@hwy-js/build":"workspace:*","@hwy-js/dev":"workspace:*","@types/node":"^20.9.0","hono":"^3.9.2","tsup":"^7.2.0"},"repository":{"type":"git","url":"git+https://github.com/hwy-js/hwy.git","directory":"packages/core"},"homepage":"https://hwy.dev","bugs":{"url":"https://github.com/hwy-js/hwy/issues"},"keywords":["simple","lightweight","flexible","framework","metaframework","web","typescript","htmx","hono","router","nested","routing","jsx","tsx","nextjs","remix"],"_id":"hwy@0.7.0-beta.17","readme":"# Hwy\n\nHwy is a simple, lightweight, and flexible web framework, built on Hono and HTMX.\n\n<a href=\"https://pkg-size.dev/hwy\" target=\"_blank\">\n  <img\n    width=\"112\"\n    height=\"20\"\n    style=\"background:darkgray;border-radius:4px;\"\n    src=\"https://pkg-size.dev/badge/bundle/11742\"\n    title=\"Bundle size for hwy\"\n  />\n</a>\n\n## Quick Start\n\n```bash\nnpx create-hwy@latest\n```\n\n## What is Hwy?\n\nHwy is a lot like NextJS or Remix, but it uses **_HTMX_** instead of React on the frontend.\n\nHwy lets you write **_React-style JSX_** in **_nested, file-based routes_**, with **_Remix-style actions and parallel loaders_**.\n\nPage components are async, so you can even **_fetch data in JSX_** if you want to (just be careful with waterfalls).\n\nThe backend server is built on **_Hono_**, so you have access to a rich, growing ecosystem with lots of middleware and wonderful docs.\n\nHwy is **_100% server-rendered_**, but with the HTMX defaults Hwy sets up for you out of the box, your app still **_feels like an SPA_**.\n\nLinks and forms are automatically **_progressively enhanced_** thanks to HTMX's `hx-boost` feature. Just use normal anchor tags and traditional form attributes.\n\nBecause Hwy replaces the **_full page_** on transitions by default, everything stays **_simple_**. You don't have to return different components from different endpoints (unless you want to).\n\nAnd best of all, **_anything you can do with Hono or HTMX, you can do with Hwy_**.\n\n## Features\n\n- Server-rendered JSX / TSX\n- Nested, file-based routing\n- Remix-style actions and parallel loaders\n- Async page components\n- Rich Hono middleware ecosystem\n- 100% type-safe\n- Server built on Hono\n- Client built on HTMX\n- Built-in critical CSS inlining\n- Live browser refresh during development\n- And more...\n\n## Guiding Principles\n\n- No speed limits\n- Numerous off-ramps\n- Smooth, safe roads\n- Clear traffic signs\n\n## Simple usage\n\nBelow is an example of a simple Hwy page. You'll notice it looks a lot like Remix, and you're right! Hwy is heavily inspired by Remix, but it uses HTMX instead of React.\n\n```tsx\n// src/pages/user/$user_id.page.tsx\n\nimport type { DataProps, PageProps } from \"hwy\";\nimport { UserProfile, getUser } from \"./somewhere.js\";\n\nexport async function loader({ params }: DataProps) {\n  return await getUser(params.user_id);\n}\n\nexport default async function ({ loaderData }: PageProps<typeof loader>) {\n  return <UserProfile user={loaderData} />;\n}\n```\n\nOr, if you prefer to fetch inside your components:\n\n```tsx\nexport default async function ({ params }: PageProps) {\n  const user = await getUser(params.user_id);\n\n  return <UserProfile user={user} />;\n}\n```\n\n## Get Started\n\nIf you want to dive right in, just open a terminal and run `npx create-hwy@latest` and follow the prompts.\n\nIf you'd prefer to read more first, take a peek at [our docs](https://hwy.dev/docs).\n\n## Acknowledgements\n\nHwy's APIs are obviously inspired by Remix. If Remix didn't exist, Hwy likely wouldn't exist either. Hwy doesn't use any Remix code, but it still owes a big thanks to the Remix team (past and present) for their top-tier patterns design. If you're building something huge and important today, use Remix.\n\n## Disclaimer\n\nHwy is in beta! Act accordingly.\n\n## License\n\nMIT License\n\nCopyright (c) 2023 Samuel J. Cook\n","readmeFilename":"README.md","gitHead":"bb01c40c08efb10efb5a2184e421e70a3d946e12","types":"./dist/index.d.ts","_nodeVersion":"18.18.2","_npmVersion":"9.8.1","dist":{"integrity":"sha512-c6lIw2Pw63mLDwmarmmqGv2J1Et9f2K6ZQrFVdaGuLvJcEUysd7zWN1muooHHIRee2nvNre9sQelHelr8gEaJg==","shasum":"e8f12cb0e3044c3678bc0cfbe51f2fc2e7aa2b41","tarball":"https://registry.npmjs.org/hwy/-/hwy-0.7.0-beta.17.tgz","fileCount":4,"unpackedSize":38386,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDxvTeCY/Nz84F1N7P5uYmuS7tE2hhR7jFB+xeA077OwAIgLMXcs2od/Pknp83M0zKvnfGlWvNZTPPy601i+xilMFQ="}]},"_npmUser":{"name":"sjc5","email":"email@samcook.cc"},"directories":{},"maintainers":[{"name":"sjc5","email":"email@samcook.cc"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/hwy_0.7.0-beta.17_1699918120558_0.8485107205634603"},"_hasShrinkwrap":false},"0.7.0-beta.18":{"name":"hwy","version":"0.7.0-beta.18","author":{"name":"Samuel J. Cook"},"license":"MIT","description":"Simple, lightweight, and flexible web framework, built on Hono and HTMX.","type":"module","main":"dist/index.js","scripts":{"build":"rm -rf dist && tsup-node index.ts --format esm --dts","lint":"tsc","dev":"rm -rf dist && tsup-node index.ts --format esm --dts --watch --sourcemap","publish-beta":"npm publish --tag beta","publish-non-beta":"npm publish","update-latest":"pnpm update --latest","typecheck":"tsc --noEmit"},"devDependencies":{"@hono/node-server":"^1.2.2","@hwy-js/build":"workspace:*","@hwy-js/dev":"workspace:*","@types/node":"^20.9.0","hono":"^3.10.0","tsup":"^7.2.0"},"repository":{"type":"git","url":"git+https://github.com/hwy-js/hwy.git","directory":"packages/core"},"homepage":"https://hwy.dev","bugs":{"url":"https://github.com/hwy-js/hwy/issues"},"keywords":["simple","lightweight","flexible","framework","metaframework","web","typescript","htmx","hono","router","nested","routing","jsx","tsx","nextjs","remix"],"_id":"hwy@0.7.0-beta.18","readme":"# Hwy\n\nHwy is a simple, lightweight, and flexible web framework, built on Hono and HTMX.\n\n<a href=\"https://pkg-size.dev/hwy\" target=\"_blank\">\n  <img\n    width=\"112\"\n    height=\"20\"\n    style=\"background:darkgray;border-radius:4px;\"\n    src=\"https://pkg-size.dev/badge/bundle/11742\"\n    title=\"Bundle size for hwy\"\n  />\n</a>\n\n## Quick Start\n\n```bash\nnpx create-hwy@latest\n```\n\n## What is Hwy?\n\nHwy is a lot like NextJS or Remix, but it uses **_HTMX_** instead of React on the frontend.\n\nHwy lets you write **_React-style JSX_** in **_nested, file-based routes_**, with **_Remix-style actions and parallel loaders_**.\n\nPage components are async, so you can even **_fetch data in JSX_** if you want to (just be careful with waterfalls).\n\nThe backend server is built on **_Hono_**, so you have access to a rich, growing ecosystem with lots of middleware and wonderful docs.\n\nHwy is **_100% server-rendered_**, but with the HTMX defaults Hwy sets up for you out of the box, your app still **_feels like an SPA_**.\n\nLinks and forms are automatically **_progressively enhanced_** thanks to HTMX's `hx-boost` feature. Just use normal anchor tags and traditional form attributes.\n\nBecause Hwy replaces the **_full page_** on transitions by default, everything stays **_simple_**. You don't have to return different components from different endpoints (unless you want to).\n\nAnd best of all, **_anything you can do with Hono or HTMX, you can do with Hwy_**.\n\n## Features\n\n- Server-rendered JSX / TSX\n- Nested, file-based routing\n- Remix-style actions and parallel loaders\n- Async page components\n- Rich Hono middleware ecosystem\n- 100% type-safe\n- Server built on Hono\n- Client built on HTMX\n- Built-in critical CSS inlining\n- Live browser refresh during development\n- And more...\n\n## Guiding Principles\n\n- No speed limits\n- Numerous off-ramps\n- Smooth, safe roads\n- Clear traffic signs\n\n## Simple usage\n\nBelow is an example of a simple Hwy page. You'll notice it looks a lot like Remix, and you're right! Hwy is heavily inspired by Remix, but it uses HTMX instead of React.\n\n```tsx\n// src/pages/user/$user_id.page.tsx\n\nimport type { DataProps, PageProps } from \"hwy\";\nimport { UserProfile, getUser } from \"./somewhere.js\";\n\nexport async function loader({ params }: DataProps) {\n  return await getUser(params.user_id);\n}\n\nexport default async function ({ loaderData }: PageProps<typeof loader>) {\n  return <UserProfile user={loaderData} />;\n}\n```\n\nOr, if you prefer to fetch inside your components:\n\n```tsx\nexport default async function ({ params }: PageProps) {\n  const user = await getUser(params.user_id);\n\n  return <UserProfile user={user} />;\n}\n```\n\n## Get Started\n\nIf you want to dive right in, just open a terminal and run `npx create-hwy@latest` and follow the prompts.\n\nIf you'd prefer to read more first, take a peek at [our docs](https://hwy.dev/docs).\n\n## Acknowledgements\n\nHwy's APIs are obviously inspired by Remix. If Remix didn't exist, Hwy likely wouldn't exist either. Hwy doesn't use any Remix code, but it still owes a big thanks to the Remix team (past and present) for their top-tier patterns design. If you're building something huge and important today, use Remix.\n\n## Disclaimer\n\nHwy is in beta! Act accordingly.\n\n## License\n\nMIT License\n\nCopyright (c) 2023 Samuel J. Cook\n","readmeFilename":"README.md","gitHead":"d511efe126d167d1f025b924d7d39c2f22f8843b","types":"./dist/index.d.ts","_nodeVersion":"18.18.2","_npmVersion":"9.8.1","dist":{"integrity":"sha512-AA57P75AleePMbZq1QjmiCzvrZw4yOUxrQjuUOS7o1S0hwPJ56WJr228cYisIycSMKfImOGlHDIOcD4RusfAZQ==","shasum":"a0f4dde2c3a48772926b540bdb309145c7c3c37a","tarball":"https://registry.npmjs.org/hwy/-/hwy-0.7.0-beta.18.tgz","fileCount":4,"unpackedSize":38304,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQD4X/9V3sLi8S/SCnCRjPxfHxm3UM5yF0S9QeBVmF47sgIhAOYeaEc8+Mk16bkaaHo4YEUTEufpbQV4P0674SLQVlcZ"}]},"_npmUser":{"name":"sjc5","email":"email@samcook.cc"},"directories":{},"maintainers":[{"name":"sjc5","email":"email@samcook.cc"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/hwy_0.7.0-beta.18_1699938772838_0.8761939700262702"},"_hasShrinkwrap":false},"0.7.0-beta.19":{"name":"hwy","version":"0.7.0-beta.19","author":{"name":"Samuel J. Cook"},"license":"MIT","description":"Simple, lightweight, and flexible web framework, built on Hono and HTMX.","type":"module","main":"dist/index.js","scripts":{"build":"rm -rf dist && tsup-node index.ts --format esm --dts","lint":"tsc","dev":"rm -rf dist && tsup-node index.ts --format esm --dts --watch --sourcemap","publish-beta":"npm publish --tag beta","publish-non-beta":"npm publish","update-latest":"pnpm update --latest","typecheck":"tsc --noEmit"},"devDependencies":{"@hono/node-server":"^1.2.2","@hwy-js/build":"workspace:*","@hwy-js/dev":"workspace:*","@types/node":"^20.9.0","hono":"^3.10.0","tsup":"^7.2.0"},"repository":{"type":"git","url":"git+https://github.com/hwy-js/hwy.git","directory":"packages/core"},"homepage":"https://hwy.dev","bugs":{"url":"https://github.com/hwy-js/hwy/issues"},"keywords":["simple","lightweight","flexible","framework","metaframework","web","typescript","htmx","hono","router","nested","routing","jsx","tsx","nextjs","remix"],"_id":"hwy@0.7.0-beta.19","readme":"# Hwy\n\nHwy is a simple, lightweight, and flexible web framework, built on Hono and HTMX.\n\n<a href=\"https://pkg-size.dev/hwy\" target=\"_blank\">\n  <img\n    width=\"112\"\n    height=\"20\"\n    style=\"background:darkgray;border-radius:4px;\"\n    src=\"https://pkg-size.dev/badge/bundle/11742\"\n    title=\"Bundle size for hwy\"\n  />\n</a>\n\n## Quick Start\n\n```bash\nnpx create-hwy@latest\n```\n\n## What is Hwy?\n\nHwy is a lot like NextJS or Remix, but it uses **_HTMX_** instead of React on the frontend.\n\nHwy lets you write **_React-style JSX_** in **_nested, file-based routes_**, with **_Remix-style actions and parallel loaders_**.\n\nPage components are async, so you can even **_fetch data in JSX_** if you want to (just be careful with waterfalls).\n\nThe backend server is built on **_Hono_**, so you have access to a rich, growing ecosystem with lots of middleware and wonderful docs.\n\nHwy is **_100% server-rendered_**, but with the HTMX defaults Hwy sets up for you out of the box, your app still **_feels like an SPA_**.\n\nLinks and forms are automatically **_progressively enhanced_** thanks to HTMX's `hx-boost` feature. Just use normal anchor tags and traditional form attributes.\n\nBecause Hwy replaces the **_full page_** on transitions by default, everything stays **_simple_**. You don't have to return different components from different endpoints (unless you want to).\n\nAnd best of all, **_anything you can do with Hono or HTMX, you can do with Hwy_**.\n\n## Features\n\n- Server-rendered JSX / TSX\n- Nested, file-based routing\n- Remix-style actions and parallel loaders\n- Async page components\n- Rich Hono middleware ecosystem\n- 100% type-safe\n- Server built on Hono\n- Client built on HTMX\n- Built-in critical CSS inlining\n- Live browser refresh during development\n- And more...\n\n## Guiding Principles\n\n- No speed limits\n- Numerous off-ramps\n- Smooth, safe roads\n- Clear traffic signs\n\n## Simple usage\n\nBelow is an example of a simple Hwy page. You'll notice it looks a lot like Remix, and you're right! Hwy is heavily inspired by Remix, but it uses HTMX instead of React.\n\n```tsx\n// src/pages/user/$user_id.page.tsx\n\nimport type { DataProps, PageProps } from \"hwy\";\nimport { UserProfile, getUser } from \"./somewhere.js\";\n\nexport async function loader({ params }: DataProps) {\n  return await getUser(params.user_id);\n}\n\nexport default async function ({ loaderData }: PageProps<typeof loader>) {\n  return <UserProfile user={loaderData} />;\n}\n```\n\nOr, if you prefer to fetch inside your components:\n\n```tsx\nexport default async function ({ params }: PageProps) {\n  const user = await getUser(params.user_id);\n\n  return <UserProfile user={user} />;\n}\n```\n\n## Get Started\n\nIf you want to dive right in, just open a terminal and run `npx create-hwy@latest` and follow the prompts.\n\nIf you'd prefer to read more first, take a peek at [our docs](https://hwy.dev/docs).\n\n## Acknowledgements\n\nHwy's APIs are obviously inspired by Remix. If Remix didn't exist, Hwy likely wouldn't exist either. Hwy doesn't use any Remix code, but it still owes a big thanks to the Remix team (past and present) for their top-tier patterns design. If you're building something huge and important today, use Remix.\n\n## Disclaimer\n\nHwy is in beta! Act accordingly.\n\n## License\n\nMIT License\n\nCopyright (c) 2023 Samuel J. Cook\n","readmeFilename":"README.md","gitHead":"d511efe126d167d1f025b924d7d39c2f22f8843b","types":"./dist/index.d.ts","_nodeVersion":"18.18.2","_npmVersion":"9.8.1","dist":{"integrity":"sha512-cXnjW9ItDZrW97hJQQQ9y5KaygWUgmUhX2l5oeQJRpwgRbPB2yJoZfoY5hQbZo055iSUJ+m7XOPnJ8yFdfHUzA==","shasum":"cf06dde43e38d25cf70cae1afcc54a8369b04915","tarball":"https://registry.npmjs.org/hwy/-/hwy-0.7.0-beta.19.tgz","fileCount":4,"unpackedSize":38558,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCqtthoY2cIAjWUjRcSSdeFoAuj89iBWXSsiWeBUL1PIwIhAN83c4nKlTNeqkMHw2W4SXlPFDnQsl/7yZZANxuGo1Ud"}]},"_npmUser":{"name":"sjc5","email":"email@samcook.cc"},"directories":{},"maintainers":[{"name":"sjc5","email":"email@samcook.cc"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/hwy_0.7.0-beta.19_1699941894358_0.25664471773222686"},"_hasShrinkwrap":false},"0.7.0-beta.20":{"name":"hwy","version":"0.7.0-beta.20","author":{"name":"Samuel J. Cook"},"license":"MIT","description":"Simple, lightweight, and flexible web framework, built on Hono and HTMX.","type":"module","main":"dist/index.js","scripts":{"build":"rm -rf dist && tsup-node index.ts --format esm --dts","lint":"tsc","dev":"rm -rf dist && tsup-node index.ts --format esm --dts --watch --sourcemap","publish-beta":"npm publish --tag beta","publish-non-beta":"npm publish","update-latest":"pnpm update --latest","typecheck":"tsc --noEmit"},"devDependencies":{"@hono/node-server":"^1.2.2","@hwy-js/build":"workspace:*","@hwy-js/dev":"workspace:*","@types/node":"^20.9.0","hono":"^3.10.0","tsup":"^7.2.0"},"repository":{"type":"git","url":"git+https://github.com/hwy-js/hwy.git","directory":"packages/core"},"homepage":"https://hwy.dev","bugs":{"url":"https://github.com/hwy-js/hwy/issues"},"keywords":["simple","lightweight","flexible","framework","metaframework","web","typescript","htmx","hono","router","nested","routing","jsx","tsx","nextjs","remix"],"_id":"hwy@0.7.0-beta.20","readme":"# Hwy\n\nHwy is a simple, lightweight, and flexible web framework, built on Hono and HTMX.\n\n<a href=\"https://pkg-size.dev/hwy\" target=\"_blank\">\n  <img\n    width=\"112\"\n    height=\"20\"\n    style=\"background:darkgray;border-radius:4px;\"\n    src=\"https://pkg-size.dev/badge/bundle/11742\"\n    title=\"Bundle size for hwy\"\n  />\n</a>\n\n## Quick Start\n\n```bash\nnpx create-hwy@latest\n```\n\n## What is Hwy?\n\nHwy is a lot like NextJS or Remix, but it uses **_HTMX_** instead of React on the frontend.\n\nHwy lets you write **_React-style JSX_** in **_nested, file-based routes_**, with **_Remix-style actions and parallel loaders_**.\n\nPage components are async, so you can even **_fetch data in JSX_** if you want to (just be careful with waterfalls).\n\nThe backend server is built on **_Hono_**, so you have access to a rich, growing ecosystem with lots of middleware and wonderful docs.\n\nHwy is **_100% server-rendered_**, but with the HTMX defaults Hwy sets up for you out of the box, your app still **_feels like an SPA_**.\n\nLinks and forms are automatically **_progressively enhanced_** thanks to HTMX's `hx-boost` feature. Just use normal anchor tags and traditional form attributes.\n\nBecause Hwy replaces the **_full page_** on transitions by default, everything stays **_simple_**. You don't have to return different components from different endpoints (unless you want to).\n\nAnd best of all, **_anything you can do with Hono or HTMX, you can do with Hwy_**.\n\n## Features\n\n- Server-rendered JSX / TSX\n- Nested, file-based routing\n- Remix-style actions and parallel loaders\n- Async page components\n- Rich Hono middleware ecosystem\n- 100% type-safe\n- Server built on Hono\n- Client built on HTMX\n- Built-in critical CSS inlining\n- Live browser refresh during development\n- And more...\n\n## Guiding Principles\n\n- No speed limits\n- Numerous off-ramps\n- Smooth, safe roads\n- Clear traffic signs\n\n## Simple usage\n\nBelow is an example of a simple Hwy page. You'll notice it looks a lot like Remix, and you're right! Hwy is heavily inspired by Remix, but it uses HTMX instead of React.\n\n```tsx\n// src/pages/user/$user_id.page.tsx\n\nimport type { DataProps, PageProps } from \"hwy\";\nimport { UserProfile, getUser } from \"./somewhere.js\";\n\nexport async function loader({ params }: DataProps) {\n  return await getUser(params.user_id);\n}\n\nexport default async function ({ loaderData }: PageProps<typeof loader>) {\n  return <UserProfile user={loaderData} />;\n}\n```\n\nOr, if you prefer to fetch inside your components:\n\n```tsx\nexport default async function ({ params }: PageProps) {\n  const user = await getUser(params.user_id);\n\n  return <UserProfile user={user} />;\n}\n```\n\n## Get Started\n\nIf you want to dive right in, just open a terminal and run `npx create-hwy@latest` and follow the prompts.\n\nIf you'd prefer to read more first, take a peek at [our docs](https://hwy.dev/docs).\n\n## Acknowledgements\n\nHwy's APIs are obviously inspired by Remix. If Remix didn't exist, Hwy likely wouldn't exist either. Hwy doesn't use any Remix code, but it still owes a big thanks to the Remix team (past and present) for their top-tier patterns design. If you're building something huge and important today, use Remix.\n\n## Disclaimer\n\nHwy is in beta! Act accordingly.\n\n## License\n\nMIT License\n\nCopyright (c) 2023 Samuel J. Cook\n","readmeFilename":"README.md","gitHead":"b1d1f352ae097afdd3009d630c52e3ec4b1f5159","types":"./dist/index.d.ts","_nodeVersion":"18.18.2","_npmVersion":"9.8.1","dist":{"integrity":"sha512-S4ttlMSEh0jpQKLpZV2NPwIWhPBKxRMm4yipR9Amj7vCFH/x6sloFSyHOYUL7pK4XRiWaH12SsF7Zr/qZ81GOA==","shasum":"fdaedcb691426b6651af2e8cab2e4c095415e138","tarball":"https://registry.npmjs.org/hwy/-/hwy-0.7.0-beta.20.tgz","fileCount":4,"unpackedSize":39216,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIFF5tGqwFTpVbcyv3AgRmZvdF/v+3cKzaS4UZvdVjHx7AiBqNEYPt9f7oBBylYjHMmZEO6rCcfBRrxhjgKkQ4dZBzw=="}]},"_npmUser":{"name":"sjc5","email":"email@samcook.cc"},"directories":{},"maintainers":[{"name":"sjc5","email":"email@samcook.cc"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/hwy_0.7.0-beta.20_1700018446023_0.8570097382923263"},"_hasShrinkwrap":false},"0.7.0-beta.21":{"name":"hwy","version":"0.7.0-beta.21","author":{"name":"Samuel J. Cook"},"license":"MIT","description":"Simple, lightweight, and flexible web framework, built on Hono and HTMX.","type":"module","main":"dist/index.js","scripts":{"build":"rm -rf dist && tsup-node index.ts --format esm --dts","lint":"tsc","dev":"rm -rf dist && tsup-node index.ts --format esm --dts --watch --sourcemap","publish-beta":"npm publish --tag beta","publish-non-beta":"npm publish","update-latest":"pnpm update --latest","typecheck":"tsc --noEmit"},"devDependencies":{"@hono/node-server":"^1.2.2","@hwy-js/build":"workspace:*","@hwy-js/dev":"workspace:*","@types/node":"^20.9.0","hono":"^3.10.0","tsup":"^7.2.0"},"repository":{"type":"git","url":"git+https://github.com/hwy-js/hwy.git","directory":"packages/core"},"homepage":"https://hwy.dev","bugs":{"url":"https://github.com/hwy-js/hwy/issues"},"keywords":["simple","lightweight","flexible","framework","metaframework","web","typescript","htmx","hono","router","nested","routing","jsx","tsx","nextjs","remix"],"_id":"hwy@0.7.0-beta.21","readme":"# Hwy\n\nHwy is a simple, lightweight, and flexible web framework, built on Hono and HTMX.\n\n<a href=\"https://pkg-size.dev/hwy\" target=\"_blank\">\n  <img\n    width=\"112\"\n    height=\"20\"\n    style=\"background:darkgray;border-radius:4px;\"\n    src=\"https://pkg-size.dev/badge/bundle/11742\"\n    title=\"Bundle size for hwy\"\n  />\n</a>\n\n## Quick Start\n\n```bash\nnpx create-hwy@latest\n```\n\n## What is Hwy?\n\nHwy is a lot like NextJS or Remix, but it uses **_HTMX_** instead of React on the frontend.\n\nHwy lets you write **_React-style JSX_** in **_nested, file-based routes_**, with **_Remix-style actions and parallel loaders_**.\n\nPage components are async, so you can even **_fetch data in JSX_** if you want to (just be careful with waterfalls).\n\nThe backend server is built on **_Hono_**, so you have access to a rich, growing ecosystem with lots of middleware and wonderful docs.\n\nHwy is **_100% server-rendered_**, but with the HTMX defaults Hwy sets up for you out of the box, your app still **_feels like an SPA_**.\n\nLinks and forms are automatically **_progressively enhanced_** thanks to HTMX's `hx-boost` feature. Just use normal anchor tags and traditional form attributes.\n\nBecause Hwy replaces the **_full page_** on transitions by default, everything stays **_simple_**. You don't have to return different components from different endpoints (unless you want to).\n\nAnd best of all, **_anything you can do with Hono or HTMX, you can do with Hwy_**.\n\n## Features\n\n- Server-rendered JSX / TSX\n- Nested, file-based routing\n- Remix-style actions and parallel loaders\n- Async page components\n- Rich Hono middleware ecosystem\n- 100% type-safe\n- Server built on Hono\n- Client built on HTMX\n- Built-in critical CSS inlining\n- Live browser refresh during development\n- And more...\n\n## Guiding Principles\n\n- No speed limits\n- Numerous off-ramps\n- Smooth, safe roads\n- Clear traffic signs\n\n## Simple usage\n\nBelow is an example of a simple Hwy page. You'll notice it looks a lot like Remix, and you're right! Hwy is heavily inspired by Remix, but it uses HTMX instead of React.\n\n```tsx\n// src/pages/user/$user_id.page.tsx\n\nimport type { DataProps, PageProps } from \"hwy\";\nimport { UserProfile, getUser } from \"./somewhere.js\";\n\nexport async function loader({ params }: DataProps) {\n  return await getUser(params.user_id);\n}\n\nexport default async function ({ loaderData }: PageProps<typeof loader>) {\n  return <UserProfile user={loaderData} />;\n}\n```\n\nOr, if you prefer to fetch inside your components:\n\n```tsx\nexport default async function ({ params }: PageProps) {\n  const user = await getUser(params.user_id);\n\n  return <UserProfile user={user} />;\n}\n```\n\n## Get Started\n\nIf you want to dive right in, just open a terminal and run `npx create-hwy@latest` and follow the prompts.\n\nIf you'd prefer to read more first, take a peek at [our docs](https://hwy.dev/docs).\n\n## Acknowledgements\n\nHwy's APIs are obviously inspired by Remix. If Remix didn't exist, Hwy likely wouldn't exist either. Hwy doesn't use any Remix code, but it still owes a big thanks to the Remix team (past and present) for their top-tier patterns design. If you're building something huge and important today, use Remix.\n\n## Disclaimer\n\nHwy is in beta! Act accordingly.\n\n## License\n\nMIT License\n\nCopyright (c) 2023 Samuel J. Cook\n","readmeFilename":"README.md","gitHead":"6b3a7854aa9c125684e90a8c4d5a0f5a6bfd9f9d","types":"./dist/index.d.ts","_nodeVersion":"20.9.0","_npmVersion":"10.1.0","dist":{"integrity":"sha512-abMIcmSj3NGmfjhtm2fnPckJI/eP/jaf0zkHQmluoAJjOsUytIfb85y6MQvJ943VzsIVucJoG8f2OmTzvyYBpQ==","shasum":"be15b65488d96a6199bf21a884ab7bd8180ea937","tarball":"https://registry.npmjs.org/hwy/-/hwy-0.7.0-beta.21.tgz","fileCount":4,"unpackedSize":39212,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIDGuy8FZ/7a9V9aJVGow05fjSRraaIs5p8Xz4fObMW5qAiEAmGzdrtJ3tylpjaAhQDgfvgOHWgdtTCtcHIPNEJLru6w="}]},"_npmUser":{"name":"sjc5","email":"email@samcook.cc"},"directories":{},"maintainers":[{"name":"sjc5","email":"email@samcook.cc"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/hwy_0.7.0-beta.21_1700027545233_0.16826775894587165"},"_hasShrinkwrap":false},"0.7.0-beta.22":{"name":"hwy","version":"0.7.0-beta.22","author":{"name":"Samuel J. Cook"},"license":"MIT","description":"Simple, lightweight, and flexible web framework, built on Hono and HTMX.","type":"module","main":"dist/index.js","scripts":{"build":"rm -rf dist && tsup-node index.ts --format esm --dts","lint":"tsc","dev":"rm -rf dist && tsup-node index.ts --format esm --dts --watch --sourcemap","publish-beta":"npm publish --tag beta","publish-non-beta":"npm publish","update-latest":"pnpm update --latest","typecheck":"tsc --noEmit"},"devDependencies":{"@hono/node-server":"^1.2.2","@hwy-js/build":"workspace:*","@hwy-js/dev":"workspace:*","@types/node":"^20.9.0","hono":"^3.10.0","tsup":"^7.2.0"},"repository":{"type":"git","url":"git+https://github.com/hwy-js/hwy.git","directory":"packages/core"},"homepage":"https://hwy.dev","bugs":{"url":"https://github.com/hwy-js/hwy/issues"},"keywords":["simple","lightweight","flexible","framework","metaframework","web","typescript","htmx","hono","router","nested","routing","jsx","tsx","nextjs","remix"],"_id":"hwy@0.7.0-beta.22","readme":"# Hwy\n\nHwy is a simple, lightweight, and flexible web framework, built on Hono and HTMX.\n\n<a href=\"https://pkg-size.dev/hwy\" target=\"_blank\">\n  <img\n    width=\"112\"\n    height=\"20\"\n    style=\"background:darkgray;border-radius:4px;\"\n    src=\"https://pkg-size.dev/badge/bundle/11742\"\n    title=\"Bundle size for hwy\"\n  />\n</a>\n\n## Quick Start\n\n```bash\nnpx create-hwy@latest\n```\n\n## What is Hwy?\n\nHwy is a lot like NextJS or Remix, but it uses **_HTMX_** instead of React on the frontend.\n\nHwy lets you write **_React-style JSX_** in **_nested, file-based routes_**, with **_Remix-style actions and parallel loaders_**.\n\nPage components are async, so you can even **_fetch data in JSX_** if you want to (just be careful with waterfalls).\n\nThe backend server is built on **_Hono_**, so you have access to a rich, growing ecosystem with lots of middleware and wonderful docs.\n\nHwy is **_100% server-rendered_**, but with the HTMX defaults Hwy sets up for you out of the box, your app still **_feels like an SPA_**.\n\nLinks and forms are automatically **_progressively enhanced_** thanks to HTMX's `hx-boost` feature. Just use normal anchor tags and traditional form attributes.\n\nBecause Hwy replaces the **_full page_** on transitions by default, everything stays **_simple_**. You don't have to return different components from different endpoints (unless you want to).\n\nAnd best of all, **_anything you can do with Hono or HTMX, you can do with Hwy_**.\n\n## Features\n\n- Server-rendered JSX / TSX\n- Nested, file-based routing\n- Remix-style actions and parallel loaders\n- Async page components\n- Rich Hono middleware ecosystem\n- 100% type-safe\n- Server built on Hono\n- Client built on HTMX\n- Built-in critical CSS inlining\n- Live browser refresh during development\n- And more...\n\n## Guiding Principles\n\n- No speed limits\n- Numerous off-ramps\n- Smooth, safe roads\n- Clear traffic signs\n\n## Simple usage\n\nBelow is an example of a simple Hwy page. You'll notice it looks a lot like Remix, and you're right! Hwy is heavily inspired by Remix, but it uses HTMX instead of React.\n\n```tsx\n// src/pages/user/$user_id.page.tsx\n\nimport type { DataProps, PageProps } from \"hwy\";\nimport { UserProfile, getUser } from \"./somewhere.js\";\n\nexport async function loader({ params }: DataProps) {\n  return await getUser(params.user_id);\n}\n\nexport default async function ({ loaderData }: PageProps<typeof loader>) {\n  return <UserProfile user={loaderData} />;\n}\n```\n\nOr, if you prefer to fetch inside your components:\n\n```tsx\nexport default async function ({ params }: PageProps) {\n  const user = await getUser(params.user_id);\n\n  return <UserProfile user={user} />;\n}\n```\n\n## Get Started\n\nIf you want to dive right in, just open a terminal and run `npx create-hwy@latest` and follow the prompts.\n\nIf you'd prefer to read more first, take a peek at [our docs](https://hwy.dev/docs).\n\n## Acknowledgements\n\nHwy's APIs are obviously inspired by Remix. If Remix didn't exist, Hwy likely wouldn't exist either. Hwy doesn't use any Remix code, but it still owes a big thanks to the Remix team (past and present) for their top-tier patterns design. If you're building something huge and important today, use Remix.\n\n## Disclaimer\n\nHwy is in beta! Act accordingly.\n\n## License\n\nMIT License\n\nCopyright (c) 2023 Samuel J. Cook\n","readmeFilename":"README.md","gitHead":"6b3a7854aa9c125684e90a8c4d5a0f5a6bfd9f9d","types":"./dist/index.d.ts","_nodeVersion":"20.9.0","_npmVersion":"10.1.0","dist":{"integrity":"sha512-ji9wUyBBIxLJ2ESwuEv6f21SKsZEh0HCCnyyASluhFmvItMQQ3LACUPjUGRNkeav2ilS28aVm/vuHaJuu8rRQA==","shasum":"de8cfb5691f5e306ec439bcae57ba77d9025563f","tarball":"https://registry.npmjs.org/hwy/-/hwy-0.7.0-beta.22.tgz","fileCount":4,"unpackedSize":39212,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIEly3Tva16s5yzyUJeGyuQLeCSGb+uU1r1mziCDdPGxgAiEAvD+sNCqHI9l4XhmjnMJH+t67qzuN2mU9mGh1N/6sDnw="}]},"_npmUser":{"name":"sjc5","email":"email@samcook.cc"},"directories":{},"maintainers":[{"name":"sjc5","email":"email@samcook.cc"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/hwy_0.7.0-beta.22_1700027796597_0.33033234002142753"},"_hasShrinkwrap":false},"0.7.0-beta.23":{"name":"hwy","version":"0.7.0-beta.23","author":{"name":"Samuel J. Cook"},"license":"MIT","description":"Simple, lightweight, and flexible web framework, built on Hono and HTMX.","type":"module","main":"dist/index.js","scripts":{"build":"rm -rf dist && tsup-node index.ts --format esm --dts","lint":"tsc","dev":"rm -rf dist && tsup-node index.ts --format esm --dts --watch --sourcemap","publish-beta":"npm publish --tag beta","publish-non-beta":"npm publish","update-latest":"pnpm update --latest","typecheck":"tsc --noEmit"},"devDependencies":{"@hono/node-server":"^1.2.3","@hwy-js/build":"workspace:*","@hwy-js/dev":"workspace:*","@types/node":"^20.9.0","hono":"^3.10.1","tsup":"^7.2.0"},"peerDependencies":{"hono":"^3.10.0"},"repository":{"type":"git","url":"git+https://github.com/hwy-js/hwy.git","directory":"packages/core"},"homepage":"https://hwy.dev","bugs":{"url":"https://github.com/hwy-js/hwy/issues"},"keywords":["simple","lightweight","flexible","framework","metaframework","web","typescript","htmx","hono","router","nested","routing","jsx","tsx","nextjs","remix"],"_id":"hwy@0.7.0-beta.23","readme":"# Hwy\n\nHwy is a simple, lightweight, and flexible web framework, built on Hono and HTMX.\n\n<a href=\"https://pkg-size.dev/hwy\" target=\"_blank\">\n  <img\n    width=\"112\"\n    height=\"20\"\n    style=\"background:darkgray;border-radius:4px;\"\n    src=\"https://pkg-size.dev/badge/bundle/11742\"\n    title=\"Bundle size for hwy\"\n  />\n</a>\n\n## Quick Start\n\n```bash\nnpx create-hwy@latest\n```\n\n## What is Hwy?\n\nHwy is a lot like NextJS or Remix, but it uses **_HTMX_** instead of React on the frontend.\n\nHwy lets you write **_React-style JSX_** in **_nested, file-based routes_**, with **_Remix-style actions and parallel loaders_**.\n\nPage components are async, so you can even **_fetch data in JSX_** if you want to (just be careful with waterfalls).\n\nThe backend server is built on **_Hono_**, so you have access to a rich, growing ecosystem with lots of middleware and wonderful docs.\n\nHwy is **_100% server-rendered_**, but with the HTMX defaults Hwy sets up for you out of the box, your app still **_feels like an SPA_**.\n\nLinks and forms are automatically **_progressively enhanced_** thanks to HTMX's `hx-boost` feature. Just use normal anchor tags and traditional form attributes.\n\nBecause Hwy replaces the **_full page_** on transitions by default, everything stays **_simple_**. You don't have to return different components from different endpoints (unless you want to).\n\nAnd best of all, **_anything you can do with Hono or HTMX, you can do with Hwy_**.\n\n## Features\n\n- Server-rendered JSX / TSX\n- Nested, file-based routing\n- Remix-style actions and parallel loaders\n- Async page components\n- Rich Hono middleware ecosystem\n- 100% type-safe\n- Server built on Hono\n- Client built on HTMX\n- Built-in critical CSS inlining\n- Live browser refresh during development\n- And more...\n\n## Guiding Principles\n\n- No speed limits\n- Numerous off-ramps\n- Smooth, safe roads\n- Clear traffic signs\n\n## Simple usage\n\nBelow is an example of a simple Hwy page. You'll notice it looks a lot like Remix, and you're right! Hwy is heavily inspired by Remix, but it uses HTMX instead of React.\n\n```tsx\n// src/pages/user/$user_id.page.tsx\n\nimport type { DataProps, PageProps } from \"hwy\";\nimport { UserProfile, getUser } from \"./somewhere.js\";\n\nexport async function loader({ params }: DataProps) {\n  return await getUser(params.user_id);\n}\n\nexport default async function ({ loaderData }: PageProps<typeof loader>) {\n  return <UserProfile user={loaderData} />;\n}\n```\n\nOr, if you prefer to fetch inside your components:\n\n```tsx\nexport default async function ({ params }: PageProps) {\n  const user = await getUser(params.user_id);\n\n  return <UserProfile user={user} />;\n}\n```\n\n## Get Started\n\nIf you want to dive right in, just open a terminal and run `npx create-hwy@latest` and follow the prompts.\n\nIf you'd prefer to read more first, take a peek at [our docs](https://hwy.dev/docs).\n\n## Acknowledgements\n\nHwy's APIs are obviously inspired by Remix. If Remix didn't exist, Hwy likely wouldn't exist either. Hwy doesn't use any Remix code, but it still owes a big thanks to the Remix team (past and present) for their top-tier patterns design. If you're building something huge and important today, use Remix.\n\n## Disclaimer\n\nHwy is in beta! Act accordingly.\n\n## License\n\nMIT License\n\nCopyright (c) 2023 Samuel J. Cook\n","readmeFilename":"README.md","gitHead":"06df5f42f45eb2d1e4b6ed0a739c253e41d5c210","types":"./dist/index.d.ts","_nodeVersion":"20.9.0","_npmVersion":"10.1.0","dist":{"integrity":"sha512-7pphJJgvTHbNn99ME9moFBs6/tLZIu1cEP2oHM5Kiw3XlaJMZeAs4McahZfKvToRm3qVJEJBQcaN0mzP31PC0A==","shasum":"4d453f475fec4eb09203e9cd76d77bb077cb5c03","tarball":"https://registry.npmjs.org/hwy/-/hwy-0.7.0-beta.23.tgz","fileCount":4,"unpackedSize":39147,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIEwh3m3kdee/KBS+KRJqrpYkwmlMnOiLzxjUY6lzWaneAiAJwK36Te+zocXE/VRS0KgJH2NbRM9mjRhuAR3/pld+Og=="}]},"_npmUser":{"name":"sjc5","email":"email@samcook.cc"},"directories":{},"maintainers":[{"name":"sjc5","email":"email@samcook.cc"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/hwy_0.7.0-beta.23_1700089678007_0.5227046773142783"},"_hasShrinkwrap":false},"0.7.0-beta.24":{"name":"hwy","version":"0.7.0-beta.24","author":{"name":"Samuel J. Cook"},"license":"MIT","description":"Simple, lightweight, and flexible web framework, built on Hono and HTMX.","type":"module","main":"dist/index.js","scripts":{"build":"rm -rf dist && tsup-node index.ts --format esm --dts","lint":"tsc","dev":"rm -rf dist && tsup-node index.ts --format esm --dts --watch --sourcemap","publish-beta":"npm publish --tag beta","publish-non-beta":"npm publish","update-latest":"pnpm update --latest","typecheck":"tsc --noEmit"},"devDependencies":{"@hono/node-server":"^1.2.3","@hwy-js/build":"workspace:*","@hwy-js/dev":"workspace:*","@types/node":"^20.9.0","hono":"^3.10.1","tsup":"^7.2.0"},"peerDependencies":{"hono":"^3.10.0"},"repository":{"type":"git","url":"git+https://github.com/hwy-js/hwy.git","directory":"packages/core"},"homepage":"https://hwy.dev","bugs":{"url":"https://github.com/hwy-js/hwy/issues"},"keywords":["simple","lightweight","flexible","framework","metaframework","web","typescript","htmx","hono","router","nested","routing","jsx","tsx","nextjs","remix"],"_id":"hwy@0.7.0-beta.24","readme":"# Hwy\n\nHwy is a simple, lightweight, and flexible web framework, built on Hono and HTMX.\n\n<a href=\"https://pkg-size.dev/hwy\" target=\"_blank\">\n  <img\n    width=\"112\"\n    height=\"20\"\n    style=\"background:darkgray;border-radius:4px;\"\n    src=\"https://pkg-size.dev/badge/bundle/11742\"\n    title=\"Bundle size for hwy\"\n  />\n</a>\n\n## Quick Start\n\n```bash\nnpx create-hwy@latest\n```\n\n## What is Hwy?\n\nHwy is a lot like NextJS or Remix, but it uses **_HTMX_** instead of React on the frontend.\n\nHwy lets you write **_React-style JSX_** in **_nested, file-based routes_**, with **_Remix-style actions and parallel loaders_**.\n\nPage components are async, so you can even **_fetch data in JSX_** if you want to (just be careful with waterfalls).\n\nThe backend server is built on **_Hono_**, so you have access to a rich, growing ecosystem with lots of middleware and wonderful docs.\n\nHwy is **_100% server-rendered_**, but with the HTMX defaults Hwy sets up for you out of the box, your app still **_feels like an SPA_**.\n\nLinks and forms are automatically **_progressively enhanced_** thanks to HTMX's `hx-boost` feature. Just use normal anchor tags and traditional form attributes.\n\nBecause Hwy replaces the **_full page_** on transitions by default, everything stays **_simple_**. You don't have to return different components from different endpoints (unless you want to).\n\nAnd best of all, **_anything you can do with Hono or HTMX, you can do with Hwy_**.\n\n## Features\n\n- Server-rendered JSX / TSX\n- Nested, file-based routing\n- Remix-style actions and parallel loaders\n- Async page components\n- Rich Hono middleware ecosystem\n- 100% type-safe\n- Server built on Hono\n- Client built on HTMX\n- Built-in critical CSS inlining\n- Live browser refresh during development\n- And more...\n\n## Guiding Principles\n\n- No speed limits\n- Numerous off-ramps\n- Smooth, safe roads\n- Clear traffic signs\n\n## Simple usage\n\nBelow is an example of a simple Hwy page. You'll notice it looks a lot like Remix, and you're right! Hwy is heavily inspired by Remix, but it uses HTMX instead of React.\n\n```tsx\n// src/pages/user/$user_id.page.tsx\n\nimport type { DataProps, PageProps } from \"hwy\";\nimport { UserProfile, getUser } from \"./somewhere.js\";\n\nexport async function loader({ params }: DataProps) {\n  return await getUser(params.user_id);\n}\n\nexport default async function ({ loaderData }: PageProps<typeof loader>) {\n  return <UserProfile user={loaderData} />;\n}\n```\n\nOr, if you prefer to fetch inside your components:\n\n```tsx\nexport default async function ({ params }: PageProps) {\n  const user = await getUser(params.user_id);\n\n  return <UserProfile user={user} />;\n}\n```\n\n## Get Started\n\nIf you want to dive right in, just open a terminal and run `npx create-hwy@latest` and follow the prompts.\n\nIf you'd prefer to read more first, take a peek at [our docs](https://hwy.dev/docs).\n\n## Acknowledgements\n\nHwy's APIs are obviously inspired by Remix. If Remix didn't exist, Hwy likely wouldn't exist either. Hwy doesn't use any Remix code, but it still owes a big thanks to the Remix team (past and present) for their top-tier patterns design. If you're building something huge and important today, use Remix.\n\n## Disclaimer\n\nHwy is in beta! Act accordingly.\n\n## License\n\nMIT License\n\nCopyright (c) 2023 Samuel J. Cook\n","readmeFilename":"README.md","gitHead":"5d42ae9935a52238dd92407ee57c71684a91eae2","types":"./dist/index.d.ts","_nodeVersion":"20.9.0","_npmVersion":"10.1.0","dist":{"integrity":"sha512-Nb/mDUEWi08SXmWk6ujtNLty6ALHKKDnuzn7Yt0l+MxHCaGN6iA3YD/tTQjduTTJ+z0cOhoj665DmRVVLKpbAw==","shasum":"dcb8d2489ae1a3d7d2a7778ba729fd8ef6967899","tarball":"https://registry.npmjs.org/hwy/-/hwy-0.7.0-beta.24.tgz","fileCount":4,"unpackedSize":39295,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDwK1GsbZKHpGDdmp5ELgUcGix8IMFwyFXjbDGnFfN8IwIhAJEr8/ZFqoDyURkfgoWgVI4r190N3eckE5bO+09nQMru"}]},"_npmUser":{"name":"sjc5","email":"email@samcook.cc"},"directories":{},"maintainers":[{"name":"sjc5","email":"email@samcook.cc"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/hwy_0.7.0-beta.24_1700093978865_0.640104862521296"},"_hasShrinkwrap":false},"0.7.0-beta.25":{"name":"hwy","version":"0.7.0-beta.25","author":{"name":"Samuel J. Cook"},"license":"MIT","description":"Simple, lightweight, and flexible web framework, built on Hono and HTMX.","type":"module","main":"dist/index.js","scripts":{"build":"rm -rf dist && tsup-node index.ts --format esm --dts","lint":"tsc","dev":"rm -rf dist && tsup-node index.ts --format esm --dts --watch --sourcemap","publish-beta":"npm publish --tag beta","publish-non-beta":"npm publish","update-latest":"pnpm update --latest","typecheck":"tsc --noEmit"},"devDependencies":{"@hono/node-server":"^1.2.3","@hwy-js/build":"workspace:*","@hwy-js/dev":"workspace:*","@types/node":"^20.9.0","hono":"^3.10.1","tsup":"^7.2.0"},"peerDependencies":{"hono":"^3.10.0"},"repository":{"type":"git","url":"git+https://github.com/hwy-js/hwy.git","directory":"packages/core"},"homepage":"https://hwy.dev","bugs":{"url":"https://github.com/hwy-js/hwy/issues"},"keywords":["simple","lightweight","flexible","framework","metaframework","web","typescript","htmx","hono","router","nested","routing","jsx","tsx","nextjs","remix"],"_id":"hwy@0.7.0-beta.25","readme":"# Hwy\n\nHwy is a simple, lightweight, and flexible web framework, built on Hono and HTMX.\n\n<a href=\"https://pkg-size.dev/hwy\" target=\"_blank\">\n  <img\n    width=\"112\"\n    height=\"20\"\n    style=\"background:darkgray;border-radius:4px;\"\n    src=\"https://pkg-size.dev/badge/bundle/11742\"\n    title=\"Bundle size for hwy\"\n  />\n</a>\n\n## Quick Start\n\n```bash\nnpx create-hwy@latest\n```\n\n## What is Hwy?\n\nHwy is a lot like NextJS or Remix, but it uses **_HTMX_** instead of React on the frontend.\n\nHwy lets you write **_React-style JSX_** in **_nested, file-based routes_**, with **_Remix-style actions and parallel loaders_**.\n\nPage components are async, so you can even **_fetch data in JSX_** if you want to (just be careful with waterfalls).\n\nThe backend server is built on **_Hono_**, so you have access to a rich, growing ecosystem with lots of middleware and wonderful docs.\n\nHwy is **_100% server-rendered_**, but with the HTMX defaults Hwy sets up for you out of the box, your app still **_feels like an SPA_**.\n\nLinks and forms are automatically **_progressively enhanced_** thanks to HTMX's `hx-boost` feature. Just use normal anchor tags and traditional form attributes.\n\nBecause Hwy replaces the **_full page_** on transitions by default, everything stays **_simple_**. You don't have to return different components from different endpoints (unless you want to).\n\nAnd best of all, **_anything you can do with Hono or HTMX, you can do with Hwy_**.\n\n## Features\n\n- Server-rendered JSX / TSX\n- Nested, file-based routing\n- Remix-style actions and parallel loaders\n- Async page components\n- Rich Hono middleware ecosystem\n- 100% type-safe\n- Server built on Hono\n- Client built on HTMX\n- Built-in critical CSS inlining\n- Live browser refresh during development\n- And more...\n\n## Guiding Principles\n\n- No speed limits\n- Numerous off-ramps\n- Smooth, safe roads\n- Clear traffic signs\n\n## Simple usage\n\nBelow is an example of a simple Hwy page. You'll notice it looks a lot like Remix, and you're right! Hwy is heavily inspired by Remix, but it uses HTMX instead of React.\n\n```tsx\n// src/pages/user/$user_id.page.tsx\n\nimport type { DataProps, PageProps } from \"hwy\";\nimport { UserProfile, getUser } from \"./somewhere.js\";\n\nexport async function loader({ params }: DataProps) {\n  return await getUser(params.user_id);\n}\n\nexport default async function ({ loaderData }: PageProps<typeof loader>) {\n  return <UserProfile user={loaderData} />;\n}\n```\n\nOr, if you prefer to fetch inside your components:\n\n```tsx\nexport default async function ({ params }: PageProps) {\n  const user = await getUser(params.user_id);\n\n  return <UserProfile user={user} />;\n}\n```\n\n## Get Started\n\nIf you want to dive right in, just open a terminal and run `npx create-hwy@latest` and follow the prompts.\n\nIf you'd prefer to read more first, take a peek at [our docs](https://hwy.dev/docs).\n\n## Acknowledgements\n\nHwy's APIs are obviously inspired by Remix. If Remix didn't exist, Hwy likely wouldn't exist either. Hwy doesn't use any Remix code, but it still owes a big thanks to the Remix team (past and present) for their top-tier patterns design. If you're building something huge and important today, use Remix.\n\n## Disclaimer\n\nHwy is in beta! Act accordingly.\n\n## License\n\nMIT License\n\nCopyright (c) 2023 Samuel J. Cook\n","readmeFilename":"README.md","gitHead":"5d42ae9935a52238dd92407ee57c71684a91eae2","types":"./dist/index.d.ts","_nodeVersion":"20.9.0","_npmVersion":"10.1.0","dist":{"integrity":"sha512-p8JH9rT8sc49gDnINuv1YXLP84mkMZcJ3WsNKsxgScJ+4hV8+sT3CsxvIPGkfIxbga9m/MorPbXZ3StFRCv11g==","shasum":"ea895b0805aa1944a0c55fb91fab54ad15a690fa","tarball":"https://registry.npmjs.org/hwy/-/hwy-0.7.0-beta.25.tgz","fileCount":4,"unpackedSize":40186,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQD0wXnXLee4Gyca2J5zBqUjUZvPbNXxnbJkGejmLZze8gIhAN7qWyAkyCvzH96kFFKtQ4DS6F+r2He0C+fECfByvAcC"}]},"_npmUser":{"name":"sjc5","email":"email@samcook.cc"},"directories":{},"maintainers":[{"name":"sjc5","email":"email@samcook.cc"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/hwy_0.7.0-beta.25_1700094048307_0.3277643597745028"},"_hasShrinkwrap":false},"0.7.0-beta.26":{"name":"hwy","version":"0.7.0-beta.26","author":{"name":"Samuel J. Cook"},"license":"MIT","description":"Simple, lightweight, and flexible web framework, built on Hono and HTMX.","type":"module","main":"dist/index.js","scripts":{"build":"rm -rf dist && tsup-node index.ts --format esm --dts","lint":"tsc","dev":"rm -rf dist && tsup-node index.ts --format esm --dts --watch --sourcemap","publish-beta":"npm publish --tag beta","publish-non-beta":"npm publish","update-latest":"pnpm update --latest","typecheck":"tsc --noEmit"},"devDependencies":{"@hono/node-server":"^1.2.3","@hwy-js/build":"workspace:*","@hwy-js/dev":"workspace:*","@types/node":"^20.9.0","hono":"^3.10.1","tsup":"^7.2.0"},"peerDependencies":{"hono":"^3.10.0"},"repository":{"type":"git","url":"git+https://github.com/hwy-js/hwy.git","directory":"packages/core"},"homepage":"https://hwy.dev","bugs":{"url":"https://github.com/hwy-js/hwy/issues"},"keywords":["simple","lightweight","flexible","framework","metaframework","web","typescript","htmx","hono","router","nested","routing","jsx","tsx","nextjs","remix"],"_id":"hwy@0.7.0-beta.26","readme":"# Hwy\n\nHwy is a simple, lightweight, and flexible web framework, built on Hono and HTMX.\n\n<a href=\"https://pkg-size.dev/hwy\" target=\"_blank\">\n  <img\n    width=\"112\"\n    height=\"20\"\n    style=\"background:darkgray;border-radius:4px;\"\n    src=\"https://pkg-size.dev/badge/bundle/11742\"\n    title=\"Bundle size for hwy\"\n  />\n</a>\n\n## Quick Start\n\n```bash\nnpx create-hwy@latest\n```\n\n## What is Hwy?\n\nHwy is a lot like NextJS or Remix, but it uses **_HTMX_** instead of React on the frontend.\n\nHwy lets you write **_React-style JSX_** in **_nested, file-based routes_**, with **_Remix-style actions and parallel loaders_**.\n\nPage components are async, so you can even **_fetch data in JSX_** if you want to (just be careful with waterfalls).\n\nThe backend server is built on **_Hono_**, so you have access to a rich, growing ecosystem with lots of middleware and wonderful docs.\n\nHwy is **_100% server-rendered_**, but with the HTMX defaults Hwy sets up for you out of the box, your app still **_feels like an SPA_**.\n\nLinks and forms are automatically **_progressively enhanced_** thanks to HTMX's `hx-boost` feature. Just use normal anchor tags and traditional form attributes.\n\nBecause Hwy replaces the **_full page_** on transitions by default, everything stays **_simple_**. You don't have to return different components from different endpoints (unless you want to).\n\nAnd best of all, **_anything you can do with Hono or HTMX, you can do with Hwy_**.\n\n## Features\n\n- Server-rendered JSX / TSX\n- Nested, file-based routing\n- Remix-style actions and parallel loaders\n- Async page components\n- Rich Hono middleware ecosystem\n- 100% type-safe\n- Server built on Hono\n- Client built on HTMX\n- Built-in critical CSS inlining\n- Live browser refresh during development\n- And more...\n\n## Guiding Principles\n\n- No speed limits\n- Numerous off-ramps\n- Smooth, safe roads\n- Clear traffic signs\n\n## Simple usage\n\nBelow is an example of a simple Hwy page. You'll notice it looks a lot like Remix, and you're right! Hwy is heavily inspired by Remix, but it uses HTMX instead of React.\n\n```tsx\n// src/pages/user/$user_id.page.tsx\n\nimport type { DataProps, PageProps } from \"hwy\";\nimport { UserProfile, getUser } from \"./somewhere.js\";\n\nexport async function loader({ params }: DataProps) {\n  return await getUser(params.user_id);\n}\n\nexport default async function ({ loaderData }: PageProps<typeof loader>) {\n  return <UserProfile user={loaderData} />;\n}\n```\n\nOr, if you prefer to fetch inside your components:\n\n```tsx\nexport default async function ({ params }: PageProps) {\n  const user = await getUser(params.user_id);\n\n  return <UserProfile user={user} />;\n}\n```\n\n## Get Started\n\nIf you want to dive right in, just open a terminal and run `npx create-hwy@latest` and follow the prompts.\n\nIf you'd prefer to read more first, take a peek at [our docs](https://hwy.dev/docs).\n\n## Acknowledgements\n\nHwy's APIs are obviously inspired by Remix. If Remix didn't exist, Hwy likely wouldn't exist either. Hwy doesn't use any Remix code, but it still owes a big thanks to the Remix team (past and present) for their top-tier patterns design. If you're building something huge and important today, use Remix.\n\n## Disclaimer\n\nHwy is in beta! Act accordingly.\n\n## License\n\nMIT License\n\nCopyright (c) 2023 Samuel J. Cook\n","readmeFilename":"README.md","gitHead":"5d42ae9935a52238dd92407ee57c71684a91eae2","types":"./dist/index.d.ts","_nodeVersion":"20.9.0","_npmVersion":"10.1.0","dist":{"integrity":"sha512-JqNgUzHcrIT717TWKaTMUJxrcYoTze+Voiv06/0Pfl1LKOqC/Q57UVZsWwSXhham/4y9eLnS3kvAcGLMvxW7ig==","shasum":"5e938561430c4218589151832f4c0e144ae7e5ba","tarball":"https://registry.npmjs.org/hwy/-/hwy-0.7.0-beta.26.tgz","fileCount":4,"unpackedSize":40136,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIDswc4XjONJA2p/IVInvkZhLePaSRZRtgw/Jfyv0kAnrAiEAjirMcifJXSgzscYdOTwt7kiidnHBw4NCuFxxgwtqUpE="}]},"_npmUser":{"name":"sjc5","email":"email@samcook.cc"},"directories":{},"maintainers":[{"name":"sjc5","email":"email@samcook.cc"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/hwy_0.7.0-beta.26_1700094241070_0.14804245380856051"},"_hasShrinkwrap":false},"0.7.0-beta.27":{"name":"hwy","version":"0.7.0-beta.27","author":{"name":"Samuel J. Cook"},"license":"MIT","description":"Simple, lightweight, and flexible web framework, built on Hono and HTMX.","type":"module","main":"dist/index.js","scripts":{"build":"rm -rf dist && tsup-node index.ts --format esm --dts","lint":"tsc","dev":"rm -rf dist && tsup-node index.ts --format esm --dts --watch --sourcemap","publish-beta":"npm publish --tag beta","publish-non-beta":"npm publish","update-latest":"pnpm update --latest","typecheck":"tsc --noEmit"},"devDependencies":{"@hono/node-server":"^1.2.3","@hwy-js/build":"workspace:*","@hwy-js/dev":"workspace:*","@types/node":"^20.9.0","hono":"^3.10.1","tsup":"^7.2.0"},"peerDependencies":{"hono":"^3.10.0"},"repository":{"type":"git","url":"git+https://github.com/hwy-js/hwy.git","directory":"packages/core"},"homepage":"https://hwy.dev","bugs":{"url":"https://github.com/hwy-js/hwy/issues"},"keywords":["simple","lightweight","flexible","framework","metaframework","web","typescript","htmx","hono","router","nested","routing","jsx","tsx","nextjs","remix"],"_id":"hwy@0.7.0-beta.27","readme":"# Hwy\n\nHwy is a simple, lightweight, and flexible web framework, built on Hono and HTMX.\n\n<a href=\"https://pkg-size.dev/hwy\" target=\"_blank\">\n  <img\n    width=\"112\"\n    height=\"20\"\n    style=\"background:darkgray;border-radius:4px;\"\n    src=\"https://pkg-size.dev/badge/bundle/11742\"\n    title=\"Bundle size for hwy\"\n  />\n</a>\n\n## Quick Start\n\n```bash\nnpx create-hwy@latest\n```\n\n## What is Hwy?\n\nHwy is a lot like NextJS or Remix, but it uses **_HTMX_** instead of React on the frontend.\n\nHwy lets you write **_React-style JSX_** in **_nested, file-based routes_**, with **_Remix-style actions and parallel loaders_**.\n\nPage components are async, so you can even **_fetch data in JSX_** if you want to (just be careful with waterfalls).\n\nThe backend server is built on **_Hono_**, so you have access to a rich, growing ecosystem with lots of middleware and wonderful docs.\n\nHwy is **_100% server-rendered_**, but with the HTMX defaults Hwy sets up for you out of the box, your app still **_feels like an SPA_**.\n\nLinks and forms are automatically **_progressively enhanced_** thanks to HTMX's `hx-boost` feature. Just use normal anchor tags and traditional form attributes.\n\nBecause Hwy replaces the **_full page_** on transitions by default, everything stays **_simple_**. You don't have to return different components from different endpoints (unless you want to).\n\nAnd best of all, **_anything you can do with Hono or HTMX, you can do with Hwy_**.\n\n## Features\n\n- Server-rendered JSX / TSX\n- Nested, file-based routing\n- Remix-style actions and parallel loaders\n- Async page components\n- Rich Hono middleware ecosystem\n- 100% type-safe\n- Server built on Hono\n- Client built on HTMX\n- Built-in critical CSS inlining\n- Live browser refresh during development\n- And more...\n\n## Guiding Principles\n\n- No speed limits\n- Numerous off-ramps\n- Smooth, safe roads\n- Clear traffic signs\n\n## Simple usage\n\nBelow is an example of a simple Hwy page. You'll notice it looks a lot like Remix, and you're right! Hwy is heavily inspired by Remix, but it uses HTMX instead of React.\n\n```tsx\n// src/pages/user/$user_id.page.tsx\n\nimport type { DataProps, PageProps } from \"hwy\";\nimport { UserProfile, getUser } from \"./somewhere.js\";\n\nexport async function loader({ params }: DataProps) {\n  return await getUser(params.user_id);\n}\n\nexport default async function ({ loaderData }: PageProps<typeof loader>) {\n  return <UserProfile user={loaderData} />;\n}\n```\n\nOr, if you prefer to fetch inside your components:\n\n```tsx\nexport default async function ({ params }: PageProps) {\n  const user = await getUser(params.user_id);\n\n  return <UserProfile user={user} />;\n}\n```\n\n## Get Started\n\nIf you want to dive right in, just open a terminal and run `npx create-hwy@latest` and follow the prompts.\n\nIf you'd prefer to read more first, take a peek at [our docs](https://hwy.dev/docs).\n\n## Acknowledgements\n\nHwy's APIs are obviously inspired by Remix. If Remix didn't exist, Hwy likely wouldn't exist either. Hwy doesn't use any Remix code, but it still owes a big thanks to the Remix team (past and present) for their top-tier patterns design. If you're building something huge and important today, use Remix.\n\n## Disclaimer\n\nHwy is in beta! Act accordingly.\n\n## License\n\nMIT License\n\nCopyright (c) 2023 Samuel J. Cook\n","readmeFilename":"README.md","gitHead":"5d42ae9935a52238dd92407ee57c71684a91eae2","types":"./dist/index.d.ts","_nodeVersion":"20.9.0","_npmVersion":"10.1.0","dist":{"integrity":"sha512-lqVN0i8ji6OgvSB9ZwBsUKiH9LwKDqyFBz7EDKD63hiSbYCwDzLedPY8J3hgIA5H3JSlGjgUucoyAxIrbrDTdw==","shasum":"57f53e314a958612f0e18ea11aaa7d8d032347c1","tarball":"https://registry.npmjs.org/hwy/-/hwy-0.7.0-beta.27.tgz","fileCount":4,"unpackedSize":40172,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIC5P17l//FZNG8u9ek8zd9pi0ILuzU6n49SS0IDq4ryxAiAyGLDppr6i6ERmpuK9EB2dgc/dIri5it6AUxeHsDvtIg=="}]},"_npmUser":{"name":"sjc5","email":"email@samcook.cc"},"directories":{},"maintainers":[{"name":"sjc5","email":"email@samcook.cc"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/hwy_0.7.0-beta.27_1700095788823_0.599900276527761"},"_hasShrinkwrap":false},"0.7.0-beta.28":{"name":"hwy","version":"0.7.0-beta.28","author":{"name":"Samuel J. Cook"},"license":"MIT","description":"Simple, lightweight, and flexible web framework, built on Hono and HTMX.","type":"module","main":"dist/index.js","scripts":{"build":"rm -rf dist && tsup-node index.ts --format esm --dts","lint":"tsc","dev":"rm -rf dist && tsup-node index.ts --format esm --dts --watch --sourcemap","publish-beta":"npm publish --tag beta","publish-non-beta":"npm publish","update-latest":"pnpm update --latest","typecheck":"tsc --noEmit"},"devDependencies":{"@hono/node-server":"^1.2.3","@hwy-js/build":"workspace:*","@hwy-js/dev":"workspace:*","@types/node":"^20.9.0","hono":"^3.10.1","tsup":"^7.2.0"},"peerDependencies":{"hono":"^3.10.0"},"repository":{"type":"git","url":"git+https://github.com/hwy-js/hwy.git","directory":"packages/core"},"homepage":"https://hwy.dev","bugs":{"url":"https://github.com/hwy-js/hwy/issues"},"keywords":["simple","lightweight","flexible","framework","metaframework","web","typescript","htmx","hono","router","nested","routing","jsx","tsx","nextjs","remix"],"_id":"hwy@0.7.0-beta.28","readme":"# Hwy\n\nHwy is a simple, lightweight, and flexible web framework, built on Hono and HTMX.\n\n<a href=\"https://pkg-size.dev/hwy\" target=\"_blank\">\n  <img\n    width=\"112\"\n    height=\"20\"\n    style=\"background:darkgray;border-radius:4px;\"\n    src=\"https://pkg-size.dev/badge/bundle/11742\"\n    title=\"Bundle size for hwy\"\n  />\n</a>\n\n## Quick Start\n\n```bash\nnpx create-hwy@latest\n```\n\n## What is Hwy?\n\nHwy is a lot like NextJS or Remix, but it uses **_HTMX_** instead of React on the frontend.\n\nHwy lets you write **_React-style JSX_** in **_nested, file-based routes_**, with **_Remix-style actions and parallel loaders_**.\n\nPage components are async, so you can even **_fetch data in JSX_** if you want to (just be careful with waterfalls).\n\nThe backend server is built on **_Hono_**, so you have access to a rich, growing ecosystem with lots of middleware and wonderful docs.\n\nHwy is **_100% server-rendered_**, but with the HTMX defaults Hwy sets up for you out of the box, your app still **_feels like an SPA_**.\n\nLinks and forms are automatically **_progressively enhanced_** thanks to HTMX's `hx-boost` feature. Just use normal anchor tags and traditional form attributes.\n\nBecause Hwy replaces the **_full page_** on transitions by default, everything stays **_simple_**. You don't have to return different components from different endpoints (unless you want to).\n\nAnd best of all, **_anything you can do with Hono or HTMX, you can do with Hwy_**.\n\n## Features\n\n- Server-rendered JSX / TSX\n- Nested, file-based routing\n- Remix-style actions and parallel loaders\n- Async page components\n- Rich Hono middleware ecosystem\n- 100% type-safe\n- Server built on Hono\n- Client built on HTMX\n- Built-in critical CSS inlining\n- Live browser refresh during development\n- And more...\n\n## Guiding Principles\n\n- No speed limits\n- Numerous off-ramps\n- Smooth, safe roads\n- Clear traffic signs\n\n## Simple usage\n\nBelow is an example of a simple Hwy page. You'll notice it looks a lot like Remix, and you're right! Hwy is heavily inspired by Remix, but it uses HTMX instead of React.\n\n```tsx\n// src/pages/user/$user_id.page.tsx\n\nimport type { DataProps, PageProps } from \"hwy\";\nimport { UserProfile, getUser } from \"./somewhere.js\";\n\nexport async function loader({ params }: DataProps) {\n  return await getUser(params.user_id);\n}\n\nexport default async function ({ loaderData }: PageProps<typeof loader>) {\n  return <UserProfile user={loaderData} />;\n}\n```\n\nOr, if you prefer to fetch inside your components:\n\n```tsx\nexport default async function ({ params }: PageProps) {\n  const user = await getUser(params.user_id);\n\n  return <UserProfile user={user} />;\n}\n```\n\n## Get Started\n\nIf you want to dive right in, just open a terminal and run `npx create-hwy@latest` and follow the prompts.\n\nIf you'd prefer to read more first, take a peek at [our docs](https://hwy.dev/docs).\n\n## Acknowledgements\n\nHwy's APIs are obviously inspired by Remix. If Remix didn't exist, Hwy likely wouldn't exist either. Hwy doesn't use any Remix code, but it still owes a big thanks to the Remix team (past and present) for their top-tier patterns design. If you're building something huge and important today, use Remix.\n\n## Disclaimer\n\nHwy is in beta! Act accordingly.\n\n## License\n\nMIT License\n\nCopyright (c) 2023 Samuel J. Cook\n","readmeFilename":"README.md","gitHead":"f7e1fe7143996ed48b880843b5fc81adcac0d19a","types":"./dist/index.d.ts","_nodeVersion":"20.9.0","_npmVersion":"10.1.0","dist":{"integrity":"sha512-+8r4dy3IATKoYrxnsDaCG+cRpN3q76RDDXsLrd12wKM+ZQGmVzBeP0GuS+U1czUhkxMxRd1kThuU5gIn/3D70Q==","shasum":"c2409795367a7fe6c094bccb10d5d83d7ad550a1","tarball":"https://registry.npmjs.org/hwy/-/hwy-0.7.0-beta.28.tgz","fileCount":4,"unpackedSize":40172,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIBuuNjM5SLb2jlYZL6YTPCFZzV2z2+ChiZX97TsRra7zAiEAsM5AaitfeQHAnmwzBbiK4KyWq+/juaO5lom1rAd67Kc="}]},"_npmUser":{"name":"sjc5","email":"email@samcook.cc"},"directories":{},"maintainers":[{"name":"sjc5","email":"email@samcook.cc"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/hwy_0.7.0-beta.28_1700107294153_0.7768914972833447"},"_hasShrinkwrap":false},"0.7.0":{"name":"hwy","version":"0.7.0","author":{"name":"Samuel J. Cook"},"license":"MIT","description":"Simple, lightweight, and flexible web framework, built on Hono and HTMX.","type":"module","main":"dist/index.js","scripts":{"build":"rm -rf dist && tsup-node index.ts --format esm --dts","lint":"tsc","dev":"rm -rf dist && tsup-node index.ts --format esm --dts --watch --sourcemap","publish-beta":"npm publish --tag beta","publish-non-beta":"npm publish","update-latest":"pnpm update --latest","typecheck":"tsc --noEmit"},"devDependencies":{"@hono/node-server":"^1.2.3","@hwy-js/build":"workspace:*","@hwy-js/dev":"workspace:*","@types/node":"^20.9.0","hono":"^3.10.1","tsup":"^7.2.0"},"peerDependencies":{"hono":"^3.10.0"},"repository":{"type":"git","url":"git+https://github.com/hwy-js/hwy.git","directory":"packages/core"},"homepage":"https://hwy.dev","bugs":{"url":"https://github.com/hwy-js/hwy/issues"},"keywords":["simple","lightweight","flexible","framework","metaframework","web","typescript","htmx","hono","router","nested","routing","jsx","tsx","nextjs","remix"],"_id":"hwy@0.7.0","gitHead":"ee993c66890365cfe72a993843dc5cc2f738c44e","types":"./dist/index.d.ts","_nodeVersion":"20.9.0","_npmVersion":"10.1.0","dist":{"integrity":"sha512-nTpoISN+UyV1sce8RE19r6MVSksCrOaGAUNjBAktScChloaFmXu+b8hqCZXhvnRAAwuEv46ubP6ms8mSdtcNrg==","shasum":"22cdd92f17e2a0684b292a819b81c829349d56f2","tarball":"https://registry.npmjs.org/hwy/-/hwy-0.7.0.tgz","fileCount":4,"unpackedSize":40164,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQC3v6HZHIuhgLYIFFmaIe7llNNOJGMOu5Jdk2CasIr1VwIhALWI+qeWT1YSB9q38jH4+xppJ9p55sW23aJyNvwNK9D0"}]},"_npmUser":{"name":"sjc5","email":"email@samcook.cc"},"directories":{},"maintainers":[{"name":"sjc5","email":"email@samcook.cc"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/hwy_0.7.0_1700108743023_0.6016036363733717"},"_hasShrinkwrap":false},"0.7.1-beta.0":{"name":"hwy","version":"0.7.1-beta.0","author":{"name":"Samuel J. Cook"},"license":"MIT","description":"Simple, lightweight, and flexible web framework, built on Hono and HTMX.","type":"module","main":"dist/index.js","scripts":{"build":"rm -rf dist && tsup-node index.ts --format esm --dts","lint":"tsc","dev":"rm -rf dist && tsup-node index.ts --format esm --dts --watch --sourcemap","publish-beta":"npm publish --tag beta","publish-non-beta":"npm publish","update-latest":"pnpm update --latest","typecheck":"tsc --noEmit"},"devDependencies":{"@hono/node-server":"^1.2.3","@hwy-js/build":"workspace:*","@hwy-js/dev":"workspace:*","@types/node":"^20.9.0","hono":"^3.10.1","tsup":"^7.2.0"},"peerDependencies":{"hono":"^3.10.0"},"repository":{"type":"git","url":"git+https://github.com/hwy-js/hwy.git","directory":"packages/core"},"homepage":"https://hwy.dev","bugs":{"url":"https://github.com/hwy-js/hwy/issues"},"keywords":["simple","lightweight","flexible","framework","metaframework","web","typescript","htmx","hono","router","nested","routing","jsx","tsx","nextjs","remix"],"_id":"hwy@0.7.1-beta.0","readme":"# Hwy\n\nHwy is a simple, lightweight, and flexible web framework, built on Hono and HTMX.\n\n<a href=\"https://pkg-size.dev/hwy\" target=\"_blank\">\n  <img\n    width=\"112\"\n    height=\"20\"\n    style=\"background:darkgray;border-radius:4px;\"\n    src=\"https://pkg-size.dev/badge/bundle/11742\"\n    title=\"Bundle size for hwy\"\n  />\n</a>\n\n## Quick Start\n\n```bash\nnpx create-hwy@latest\n```\n\n## What is Hwy?\n\nHwy is a lot like NextJS or Remix, but it uses **_HTMX_** instead of React on the frontend.\n\nHwy lets you write **_React-style JSX_** in **_nested, file-based routes_**, with **_Remix-style actions and parallel loaders_**.\n\nPage components are async, so you can even **_fetch data in JSX_** if you want to (just be careful with waterfalls).\n\nThe backend server is built on **_Hono_**, so you have access to a rich, growing ecosystem with lots of middleware and wonderful docs.\n\nHwy is **_100% server-rendered_**, but with the HTMX defaults Hwy sets up for you out of the box, your app still **_feels like an SPA_**.\n\nLinks and forms are automatically **_progressively enhanced_** thanks to HTMX's `hx-boost` feature. Just use normal anchor tags and traditional form attributes.\n\nBecause Hwy replaces the **_full page_** on transitions by default, everything stays **_simple_**. You don't have to return different components from different endpoints (unless you want to).\n\nAnd best of all, **_anything you can do with Hono or HTMX, you can do with Hwy_**.\n\n## Features\n\n- Server-rendered JSX / TSX\n- Nested, file-based routing\n- Remix-style actions and parallel loaders\n- Async page components\n- Rich Hono middleware ecosystem\n- 100% type-safe\n- Server built on Hono\n- Client built on HTMX\n- Built-in critical CSS inlining\n- Live browser refresh during development\n- And more...\n\n## Guiding Principles\n\n- No speed limits\n- Numerous off-ramps\n- Smooth, safe roads\n- Clear traffic signs\n\n## Simple usage\n\nBelow is an example of a simple Hwy page. You'll notice it looks a lot like Remix, and you're right! Hwy is heavily inspired by Remix, but it uses HTMX instead of React.\n\n```tsx\n// src/pages/user/$user_id.page.tsx\n\nimport type { DataProps, PageProps } from \"hwy\";\nimport { UserProfile, getUser } from \"./somewhere.js\";\n\nexport async function loader({ params }: DataProps) {\n  return await getUser(params.user_id);\n}\n\nexport default async function ({ loaderData }: PageProps<typeof loader>) {\n  return <UserProfile user={loaderData} />;\n}\n```\n\nOr, if you prefer to fetch inside your components:\n\n```tsx\nexport default async function ({ params }: PageProps) {\n  const user = await getUser(params.user_id);\n\n  return <UserProfile user={user} />;\n}\n```\n\n## Get Started\n\nIf you want to dive right in, just open a terminal and run `npx create-hwy@latest` and follow the prompts.\n\nIf you'd prefer to read more first, take a peek at [our docs](https://hwy.dev/docs).\n\n## Acknowledgements\n\nHwy's APIs are obviously inspired by Remix. If Remix didn't exist, Hwy likely wouldn't exist either. Hwy doesn't use any Remix code, but it still owes a big thanks to the Remix team (past and present) for their top-tier patterns design. If you're building something huge and important today, use Remix.\n\n## Disclaimer\n\nHwy is in beta! Act accordingly.\n\n## License\n\nMIT License\n\nCopyright (c) 2023 Samuel J. Cook\n","readmeFilename":"README.md","gitHead":"24e527cf37efff1fee814f24e66642cc6ba438ba","types":"./dist/index.d.ts","_nodeVersion":"20.9.0","_npmVersion":"10.1.0","dist":{"integrity":"sha512-iiPIWAPkkNRaAKsuXZL1ZBeKRNQgXsh/GYmIGvQQomyDPo/f+e8H90TMXl+aLk7yyDcNnp2uFYMus6AJIiDhyw==","shasum":"0ce50eee103acadee0da77b9c377f368c83db143","tarball":"https://registry.npmjs.org/hwy/-/hwy-0.7.1-beta.0.tgz","fileCount":4,"unpackedSize":40258,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCICH7vrzzOe3U+YND6y/7KVDHEFO9u2t1tARD8fdxxux2AiEA/IQlHl82WRdzx5AdT6wAxlhevbvIxENu+7XrmV+tTTA="}]},"_npmUser":{"name":"sjc5","email":"email@samcook.cc"},"directories":{},"maintainers":[{"name":"sjc5","email":"email@samcook.cc"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/hwy_0.7.1-beta.0_1700111382422_0.3282029544783689"},"_hasShrinkwrap":false},"0.7.1":{"name":"hwy","version":"0.7.1","author":{"name":"Samuel J. Cook"},"license":"MIT","description":"Simple, lightweight, and flexible web framework, built on Hono and HTMX.","type":"module","main":"dist/index.js","scripts":{"build":"rm -rf dist && tsup-node index.ts --format esm --dts","lint":"tsc","dev":"rm -rf dist && tsup-node index.ts --format esm --dts --watch --sourcemap","publish-beta":"npm publish --tag beta","publish-non-beta":"npm publish","update-latest":"pnpm update --latest","typecheck":"tsc --noEmit"},"devDependencies":{"@hono/node-server":"^1.2.3","@hwy-js/build":"workspace:*","@hwy-js/dev":"workspace:*","@types/node":"^20.9.0","hono":"^3.10.1","tsup":"^7.2.0"},"peerDependencies":{"hono":"^3.10.0"},"repository":{"type":"git","url":"git+https://github.com/hwy-js/hwy.git","directory":"packages/core"},"homepage":"https://hwy.dev","bugs":{"url":"https://github.com/hwy-js/hwy/issues"},"keywords":["simple","lightweight","flexible","framework","metaframework","web","typescript","htmx","hono","router","nested","routing","jsx","tsx","nextjs","remix"],"_id":"hwy@0.7.1","gitHead":"2d6a723a25759fc85eedac800836cc9243cda4a5","types":"./dist/index.d.ts","_nodeVersion":"20.9.0","_npmVersion":"10.1.0","dist":{"integrity":"sha512-vWkCYxtdBYWKrd1F4mt+qs3g087DtCSlzgsFdERksEnogVObCQDx4XHAC2KJ5ixKbpOBkKf+hN/ZQg1wCYEzjg==","shasum":"3ee6292f047e84cc54cbb5c70786177d08c5fc6c","tarball":"https://registry.npmjs.org/hwy/-/hwy-0.7.1.tgz","fileCount":4,"unpackedSize":40251,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIAYZmWTFoGc3acrF9bNYMNcZvIHu8NnliDC8/bpLgkFxAiEAtrWbwmiKW3bNDux0I9NC+5M4e/CYM4JXI7U7t3QQjKg="}]},"_npmUser":{"name":"sjc5","email":"email@samcook.cc"},"directories":{},"maintainers":[{"name":"sjc5","email":"email@samcook.cc"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/hwy_0.7.1_1700111863455_0.2102600849800993"},"_hasShrinkwrap":false},"0.7.2-beta.0":{"name":"hwy","version":"0.7.2-beta.0","author":{"name":"Samuel J. Cook"},"license":"MIT","description":"Simple, lightweight, and flexible web framework, built on Hono and HTMX.","type":"module","main":"dist/index.js","scripts":{"build":"rm -rf dist && tsup-node index.ts --format esm --dts","lint":"tsc","dev":"rm -rf dist && tsup-node index.ts --format esm --dts --watch --sourcemap","publish-beta":"npm publish --tag beta","publish-non-beta":"npm publish","update-latest":"pnpm update --latest","typecheck":"tsc --noEmit"},"devDependencies":{"@hono/node-server":"^1.2.3","@hwy-js/build":"workspace:*","@hwy-js/dev":"workspace:*","@types/node":"^20.9.0","hono":"^3.10.1","tsup":"^7.2.0"},"peerDependencies":{"hono":"^3.10.0"},"repository":{"type":"git","url":"git+https://github.com/hwy-js/hwy.git","directory":"packages/core"},"homepage":"https://hwy.dev","bugs":{"url":"https://github.com/hwy-js/hwy/issues"},"keywords":["simple","lightweight","flexible","framework","metaframework","web","typescript","htmx","hono","router","nested","routing","jsx","tsx","nextjs","remix"],"_id":"hwy@0.7.2-beta.0","readme":"# Hwy\n\nHwy is a simple, lightweight, and flexible web framework, built on Hono and HTMX.\n\n<a href=\"https://pkg-size.dev/hwy\" target=\"_blank\">\n  <img\n    width=\"112\"\n    height=\"20\"\n    style=\"background:darkgray;border-radius:4px;\"\n    src=\"https://pkg-size.dev/badge/bundle/11742\"\n    title=\"Bundle size for hwy\"\n  />\n</a>\n\n## Quick Start\n\n```bash\nnpx create-hwy@latest\n```\n\n## What is Hwy?\n\nHwy is a lot like NextJS or Remix, but it uses **_HTMX_** instead of React on the frontend.\n\nHwy lets you write **_React-style JSX_** in **_nested, file-based routes_**, with **_Remix-style actions and parallel loaders_**.\n\nPage components are async, so you can even **_fetch data in JSX_** if you want to (just be careful with waterfalls).\n\nThe backend server is built on **_Hono_**, so you have access to a rich, growing ecosystem with lots of middleware and wonderful docs.\n\nHwy is **_100% server-rendered_**, but with the HTMX defaults Hwy sets up for you out of the box, your app still **_feels like an SPA_**.\n\nLinks and forms are automatically **_progressively enhanced_** thanks to HTMX's `hx-boost` feature. Just use normal anchor tags and traditional form attributes.\n\nBecause Hwy replaces the **_full page_** on transitions by default, everything stays **_simple_**. You don't have to return different components from different endpoints (unless you want to).\n\nAnd best of all, **_anything you can do with Hono or HTMX, you can do with Hwy_**.\n\n## Features\n\n- Server-rendered JSX / TSX\n- Nested, file-based routing\n- Remix-style actions and parallel loaders\n- Async page components\n- Rich Hono middleware ecosystem\n- 100% type-safe\n- Server built on Hono\n- Client built on HTMX\n- Built-in critical CSS inlining\n- Live browser refresh during development\n- And more...\n\n## Guiding Principles\n\n- No speed limits\n- Numerous off-ramps\n- Smooth, safe roads\n- Clear traffic signs\n\n## Simple usage\n\nBelow is an example of a simple Hwy page. You'll notice it looks a lot like Remix, and you're right! Hwy is heavily inspired by Remix, but it uses HTMX instead of React.\n\n```tsx\n// src/pages/user/$user_id.page.tsx\n\nimport type { DataProps, PageProps } from \"hwy\";\nimport { UserProfile, getUser } from \"./somewhere.js\";\n\nexport async function loader({ params }: DataProps) {\n  return await getUser(params.user_id);\n}\n\nexport default async function ({ loaderData }: PageProps<typeof loader>) {\n  return <UserProfile user={loaderData} />;\n}\n```\n\nOr, if you prefer to fetch inside your components:\n\n```tsx\nexport default async function ({ params }: PageProps) {\n  const user = await getUser(params.user_id);\n\n  return <UserProfile user={user} />;\n}\n```\n\n## Get Started\n\nIf you want to dive right in, just open a terminal and run `npx create-hwy@latest` and follow the prompts.\n\nIf you'd prefer to read more first, take a peek at [our docs](https://hwy.dev/docs).\n\n## Acknowledgements\n\nHwy's APIs are obviously inspired by Remix. If Remix didn't exist, Hwy likely wouldn't exist either. Hwy doesn't use any Remix code, but it still owes a big thanks to the Remix team (past and present) for their top-tier patterns design. If you're building something huge and important today, use Remix.\n\n## Disclaimer\n\nHwy is in beta! Act accordingly.\n\n## License\n\nMIT License\n\nCopyright (c) 2023 Samuel J. Cook\n","readmeFilename":"README.md","gitHead":"874d3fd1ced6966fb0ab70c72c1bffde7fb5aa8d","types":"./dist/index.d.ts","_nodeVersion":"18.18.2","_npmVersion":"9.8.1","dist":{"integrity":"sha512-w/JZeqYzBQXGL3xlWDmSo4MTA3tcfHXAXc6w7OTWLmMUHEH1jHlc8QRGhc2IbamfN/8gNyCxGCUzQvLgK0JXwg==","shasum":"d021bbf91da9656b5fa60ee9686ca2d94ef32c54","tarball":"https://registry.npmjs.org/hwy/-/hwy-0.7.2-beta.0.tgz","fileCount":4,"unpackedSize":40309,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCOqBZQ8WaVkWz0ONi0bpl2txUlNx2aHTe8zhi/N9CbeQIgImP+R34ubtXewmjdqe57/CH/4GktwdQ3R+VJ8UvGD1U="}]},"_npmUser":{"name":"sjc5","email":"email@samcook.cc"},"directories":{},"maintainers":[{"name":"sjc5","email":"email@samcook.cc"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/hwy_0.7.2-beta.0_1700517912533_0.4321248612434392"},"_hasShrinkwrap":false},"0.7.2-beta.1":{"name":"hwy","version":"0.7.2-beta.1","author":{"name":"Samuel J. Cook"},"license":"MIT","description":"Simple, lightweight, and flexible web framework, built on Hono and HTMX.","type":"module","main":"dist/index.js","scripts":{"build":"rm -rf dist && tsup-node index.ts --format esm --dts","lint":"tsc","dev":"rm -rf dist && tsup-node index.ts --format esm --dts --watch --sourcemap","publish-beta":"npm publish --tag beta","publish-non-beta":"npm publish","update-latest":"pnpm update --latest","typecheck":"tsc --noEmit"},"devDependencies":{"@hono/node-server":"^1.2.3","@hwy-js/build":"workspace:*","@hwy-js/dev":"workspace:*","@types/node":"^20.9.0","hono":"^3.10.1","tsup":"^7.2.0"},"peerDependencies":{"hono":"^3.10.0"},"repository":{"type":"git","url":"git+https://github.com/hwy-js/hwy.git","directory":"packages/core"},"homepage":"https://hwy.dev","bugs":{"url":"https://github.com/hwy-js/hwy/issues"},"keywords":["simple","lightweight","flexible","framework","metaframework","web","typescript","htmx","hono","router","nested","routing","jsx","tsx","nextjs","remix"],"_id":"hwy@0.7.2-beta.1","readme":"# Hwy\n\nHwy is a simple, lightweight, and flexible web framework, built on Hono and HTMX.\n\n<a href=\"https://pkg-size.dev/hwy\" target=\"_blank\">\n  <img\n    width=\"112\"\n    height=\"20\"\n    style=\"background:darkgray;border-radius:4px;\"\n    src=\"https://pkg-size.dev/badge/bundle/11742\"\n    title=\"Bundle size for hwy\"\n  />\n</a>\n\n## Quick Start\n\n```bash\nnpx create-hwy@latest\n```\n\n## What is Hwy?\n\nHwy is a lot like NextJS or Remix, but it uses **_HTMX_** instead of React on the frontend.\n\nHwy lets you write **_React-style JSX_** in **_nested, file-based routes_**, with **_Remix-style actions and parallel loaders_**.\n\nPage components are async, so you can even **_fetch data in JSX_** if you want to (just be careful with waterfalls).\n\nThe backend server is built on **_Hono_**, so you have access to a rich, growing ecosystem with lots of middleware and wonderful docs.\n\nHwy is **_100% server-rendered_**, but with the HTMX defaults Hwy sets up for you out of the box, your app still **_feels like an SPA_**.\n\nLinks and forms are automatically **_progressively enhanced_** thanks to HTMX's `hx-boost` feature. Just use normal anchor tags and traditional form attributes.\n\nBecause Hwy replaces the **_full page_** on transitions by default, everything stays **_simple_**. You don't have to return different components from different endpoints (unless you want to).\n\nAnd best of all, **_anything you can do with Hono or HTMX, you can do with Hwy_**.\n\n## Features\n\n- Server-rendered JSX / TSX\n- Nested, file-based routing\n- Remix-style actions and parallel loaders\n- Async page components\n- Rich Hono middleware ecosystem\n- 100% type-safe\n- Server built on Hono\n- Client built on HTMX\n- Built-in critical CSS inlining\n- Live browser refresh during development\n- And more...\n\n## Guiding Principles\n\n- No speed limits\n- Numerous off-ramps\n- Smooth, safe roads\n- Clear traffic signs\n\n## Simple usage\n\nBelow is an example of a simple Hwy page. You'll notice it looks a lot like Remix, and you're right! Hwy is heavily inspired by Remix, but it uses HTMX instead of React.\n\n```tsx\n// src/pages/user/$user_id.page.tsx\n\nimport type { DataProps, PageProps } from \"hwy\";\nimport { UserProfile, getUser } from \"./somewhere.js\";\n\nexport async function loader({ params }: DataProps) {\n  return await getUser(params.user_id);\n}\n\nexport default async function ({ loaderData }: PageProps<typeof loader>) {\n  return <UserProfile user={loaderData} />;\n}\n```\n\nOr, if you prefer to fetch inside your components:\n\n```tsx\nexport default async function ({ params }: PageProps) {\n  const user = await getUser(params.user_id);\n\n  return <UserProfile user={user} />;\n}\n```\n\n## Get Started\n\nIf you want to dive right in, just open a terminal and run `npx create-hwy@latest` and follow the prompts.\n\nIf you'd prefer to read more first, take a peek at [our docs](https://hwy.dev/docs).\n\n## Acknowledgements\n\nHwy's APIs are obviously inspired by Remix. If Remix didn't exist, Hwy likely wouldn't exist either. Hwy doesn't use any Remix code, but it still owes a big thanks to the Remix team (past and present) for their top-tier patterns design. If you're building something huge and important today, use Remix.\n\n## Disclaimer\n\nHwy is in beta! Act accordingly.\n\n## License\n\nMIT License\n\nCopyright (c) 2023 Samuel J. Cook\n","readmeFilename":"README.md","gitHead":"874d3fd1ced6966fb0ab70c72c1bffde7fb5aa8d","types":"./dist/index.d.ts","_nodeVersion":"18.18.2","_npmVersion":"9.8.1","dist":{"integrity":"sha512-T4C5oL9odv+LxOCo09VZNH4UBuLCT1onNtBZOgBUmsEy8TWi0ojufLZdz97e0MsP4XVWr91fLMZiXTtNtKufXQ==","shasum":"fe23e9394ad0ba5a45e7df2e3bac8a5d993f8887","tarball":"https://registry.npmjs.org/hwy/-/hwy-0.7.2-beta.1.tgz","fileCount":4,"unpackedSize":40309,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDBxJ4HZU4lTjrf+LsJUYm1H9E1+PXTBuCvyzJ5cTGlKgIgHJwTPyb7s7TXNaxFgaWH9gi4RfCkDvsGus0Wp10fr8w="}]},"_npmUser":{"name":"sjc5","email":"email@samcook.cc"},"directories":{},"maintainers":[{"name":"sjc5","email":"email@samcook.cc"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/hwy_0.7.2-beta.1_1700703880523_0.11968527152223207"},"_hasShrinkwrap":false},"0.7.2-beta.2":{"name":"hwy","version":"0.7.2-beta.2","author":{"name":"Samuel J. Cook"},"license":"MIT","description":"Simple, lightweight, and flexible web framework, built on Hono and HTMX.","type":"module","main":"dist/index.js","scripts":{"build":"rm -rf dist && tsup-node index.ts --format esm --dts","lint":"tsc","dev":"rm -rf dist && tsup-node index.ts --format esm --dts --watch --sourcemap","publish-beta":"npm publish --tag beta","publish-non-beta":"npm publish","update-latest":"pnpm update --latest","typecheck":"tsc --noEmit"},"devDependencies":{"@hono/node-server":"^1.2.3","@hwy-js/build":"workspace:*","@hwy-js/dev":"workspace:*","@types/node":"^20.9.4","hono":"^3.10.2","tsup":"^8.0.1"},"peerDependencies":{"hono":"^3.10.0"},"repository":{"type":"git","url":"git+https://github.com/hwy-js/hwy.git","directory":"packages/core"},"homepage":"https://hwy.dev","bugs":{"url":"https://github.com/hwy-js/hwy/issues"},"keywords":["simple","lightweight","flexible","framework","metaframework","web","typescript","htmx","hono","router","nested","routing","jsx","tsx","nextjs","remix"],"_id":"hwy@0.7.2-beta.2","readme":"# Hwy\n\nHwy is a simple, lightweight, and flexible web framework, built on Hono and HTMX.\n\n<a href=\"https://pkg-size.dev/hwy\" target=\"_blank\">\n  <img\n    width=\"112\"\n    height=\"20\"\n    style=\"background:darkgray;border-radius:4px;\"\n    src=\"https://pkg-size.dev/badge/bundle/11742\"\n    title=\"Bundle size for hwy\"\n  />\n</a>\n\n## Quick Start\n\n```bash\nnpx create-hwy@latest\n```\n\n## What is Hwy?\n\nHwy is a lot like NextJS or Remix, but it uses **_HTMX_** instead of React on the frontend.\n\nHwy lets you write **_React-style JSX_** in **_nested, file-based routes_**, with **_Remix-style actions and parallel loaders_**.\n\nPage components are async, so you can even **_fetch data in JSX_** if you want to (just be careful with waterfalls).\n\nThe backend server is built on **_Hono_**, so you have access to a rich, growing ecosystem with lots of middleware and wonderful docs.\n\nHwy is **_100% server-rendered_**, but with the HTMX defaults Hwy sets up for you out of the box, your app still **_feels like an SPA_**.\n\nLinks and forms are automatically **_progressively enhanced_** thanks to HTMX's `hx-boost` feature. Just use normal anchor tags and traditional form attributes.\n\nBecause Hwy replaces the **_full page_** on transitions by default, everything stays **_simple_**. You don't have to return different components from different endpoints (unless you want to).\n\nAnd best of all, **_anything you can do with Hono or HTMX, you can do with Hwy_**.\n\n## Features\n\n- Server-rendered JSX / TSX\n- Nested, file-based routing\n- Remix-style actions and parallel loaders\n- Async page components\n- Rich Hono middleware ecosystem\n- 100% type-safe\n- Server built on Hono\n- Client built on HTMX\n- Built-in critical CSS inlining\n- Live browser refresh during development\n- And more...\n\n## Guiding Principles\n\n- No speed limits\n- Numerous off-ramps\n- Smooth, safe roads\n- Clear traffic signs\n\n## Simple usage\n\nBelow is an example of a simple Hwy page. You'll notice it looks a lot like Remix, and you're right! Hwy is heavily inspired by Remix, but it uses HTMX instead of React.\n\n```tsx\n// src/pages/user/$user_id.page.tsx\n\nimport type { DataProps, PageProps } from \"hwy\";\nimport { UserProfile, getUser } from \"./somewhere.js\";\n\nexport async function loader({ params }: DataProps) {\n  return await getUser(params.user_id);\n}\n\nexport default async function ({ loaderData }: PageProps<typeof loader>) {\n  return <UserProfile user={loaderData} />;\n}\n```\n\nOr, if you prefer to fetch inside your components:\n\n```tsx\nexport default async function ({ params }: PageProps) {\n  const user = await getUser(params.user_id);\n\n  return <UserProfile user={user} />;\n}\n```\n\n## Get Started\n\nIf you want to dive right in, just open a terminal and run `npx create-hwy@latest` and follow the prompts.\n\nIf you'd prefer to read more first, take a peek at [our docs](https://hwy.dev/docs).\n\n## Acknowledgements\n\nHwy's APIs are obviously inspired by Remix. If Remix didn't exist, Hwy likely wouldn't exist either. Hwy doesn't use any Remix code, but it still owes a big thanks to the Remix team (past and present) for their top-tier patterns design. If you're building something huge and important today, use Remix.\n\n## Disclaimer\n\nHwy is in beta! Act accordingly.\n\n## License\n\nMIT License\n\nCopyright (c) 2023 Samuel J. Cook\n","readmeFilename":"README.md","gitHead":"874d3fd1ced6966fb0ab70c72c1bffde7fb5aa8d","types":"./dist/index.d.ts","_nodeVersion":"18.18.2","_npmVersion":"9.8.1","dist":{"integrity":"sha512-d18+dirRMEGviEzruxpJmVVT55Wd+Cz0F4XKfpCjiJQ00YvP+pucgR4/kzi2gtia86V9jHxIzaCv5JyNct3fWg==","shasum":"11f0f533cee063004bf577ae0aecbeb11291cdd5","tarball":"https://registry.npmjs.org/hwy/-/hwy-0.7.2-beta.2.tgz","fileCount":4,"unpackedSize":40359,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIGD2lakehFYUMuXMCH8hTLMqKH6Vfqkeaj6GnaKkRfKhAiEA/3OLJ4aoTPxJrh5XA2ETozsSJr8z6wI75x/u6xiOWWM="}]},"_npmUser":{"name":"sjc5","email":"email@samcook.cc"},"directories":{},"maintainers":[{"name":"sjc5","email":"email@samcook.cc"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/hwy_0.7.2-beta.2_1700719422144_0.9898885950248464"},"_hasShrinkwrap":false},"0.7.2-beta.3":{"name":"hwy","version":"0.7.2-beta.3","author":{"name":"Samuel J. Cook"},"license":"MIT","description":"Simple, lightweight, and flexible web framework, built on Hono and HTMX.","type":"module","main":"dist/index.js","scripts":{"build":"rm -rf dist && tsup-node index.ts --format esm --dts","lint":"tsc","dev":"rm -rf dist && tsup-node index.ts --format esm --dts --watch --sourcemap","publish-beta":"npm publish --tag beta","publish-non-beta":"npm publish","update-latest":"pnpm update --latest","typecheck":"tsc --noEmit"},"devDependencies":{"@hono/node-server":"^1.3.0","@hwy-js/build":"workspace:*","@hwy-js/dev":"workspace:*","@types/node":"^20.10.0","hono":"^3.10.3","tsup":"^8.0.1"},"peerDependencies":{"hono":"^3.10.0"},"repository":{"type":"git","url":"git+https://github.com/hwy-js/hwy.git","directory":"packages/core"},"homepage":"https://hwy.dev","bugs":{"url":"https://github.com/hwy-js/hwy/issues"},"keywords":["simple","lightweight","flexible","framework","metaframework","web","typescript","htmx","hono","router","nested","routing","jsx","tsx","nextjs","remix"],"_id":"hwy@0.7.2-beta.3","readme":"# Hwy\n\nHwy is a simple, lightweight, and flexible web framework, built on Hono and HTMX.\n\n<a href=\"https://pkg-size.dev/hwy\" target=\"_blank\">\n  <img\n    width=\"112\"\n    height=\"20\"\n    style=\"background:darkgray;border-radius:4px;\"\n    src=\"https://pkg-size.dev/badge/bundle/11742\"\n    title=\"Bundle size for hwy\"\n  />\n</a>\n\n## Quick Start\n\n```bash\nnpx create-hwy@latest\n```\n\n## What is Hwy?\n\nHwy is a lot like NextJS or Remix, but it uses **_HTMX_** instead of React on the frontend.\n\nHwy lets you write **_React-style JSX_** in **_nested, file-based routes_**, with **_Remix-style actions and parallel loaders_**.\n\nPage components are async, so you can even **_fetch data in JSX_** if you want to (just be careful with waterfalls).\n\nThe backend server is built on **_Hono_**, so you have access to a rich, growing ecosystem with lots of middleware and wonderful docs.\n\nHwy is **_100% server-rendered_**, but with the HTMX defaults Hwy sets up for you out of the box, your app still **_feels like an SPA_**.\n\nLinks and forms are automatically **_progressively enhanced_** thanks to HTMX's `hx-boost` feature. Just use normal anchor tags and traditional form attributes.\n\nBecause Hwy replaces the **_full page_** on transitions by default, everything stays **_simple_**. You don't have to return different components from different endpoints (unless you want to).\n\nAnd best of all, **_anything you can do with Hono or HTMX, you can do with Hwy_**.\n\n## Features\n\n- Server-rendered JSX / TSX\n- Nested, file-based routing\n- Remix-style actions and parallel loaders\n- Async page components\n- Rich Hono middleware ecosystem\n- 100% type-safe\n- Server built on Hono\n- Client built on HTMX\n- Built-in critical CSS inlining\n- Live browser refresh during development\n- And more...\n\n## Guiding Principles\n\n- No speed limits\n- Numerous off-ramps\n- Smooth, safe roads\n- Clear traffic signs\n\n## Simple usage\n\nBelow is an example of a simple Hwy page. You'll notice it looks a lot like Remix, and you're right! Hwy is heavily inspired by Remix, but it uses HTMX instead of React.\n\n```tsx\n// src/pages/user/$user_id.page.tsx\n\nimport type { DataProps, PageProps } from \"hwy\";\nimport { UserProfile, getUser } from \"./somewhere.js\";\n\nexport async function loader({ params }: DataProps) {\n  return await getUser(params.user_id);\n}\n\nexport default async function ({ loaderData }: PageProps<typeof loader>) {\n  return <UserProfile user={loaderData} />;\n}\n```\n\nOr, if you prefer to fetch inside your components:\n\n```tsx\nexport default async function ({ params }: PageProps) {\n  const user = await getUser(params.user_id);\n\n  return <UserProfile user={user} />;\n}\n```\n\n## Get Started\n\nIf you want to dive right in, just open a terminal and run `npx create-hwy@latest` and follow the prompts.\n\nIf you'd prefer to read more first, take a peek at [our docs](https://hwy.dev/docs).\n\n## Acknowledgements\n\nHwy's APIs are obviously inspired by Remix. If Remix didn't exist, Hwy likely wouldn't exist either. Hwy doesn't use any Remix code, but it still owes a big thanks to the Remix team (past and present) for their top-tier patterns design. If you're building something huge and important today, use Remix.\n\n## Disclaimer\n\nHwy is in beta! Act accordingly.\n\n## License\n\nMIT License\n\nCopyright (c) 2023 Samuel J. Cook\n","readmeFilename":"README.md","gitHead":"874d3fd1ced6966fb0ab70c72c1bffde7fb5aa8d","types":"./dist/index.d.ts","_nodeVersion":"18.18.2","_npmVersion":"9.8.1","dist":{"integrity":"sha512-eQANtOH3PxODTLvI/9B2Mnw9SskEiOyehccwMg1st/soPHkiKWgS24DuXjNt2ebo+iGq7CGQxMd8KhBZROZ+Dg==","shasum":"92a6bada82c5e50d136dda4b885599988dd8b199","tarball":"https://registry.npmjs.org/hwy/-/hwy-0.7.2-beta.3.tgz","fileCount":4,"unpackedSize":40360,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIDg9I4gaZ75r+30pY+iTnoYauasgC4vWriGJh/IAV3yhAiEA1sqtcOghO3AZsNW0gf+kg1srBz3jFShuwCml6+QdifM="}]},"_npmUser":{"name":"sjc5","email":"email@samcook.cc"},"directories":{},"maintainers":[{"name":"sjc5","email":"email@samcook.cc"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/hwy_0.7.2-beta.3_1701231278778_0.21103744271089875"},"_hasShrinkwrap":false},"0.7.2-beta.4":{"name":"hwy","version":"0.7.2-beta.4","author":{"name":"Samuel J. Cook"},"license":"MIT","description":"Simple, lightweight, and flexible web framework, built on Hono and HTMX.","type":"module","main":"dist/index.js","scripts":{"build":"rm -rf dist && tsup-node index.ts --format esm --dts","lint":"tsc","dev":"rm -rf dist && tsup-node index.ts --format esm --dts --watch --sourcemap","publish-beta":"npm publish --tag beta","publish-non-beta":"npm publish","update-latest":"pnpm update --latest","typecheck":"tsc --noEmit"},"devDependencies":{"@hono/node-server":"^1.3.0","@hwy-js/build":"workspace:*","@hwy-js/dev":"workspace:*","@types/node":"^20.10.0","hono":"^3.10.3","tsup":"^8.0.1"},"peerDependencies":{"hono":"^3.10.0"},"repository":{"type":"git","url":"git+https://github.com/hwy-js/hwy.git","directory":"packages/core"},"homepage":"https://hwy.dev","bugs":{"url":"https://github.com/hwy-js/hwy/issues"},"keywords":["simple","lightweight","flexible","framework","metaframework","web","typescript","htmx","hono","router","nested","routing","jsx","tsx","nextjs","remix"],"_id":"hwy@0.7.2-beta.4","readme":"# Hwy\n\nHwy is a simple, lightweight, and flexible web framework, built on Hono and HTMX.\n\n<a href=\"https://pkg-size.dev/hwy\" target=\"_blank\">\n  <img\n    width=\"112\"\n    height=\"20\"\n    style=\"background:darkgray;border-radius:4px;\"\n    src=\"https://pkg-size.dev/badge/bundle/11742\"\n    title=\"Bundle size for hwy\"\n  />\n</a>\n\n## Quick Start\n\n```bash\nnpx create-hwy@latest\n```\n\n## What is Hwy?\n\nHwy is a lot like NextJS or Remix, but it uses **_HTMX_** instead of React on the frontend.\n\nHwy lets you write **_React-style JSX_** in **_nested, file-based routes_**, with **_Remix-style actions and parallel loaders_**.\n\nPage components are async, so you can even **_fetch data in JSX_** if you want to (just be careful with waterfalls).\n\nThe backend server is built on **_Hono_**, so you have access to a rich, growing ecosystem with lots of middleware and wonderful docs.\n\nHwy is **_100% server-rendered_**, but with the HTMX defaults Hwy sets up for you out of the box, your app still **_feels like an SPA_**.\n\nLinks and forms are automatically **_progressively enhanced_** thanks to HTMX's `hx-boost` feature. Just use normal anchor tags and traditional form attributes.\n\nBecause Hwy replaces the **_full page_** on transitions by default, everything stays **_simple_**. You don't have to return different components from different endpoints (unless you want to).\n\nAnd best of all, **_anything you can do with Hono or HTMX, you can do with Hwy_**.\n\n## Features\n\n- Server-rendered JSX / TSX\n- Nested, file-based routing\n- Remix-style actions and parallel loaders\n- Async page components\n- Rich Hono middleware ecosystem\n- 100% type-safe\n- Server built on Hono\n- Client built on HTMX\n- Built-in critical CSS inlining\n- Live browser refresh during development\n- And more...\n\n## Guiding Principles\n\n- No speed limits\n- Numerous off-ramps\n- Smooth, safe roads\n- Clear traffic signs\n\n## Simple usage\n\nBelow is an example of a simple Hwy page. You'll notice it looks a lot like Remix, and you're right! Hwy is heavily inspired by Remix, but it uses HTMX instead of React.\n\n```tsx\n// src/pages/user/$user_id.page.tsx\n\nimport type { DataProps, PageProps } from \"hwy\";\nimport { UserProfile, getUser } from \"./somewhere.js\";\n\nexport async function loader({ params }: DataProps) {\n  return await getUser(params.user_id);\n}\n\nexport default async function ({ loaderData }: PageProps<typeof loader>) {\n  return <UserProfile user={loaderData} />;\n}\n```\n\nOr, if you prefer to fetch inside your components:\n\n```tsx\nexport default async function ({ params }: PageProps) {\n  const user = await getUser(params.user_id);\n\n  return <UserProfile user={user} />;\n}\n```\n\n## Get Started\n\nIf you want to dive right in, just open a terminal and run `npx create-hwy@latest` and follow the prompts.\n\nIf you'd prefer to read more first, take a peek at [our docs](https://hwy.dev/docs).\n\n## Acknowledgements\n\nHwy's APIs are obviously inspired by Remix. If Remix didn't exist, Hwy likely wouldn't exist either. Hwy doesn't use any Remix code, but it still owes a big thanks to the Remix team (past and present) for their top-tier patterns design. If you're building something huge and important today, use Remix.\n\n## Disclaimer\n\nHwy is in beta! Act accordingly.\n\n## License\n\nMIT License\n\nCopyright (c) 2023 Samuel J. Cook\n","readmeFilename":"README.md","gitHead":"874d3fd1ced6966fb0ab70c72c1bffde7fb5aa8d","types":"./dist/index.d.ts","_nodeVersion":"18.18.2","_npmVersion":"9.8.1","dist":{"integrity":"sha512-cEnJEQ5DU7VDGmbkzMvYnU3XXkrNc1csG9AB6jwDtjimv3djDEkWWJafTHux/PvjZfelieiYt0W978jAQV71ZA==","shasum":"8386fc97607162a38cc67dbd1cc55c2cc2ce62af","tarball":"https://registry.npmjs.org/hwy/-/hwy-0.7.2-beta.4.tgz","fileCount":4,"unpackedSize":40255,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDqbvirk3Irr1IYVWfZtFf9F2mEO2glSOpWy+Gsto93eQIgEJOBvzX3VWNHVqAocucmcC1oPHLAKq6rjYzotB3F7j8="}]},"_npmUser":{"name":"sjc5","email":"email@samcook.cc"},"directories":{},"maintainers":[{"name":"sjc5","email":"email@samcook.cc"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/hwy_0.7.2-beta.4_1701232406355_0.8668710679869838"},"_hasShrinkwrap":false},"0.7.2-beta.5":{"name":"hwy","version":"0.7.2-beta.5","author":{"name":"Samuel J. Cook"},"license":"MIT","description":"Simple, lightweight, and flexible web framework, built on Hono and HTMX.","type":"module","main":"dist/index.js","scripts":{"build":"rm -rf dist && tsup-node index.ts --format esm --dts","lint":"tsc","dev":"rm -rf dist && tsup-node index.ts --format esm --dts --watch --sourcemap","publish-beta":"npm publish --tag beta","publish-non-beta":"npm publish","update-latest":"pnpm update --latest","typecheck":"tsc --noEmit"},"devDependencies":{"@hono/node-server":"^1.3.0","@hwy-js/build":"workspace:*","@hwy-js/dev":"workspace:*","@types/node":"^20.10.0","hono":"^3.10.3","tsup":"^8.0.1"},"peerDependencies":{"hono":"^3.10.0"},"repository":{"type":"git","url":"git+https://github.com/hwy-js/hwy.git","directory":"packages/core"},"homepage":"https://hwy.dev","bugs":{"url":"https://github.com/hwy-js/hwy/issues"},"keywords":["simple","lightweight","flexible","framework","metaframework","web","typescript","htmx","hono","router","nested","routing","jsx","tsx","nextjs","remix"],"_id":"hwy@0.7.2-beta.5","readme":"# Hwy\n\nHwy is a simple, lightweight, and flexible web framework, built on Hono and HTMX.\n\n<a href=\"https://pkg-size.dev/hwy\" target=\"_blank\">\n  <img\n    width=\"112\"\n    height=\"20\"\n    style=\"background:darkgray;border-radius:4px;\"\n    src=\"https://pkg-size.dev/badge/bundle/11742\"\n    title=\"Bundle size for hwy\"\n  />\n</a>\n\n## Quick Start\n\n```bash\nnpx create-hwy@latest\n```\n\n## What is Hwy?\n\nHwy is a lot like NextJS or Remix, but it uses **_HTMX_** instead of React on the frontend.\n\nHwy lets you write **_React-style JSX_** in **_nested, file-based routes_**, with **_Remix-style actions and parallel loaders_**.\n\nPage components are async, so you can even **_fetch data in JSX_** if you want to (just be careful with waterfalls).\n\nThe backend server is built on **_Hono_**, so you have access to a rich, growing ecosystem with lots of middleware and wonderful docs.\n\nHwy is **_100% server-rendered_**, but with the HTMX defaults Hwy sets up for you out of the box, your app still **_feels like an SPA_**.\n\nLinks and forms are automatically **_progressively enhanced_** thanks to HTMX's `hx-boost` feature. Just use normal anchor tags and traditional form attributes.\n\nBecause Hwy replaces the **_full page_** on transitions by default, everything stays **_simple_**. You don't have to return different components from different endpoints (unless you want to).\n\nAnd best of all, **_anything you can do with Hono or HTMX, you can do with Hwy_**.\n\n## Features\n\n- Server-rendered JSX / TSX\n- Nested, file-based routing\n- Remix-style actions and parallel loaders\n- Async page components\n- Rich Hono middleware ecosystem\n- 100% type-safe\n- Server built on Hono\n- Client built on HTMX\n- Built-in critical CSS inlining\n- Live browser refresh during development\n- And more...\n\n## Guiding Principles\n\n- No speed limits\n- Numerous off-ramps\n- Smooth, safe roads\n- Clear traffic signs\n\n## Simple usage\n\nBelow is an example of a simple Hwy page. You'll notice it looks a lot like Remix, and you're right! Hwy is heavily inspired by Remix, but it uses HTMX instead of React.\n\n```tsx\n// src/pages/user/$user_id.page.tsx\n\nimport type { DataProps, PageProps } from \"hwy\";\nimport { UserProfile, getUser } from \"./somewhere.js\";\n\nexport async function loader({ params }: DataProps) {\n  return await getUser(params.user_id);\n}\n\nexport default async function ({ loaderData }: PageProps<typeof loader>) {\n  return <UserProfile user={loaderData} />;\n}\n```\n\nOr, if you prefer to fetch inside your components:\n\n```tsx\nexport default async function ({ params }: PageProps) {\n  const user = await getUser(params.user_id);\n\n  return <UserProfile user={user} />;\n}\n```\n\n## Get Started\n\nIf you want to dive right in, just open a terminal and run `npx create-hwy@latest` and follow the prompts.\n\nIf you'd prefer to read more first, take a peek at [our docs](https://hwy.dev/docs).\n\n## Acknowledgements\n\nHwy's APIs are obviously inspired by Remix. If Remix didn't exist, Hwy likely wouldn't exist either. Hwy doesn't use any Remix code, but it still owes a big thanks to the Remix team (past and present) for their top-tier patterns design. If you're building something huge and important today, use Remix.\n\n## Disclaimer\n\nHwy is in beta! Act accordingly.\n\n## License\n\nMIT License\n\nCopyright (c) 2023 Samuel J. Cook\n","readmeFilename":"README.md","gitHead":"874d3fd1ced6966fb0ab70c72c1bffde7fb5aa8d","types":"./dist/index.d.ts","_nodeVersion":"18.18.2","_npmVersion":"9.8.1","dist":{"integrity":"sha512-ONbMVlNfsriz1vdyQinVeBdnn1T7kRjQW64fihI/JDLXg5I4a7nsVE2RRchZ0ALFpJXlD2vo/f1hM6V2nkQ7xQ==","shasum":"ea2c44df84f975a2d8f6555b99c552990869bd45","tarball":"https://registry.npmjs.org/hwy/-/hwy-0.7.2-beta.5.tgz","fileCount":4,"unpackedSize":40863,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDy95qCX5jeXB71KofOimHENIItcZBgKux/76PaDaBccgIgWAkuAoCEirZOru0nHqDbat5zkajUT+6wjEtnf7+ystY="}]},"_npmUser":{"name":"sjc5","email":"email@samcook.cc"},"directories":{},"maintainers":[{"name":"sjc5","email":"email@samcook.cc"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/hwy_0.7.2-beta.5_1701236259342_0.7336210897204387"},"_hasShrinkwrap":false},"0.7.2-beta.6":{"name":"hwy","version":"0.7.2-beta.6","author":{"name":"Samuel J. Cook"},"license":"MIT","description":"Simple, lightweight, and flexible web framework, built on Hono and HTMX.","type":"module","main":"dist/index.js","scripts":{"build":"rm -rf dist && tsup-node index.ts --format esm --dts","lint":"tsc","dev":"rm -rf dist && tsup-node index.ts --format esm --dts --watch --sourcemap","publish-beta":"npm publish --tag beta","publish-non-beta":"npm publish","update-latest":"pnpm update --latest","typecheck":"tsc --noEmit"},"devDependencies":{"@hono/node-server":"^1.3.0","@hwy-js/build":"workspace:*","@hwy-js/dev":"workspace:*","@types/node":"^20.10.0","hono":"^3.10.3","tsup":"^8.0.1"},"peerDependencies":{"hono":"^3.10.0"},"repository":{"type":"git","url":"git+https://github.com/hwy-js/hwy.git","directory":"packages/core"},"homepage":"https://hwy.dev","bugs":{"url":"https://github.com/hwy-js/hwy/issues"},"keywords":["simple","lightweight","flexible","framework","metaframework","web","typescript","htmx","hono","router","nested","routing","jsx","tsx","nextjs","remix"],"_id":"hwy@0.7.2-beta.6","readme":"# Hwy\n\nHwy is a simple, lightweight, and flexible web framework, built on Hono and HTMX.\n\n<a href=\"https://pkg-size.dev/hwy\" target=\"_blank\">\n  <img\n    width=\"112\"\n    height=\"20\"\n    style=\"background:darkgray;border-radius:4px;\"\n    src=\"https://pkg-size.dev/badge/bundle/11742\"\n    title=\"Bundle size for hwy\"\n  />\n</a>\n\n## Quick Start\n\n```bash\nnpx create-hwy@latest\n```\n\n## What is Hwy?\n\nHwy is a lot like NextJS or Remix, but it uses **_HTMX_** instead of React on the frontend.\n\nHwy lets you write **_React-style JSX_** in **_nested, file-based routes_**, with **_Remix-style actions and parallel loaders_**.\n\nPage components are async, so you can even **_fetch data in JSX_** if you want to (just be careful with waterfalls).\n\nThe backend server is built on **_Hono_**, so you have access to a rich, growing ecosystem with lots of middleware and wonderful docs.\n\nHwy is **_100% server-rendered_**, but with the HTMX defaults Hwy sets up for you out of the box, your app still **_feels like an SPA_**.\n\nLinks and forms are automatically **_progressively enhanced_** thanks to HTMX's `hx-boost` feature. Just use normal anchor tags and traditional form attributes.\n\nBecause Hwy replaces the **_full page_** on transitions by default, everything stays **_simple_**. You don't have to return different components from different endpoints (unless you want to).\n\nAnd best of all, **_anything you can do with Hono or HTMX, you can do with Hwy_**.\n\n## Features\n\n- Server-rendered JSX / TSX\n- Nested, file-based routing\n- Remix-style actions and parallel loaders\n- Async page components\n- Rich Hono middleware ecosystem\n- 100% type-safe\n- Server built on Hono\n- Client built on HTMX\n- Built-in critical CSS inlining\n- Live browser refresh during development\n- And more...\n\n## Guiding Principles\n\n- No speed limits\n- Numerous off-ramps\n- Smooth, safe roads\n- Clear traffic signs\n\n## Simple usage\n\nBelow is an example of a simple Hwy page. You'll notice it looks a lot like Remix, and you're right! Hwy is heavily inspired by Remix, but it uses HTMX instead of React.\n\n```tsx\n// src/pages/user/$user_id.page.tsx\n\nimport type { DataProps, PageProps } from \"hwy\";\nimport { UserProfile, getUser } from \"./somewhere.js\";\n\nexport async function loader({ params }: DataProps) {\n  return await getUser(params.user_id);\n}\n\nexport default async function ({ loaderData }: PageProps<typeof loader>) {\n  return <UserProfile user={loaderData} />;\n}\n```\n\nOr, if you prefer to fetch inside your components:\n\n```tsx\nexport default async function ({ params }: PageProps) {\n  const user = await getUser(params.user_id);\n\n  return <UserProfile user={user} />;\n}\n```\n\n## Get Started\n\nIf you want to dive right in, just open a terminal and run `npx create-hwy@latest` and follow the prompts.\n\nIf you'd prefer to read more first, take a peek at [our docs](https://hwy.dev/docs).\n\n## Acknowledgements\n\nHwy's APIs are obviously inspired by Remix. If Remix didn't exist, Hwy likely wouldn't exist either. Hwy doesn't use any Remix code, but it still owes a big thanks to the Remix team (past and present) for their top-tier patterns design. If you're building something huge and important today, use Remix.\n\n## Disclaimer\n\nHwy is in beta! Act accordingly.\n\n## License\n\nMIT License\n\nCopyright (c) 2023 Samuel J. Cook\n","readmeFilename":"README.md","gitHead":"874d3fd1ced6966fb0ab70c72c1bffde7fb5aa8d","types":"./dist/index.d.ts","_nodeVersion":"18.18.2","_npmVersion":"9.8.1","dist":{"integrity":"sha512-5JAxOrzNBiIcsGQFu4jSiTTpJL5LPNG7h2xggjq6KsYGCOAL/yoJZXwAlOT+Ec2m9Rdom7aZwTA3yDeOUshW+w==","shasum":"720cb79bfe51ad9c19f63822b1bf28ae2999516d","tarball":"https://registry.npmjs.org/hwy/-/hwy-0.7.2-beta.6.tgz","fileCount":4,"unpackedSize":40951,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIHBcP4evfZZ04/ifbpEphsBla0L2JNRHY4Z2I9007bEzAiBxbb7hoUGIIs4z+WZ6iLAv1NVbNv1iReS5W8wkK5vO5A=="}]},"_npmUser":{"name":"sjc5","email":"email@samcook.cc"},"directories":{},"maintainers":[{"name":"sjc5","email":"email@samcook.cc"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/hwy_0.7.2-beta.6_1701237238482_0.6333046441553731"},"_hasShrinkwrap":false},"0.7.2-beta.7":{"name":"hwy","version":"0.7.2-beta.7","author":{"name":"Samuel J. Cook"},"license":"MIT","description":"Simple, lightweight, and flexible web framework, built on Hono and HTMX.","type":"module","main":"dist/index.js","scripts":{"build":"rm -rf dist && tsup-node index.ts --format esm --dts","lint":"tsc","dev":"rm -rf dist && tsup-node index.ts --format esm --dts --watch --sourcemap","publish-beta":"npm publish --tag beta","publish-non-beta":"npm publish","update-latest":"pnpm update --latest","typecheck":"tsc --noEmit"},"devDependencies":{"@hono/node-server":"^1.3.0","@hwy-js/build":"workspace:*","@hwy-js/dev":"workspace:*","@types/node":"^20.10.0","hono":"^3.10.3","tsup":"^8.0.1"},"peerDependencies":{"hono":"^3.10.0"},"repository":{"type":"git","url":"git+https://github.com/hwy-js/hwy.git","directory":"packages/core"},"homepage":"https://hwy.dev","bugs":{"url":"https://github.com/hwy-js/hwy/issues"},"keywords":["simple","lightweight","flexible","framework","metaframework","web","typescript","htmx","hono","router","nested","routing","jsx","tsx","nextjs","remix"],"_id":"hwy@0.7.2-beta.7","readme":"# Hwy\n\nHwy is a simple, lightweight, and flexible web framework, built on Hono and HTMX.\n\n<a href=\"https://pkg-size.dev/hwy\" target=\"_blank\">\n  <img\n    width=\"112\"\n    height=\"20\"\n    style=\"background:darkgray;border-radius:4px;\"\n    src=\"https://pkg-size.dev/badge/bundle/11742\"\n    title=\"Bundle size for hwy\"\n  />\n</a>\n\n## Quick Start\n\n```bash\nnpx create-hwy@latest\n```\n\n## What is Hwy?\n\nHwy is a lot like NextJS or Remix, but it uses **_HTMX_** instead of React on the frontend.\n\nHwy lets you write **_React-style JSX_** in **_nested, file-based routes_**, with **_Remix-style actions and parallel loaders_**.\n\nPage components are async, so you can even **_fetch data in JSX_** if you want to (just be careful with waterfalls).\n\nThe backend server is built on **_Hono_**, so you have access to a rich, growing ecosystem with lots of middleware and wonderful docs.\n\nHwy is **_100% server-rendered_**, but with the HTMX defaults Hwy sets up for you out of the box, your app still **_feels like an SPA_**.\n\nLinks and forms are automatically **_progressively enhanced_** thanks to HTMX's `hx-boost` feature. Just use normal anchor tags and traditional form attributes.\n\nBecause Hwy replaces the **_full page_** on transitions by default, everything stays **_simple_**. You don't have to return different components from different endpoints (unless you want to).\n\nAnd best of all, **_anything you can do with Hono or HTMX, you can do with Hwy_**.\n\n## Features\n\n- Server-rendered JSX / TSX\n- Nested, file-based routing\n- Remix-style actions and parallel loaders\n- Async page components\n- Rich Hono middleware ecosystem\n- 100% type-safe\n- Server built on Hono\n- Client built on HTMX\n- Built-in critical CSS inlining\n- Live browser refresh during development\n- And more...\n\n## Guiding Principles\n\n- No speed limits\n- Numerous off-ramps\n- Smooth, safe roads\n- Clear traffic signs\n\n## Simple usage\n\nBelow is an example of a simple Hwy page. You'll notice it looks a lot like Remix, and you're right! Hwy is heavily inspired by Remix, but it uses HTMX instead of React.\n\n```tsx\n// src/pages/user/$user_id.page.tsx\n\nimport type { DataProps, PageProps } from \"hwy\";\nimport { UserProfile, getUser } from \"./somewhere.js\";\n\nexport async function loader({ params }: DataProps) {\n  return await getUser(params.user_id);\n}\n\nexport default async function ({ loaderData }: PageProps<typeof loader>) {\n  return <UserProfile user={loaderData} />;\n}\n```\n\nOr, if you prefer to fetch inside your components:\n\n```tsx\nexport default async function ({ params }: PageProps) {\n  const user = await getUser(params.user_id);\n\n  return <UserProfile user={user} />;\n}\n```\n\n## Get Started\n\nIf you want to dive right in, just open a terminal and run `npx create-hwy@latest` and follow the prompts.\n\nIf you'd prefer to read more first, take a peek at [our docs](https://hwy.dev/docs).\n\n## Acknowledgements\n\nHwy's APIs are obviously inspired by Remix. If Remix didn't exist, Hwy likely wouldn't exist either. Hwy doesn't use any Remix code, but it still owes a big thanks to the Remix team (past and present) for their top-tier patterns design. If you're building something huge and important today, use Remix.\n\n## Disclaimer\n\nHwy is in beta! Act accordingly.\n\n## License\n\nMIT License\n\nCopyright (c) 2023 Samuel J. Cook\n","readmeFilename":"README.md","gitHead":"874d3fd1ced6966fb0ab70c72c1bffde7fb5aa8d","types":"./dist/index.d.ts","_nodeVersion":"18.18.2","_npmVersion":"9.8.1","dist":{"integrity":"sha512-10AEbV+LISKvKQVguIba30rzXMEwdZ2bjPiv14aolgyGyYjwZbu9USU4cf+YdasdGG0WVUDltCdYW+qvVLhQeA==","shasum":"5da99d432d9199b132ed08921d6cb65b879080a9","tarball":"https://registry.npmjs.org/hwy/-/hwy-0.7.2-beta.7.tgz","fileCount":4,"unpackedSize":40945,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIEvZy6GMUP45Q2Ye5ASf3byRbCbEC4+rz4HciYVhV0a+AiBGKStrBgqE7j/IyE6jz64JqGIFMy/o8Tfad0ZMgyIJtA=="}]},"_npmUser":{"name":"sjc5","email":"email@samcook.cc"},"directories":{},"maintainers":[{"name":"sjc5","email":"email@samcook.cc"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/hwy_0.7.2-beta.7_1701237635490_0.7535056504292017"},"_hasShrinkwrap":false},"0.7.2-beta.8":{"name":"hwy","version":"0.7.2-beta.8","author":{"name":"Samuel J. Cook"},"license":"MIT","description":"Simple, lightweight, and flexible web framework, built on Hono and HTMX.","type":"module","main":"dist/index.js","scripts":{"build":"rm -rf dist && tsup-node index.ts --format esm --dts","lint":"tsc","dev":"rm -rf dist && tsup-node index.ts --format esm --dts --watch --sourcemap","publish-beta":"npm publish --tag beta","publish-non-beta":"npm publish","update-latest":"pnpm update --latest","typecheck":"tsc --noEmit"},"devDependencies":{"@hono/node-server":"^1.3.0","@hwy-js/build":"workspace:*","@hwy-js/dev":"workspace:*","@types/node":"^20.10.0","hono":"^3.10.3","tsup":"^8.0.1"},"peerDependencies":{"hono":"^3.10.0"},"repository":{"type":"git","url":"git+https://github.com/hwy-js/hwy.git","directory":"packages/core"},"homepage":"https://hwy.dev","bugs":{"url":"https://github.com/hwy-js/hwy/issues"},"keywords":["simple","lightweight","flexible","framework","metaframework","web","typescript","htmx","hono","router","nested","routing","jsx","tsx","nextjs","remix"],"_id":"hwy@0.7.2-beta.8","readme":"# Hwy\n\nHwy is a simple, lightweight, and flexible web framework, built on Hono and HTMX.\n\n<a href=\"https://pkg-size.dev/hwy\" target=\"_blank\">\n  <img\n    width=\"112\"\n    height=\"20\"\n    style=\"background:darkgray;border-radius:4px;\"\n    src=\"https://pkg-size.dev/badge/bundle/11742\"\n    title=\"Bundle size for hwy\"\n  />\n</a>\n\n## Quick Start\n\n```bash\nnpx create-hwy@latest\n```\n\n## What is Hwy?\n\nHwy is a lot like NextJS or Remix, but it uses **_HTMX_** instead of React on the frontend.\n\nHwy lets you write **_React-style JSX_** in **_nested, file-based routes_**, with **_Remix-style actions and parallel loaders_**.\n\nPage components are async, so you can even **_fetch data in JSX_** if you want to (just be careful with waterfalls).\n\nThe backend server is built on **_Hono_**, so you have access to a rich, growing ecosystem with lots of middleware and wonderful docs.\n\nHwy is **_100% server-rendered_**, but with the HTMX defaults Hwy sets up for you out of the box, your app still **_feels like an SPA_**.\n\nLinks and forms are automatically **_progressively enhanced_** thanks to HTMX's `hx-boost` feature. Just use normal anchor tags and traditional form attributes.\n\nBecause Hwy replaces the **_full page_** on transitions by default, everything stays **_simple_**. You don't have to return different components from different endpoints (unless you want to).\n\nAnd best of all, **_anything you can do with Hono or HTMX, you can do with Hwy_**.\n\n## Features\n\n- Server-rendered JSX / TSX\n- Nested, file-based routing\n- Remix-style actions and parallel loaders\n- Async page components\n- Rich Hono middleware ecosystem\n- 100% type-safe\n- Server built on Hono\n- Client built on HTMX\n- Built-in critical CSS inlining\n- Live browser refresh during development\n- And more...\n\n## Guiding Principles\n\n- No speed limits\n- Numerous off-ramps\n- Smooth, safe roads\n- Clear traffic signs\n\n## Simple usage\n\nBelow is an example of a simple Hwy page. You'll notice it looks a lot like Remix, and you're right! Hwy is heavily inspired by Remix, but it uses HTMX instead of React.\n\n```tsx\n// src/pages/user/$user_id.page.tsx\n\nimport type { DataProps, PageProps } from \"hwy\";\nimport { UserProfile, getUser } from \"./somewhere.js\";\n\nexport async function loader({ params }: DataProps) {\n  return await getUser(params.user_id);\n}\n\nexport default async function ({ loaderData }: PageProps<typeof loader>) {\n  return <UserProfile user={loaderData} />;\n}\n```\n\nOr, if you prefer to fetch inside your components:\n\n```tsx\nexport default async function ({ params }: PageProps) {\n  const user = await getUser(params.user_id);\n\n  return <UserProfile user={user} />;\n}\n```\n\n## Get Started\n\nIf you want to dive right in, just open a terminal and run `npx create-hwy@latest` and follow the prompts.\n\nIf you'd prefer to read more first, take a peek at [our docs](https://hwy.dev/docs).\n\n## Acknowledgements\n\nHwy's APIs are obviously inspired by Remix. If Remix didn't exist, Hwy likely wouldn't exist either. Hwy doesn't use any Remix code, but it still owes a big thanks to the Remix team (past and present) for their top-tier patterns design. If you're building something huge and important today, use Remix.\n\n## Disclaimer\n\nHwy is in beta! Act accordingly.\n\n## License\n\nMIT License\n\nCopyright (c) 2023 Samuel J. Cook\n","readmeFilename":"README.md","gitHead":"874d3fd1ced6966fb0ab70c72c1bffde7fb5aa8d","types":"./dist/index.d.ts","_nodeVersion":"18.18.2","_npmVersion":"9.8.1","dist":{"integrity":"sha512-O1/a0M/IPKgDMrfgpasdSraUdug4kXryPIjuJnLS7BhaIW5mfM7OXKjoXD+8S1l5FgjmebQZedKygIIcPQtbsg==","shasum":"e1aae5fd8776ea53d171e19f1cfcb3985b5f411d","tarball":"https://registry.npmjs.org/hwy/-/hwy-0.7.2-beta.8.tgz","fileCount":4,"unpackedSize":40862,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIDCZHJNTG+pDidaDD8WA6ISyD3v3RuxRFIqo5cuwC7qqAiEA0W5svpvyFPFJfpR3aqT7lBNnDTvv2oYCkREkiGi4iqo="}]},"_npmUser":{"name":"sjc5","email":"email@samcook.cc"},"directories":{},"maintainers":[{"name":"sjc5","email":"email@samcook.cc"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/hwy_0.7.2-beta.8_1701241385930_0.40253456537634347"},"_hasShrinkwrap":false},"0.7.2-beta.9":{"name":"hwy","version":"0.7.2-beta.9","author":{"name":"Samuel J. Cook"},"license":"MIT","description":"Simple, lightweight, and flexible web framework, built on Hono and HTMX.","type":"module","main":"dist/index.js","scripts":{"build":"rm -rf dist && tsup-node index.ts --format esm --dts","lint":"tsc","dev":"rm -rf dist && tsup-node index.ts --format esm --dts --watch --sourcemap","publish-beta":"npm publish --tag beta","publish-non-beta":"npm publish","update-latest":"pnpm update --latest","typecheck":"tsc --noEmit"},"devDependencies":{"@hono/node-server":"^1.3.0","@hwy-js/build":"workspace:*","@hwy-js/dev":"workspace:*","@types/node":"^20.10.0","hono":"^3.10.3","tsup":"^8.0.1"},"peerDependencies":{"hono":"^3.10.0"},"repository":{"type":"git","url":"git+https://github.com/hwy-js/hwy.git","directory":"packages/core"},"homepage":"https://hwy.dev","bugs":{"url":"https://github.com/hwy-js/hwy/issues"},"keywords":["simple","lightweight","flexible","framework","metaframework","web","typescript","htmx","hono","router","nested","routing","jsx","tsx","nextjs","remix"],"_id":"hwy@0.7.2-beta.9","readme":"# Hwy\n\nHwy is a simple, lightweight, and flexible web framework, built on Hono and HTMX.\n\n<a href=\"https://pkg-size.dev/hwy\" target=\"_blank\">\n  <img\n    width=\"112\"\n    height=\"20\"\n    style=\"background:darkgray;border-radius:4px;\"\n    src=\"https://pkg-size.dev/badge/bundle/11742\"\n    title=\"Bundle size for hwy\"\n  />\n</a>\n\n## Quick Start\n\n```bash\nnpx create-hwy@latest\n```\n\n## What is Hwy?\n\nHwy is a lot like NextJS or Remix, but it uses **_HTMX_** instead of React on the frontend.\n\nHwy lets you write **_React-style JSX_** in **_nested, file-based routes_**, with **_Remix-style actions and parallel loaders_**.\n\nPage components are async, so you can even **_fetch data in JSX_** if you want to (just be careful with waterfalls).\n\nThe backend server is built on **_Hono_**, so you have access to a rich, growing ecosystem with lots of middleware and wonderful docs.\n\nHwy is **_100% server-rendered_**, but with the HTMX defaults Hwy sets up for you out of the box, your app still **_feels like an SPA_**.\n\nLinks and forms are automatically **_progressively enhanced_** thanks to HTMX's `hx-boost` feature. Just use normal anchor tags and traditional form attributes.\n\nBecause Hwy replaces the **_full page_** on transitions by default, everything stays **_simple_**. You don't have to return different components from different endpoints (unless you want to).\n\nAnd best of all, **_anything you can do with Hono or HTMX, you can do with Hwy_**.\n\n## Features\n\n- Server-rendered JSX / TSX\n- Nested, file-based routing\n- Remix-style actions and parallel loaders\n- Async page components\n- Rich Hono middleware ecosystem\n- 100% type-safe\n- Server built on Hono\n- Client built on HTMX\n- Built-in critical CSS inlining\n- Live browser refresh during development\n- And more...\n\n## Guiding Principles\n\n- No speed limits\n- Numerous off-ramps\n- Smooth, safe roads\n- Clear traffic signs\n\n## Simple usage\n\nBelow is an example of a simple Hwy page. You'll notice it looks a lot like Remix, and you're right! Hwy is heavily inspired by Remix, but it uses HTMX instead of React.\n\n```tsx\n// src/pages/user/$user_id.page.tsx\n\nimport type { DataProps, PageProps } from \"hwy\";\nimport { UserProfile, getUser } from \"./somewhere.js\";\n\nexport async function loader({ params }: DataProps) {\n  return await getUser(params.user_id);\n}\n\nexport default async function ({ loaderData }: PageProps<typeof loader>) {\n  return <UserProfile user={loaderData} />;\n}\n```\n\nOr, if you prefer to fetch inside your components:\n\n```tsx\nexport default async function ({ params }: PageProps) {\n  const user = await getUser(params.user_id);\n\n  return <UserProfile user={user} />;\n}\n```\n\n## Get Started\n\nIf you want to dive right in, just open a terminal and run `npx create-hwy@latest` and follow the prompts.\n\nIf you'd prefer to read more first, take a peek at [our docs](https://hwy.dev/docs).\n\n## Acknowledgements\n\nHwy's APIs are obviously inspired by Remix. If Remix didn't exist, Hwy likely wouldn't exist either. Hwy doesn't use any Remix code, but it still owes a big thanks to the Remix team (past and present) for their top-tier patterns design. If you're building something huge and important today, use Remix.\n\n## Disclaimer\n\nHwy is in beta! Act accordingly.\n\n## License\n\nMIT License\n\nCopyright (c) 2023 Samuel J. Cook\n","readmeFilename":"README.md","gitHead":"874d3fd1ced6966fb0ab70c72c1bffde7fb5aa8d","types":"./dist/index.d.ts","_nodeVersion":"18.18.2","_npmVersion":"9.8.1","dist":{"integrity":"sha512-6yricvsnOnHicixrvy7oE4NJc4lFrv0aDJgxpzHXMaYhukvWAzibIGfT4Tg80gZAjwp1EGLk61Eb83WEF5GHyA==","shasum":"7c2648fcb83c85342e53f944504ed52a959a3dc5","tarball":"https://registry.npmjs.org/hwy/-/hwy-0.7.2-beta.9.tgz","fileCount":4,"unpackedSize":40862,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIFj+WKdjjEvK2c3OzTrrGqkjJ/ivFXD1L3K9MQAhK7OiAiBgkXtt11Qzn/BvAmzTwcv7C+DuqxBRaoPMWo8Jpkv8EA=="}]},"_npmUser":{"name":"sjc5","email":"email@samcook.cc"},"directories":{},"maintainers":[{"name":"sjc5","email":"email@samcook.cc"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/hwy_0.7.2-beta.9_1701451547798_0.6219608001727519"},"_hasShrinkwrap":false},"0.7.2-beta.10":{"name":"hwy","version":"0.7.2-beta.10","author":{"name":"Samuel J. Cook"},"license":"MIT","description":"Simple, lightweight, and flexible web framework, built on Hono and HTMX.","type":"module","main":"dist/index.js","scripts":{"build":"rm -rf dist && tsup-node index.ts --format esm --dts","lint":"tsc","dev":"rm -rf dist && tsup-node index.ts --format esm --dts --watch --sourcemap","publish-beta":"npm publish --tag beta","publish-non-beta":"npm publish","update-latest":"pnpm update --latest","typecheck":"tsc --noEmit"},"devDependencies":{"@hono/node-server":"^1.3.1","@hwy-js/build":"workspace:*","@hwy-js/dev":"workspace:*","@types/node":"^20.10.2","hono":"^3.10.4","tsup":"^8.0.1"},"peerDependencies":{"hono":"^3.10.4"},"repository":{"type":"git","url":"git+https://github.com/hwy-js/hwy.git","directory":"packages/core"},"homepage":"https://hwy.dev","bugs":{"url":"https://github.com/hwy-js/hwy/issues"},"keywords":["simple","lightweight","flexible","framework","metaframework","web","typescript","htmx","hono","router","nested","routing","jsx","tsx","nextjs","remix"],"_id":"hwy@0.7.2-beta.10","readme":"# Hwy\n\nHwy is a simple, lightweight, and flexible web framework, built on Hono and HTMX.\n\n<a href=\"https://pkg-size.dev/hwy\" target=\"_blank\">\n  <img\n    width=\"112\"\n    height=\"20\"\n    style=\"background:darkgray;border-radius:4px;\"\n    src=\"https://pkg-size.dev/badge/bundle/11742\"\n    title=\"Bundle size for hwy\"\n  />\n</a>\n\n## Quick Start\n\n```bash\nnpx create-hwy@latest\n```\n\n## What is Hwy?\n\nHwy is a lot like NextJS or Remix, but it uses **_HTMX_** instead of React on the frontend.\n\nHwy lets you write **_React-style JSX_** in **_nested, file-based routes_**, with **_Remix-style actions and parallel loaders_**.\n\nPage components are async, so you can even **_fetch data in JSX_** if you want to (just be careful with waterfalls).\n\nThe backend server is built on **_Hono_**, so you have access to a rich, growing ecosystem with lots of middleware and wonderful docs.\n\nHwy is **_100% server-rendered_**, but with the HTMX defaults Hwy sets up for you out of the box, your app still **_feels like an SPA_**.\n\nLinks and forms are automatically **_progressively enhanced_** thanks to HTMX's `hx-boost` feature. Just use normal anchor tags and traditional form attributes.\n\nBecause Hwy replaces the **_full page_** on transitions by default, everything stays **_simple_**. You don't have to return different components from different endpoints (unless you want to).\n\nAnd best of all, **_anything you can do with Hono or HTMX, you can do with Hwy_**.\n\n## Features\n\n- Server-rendered JSX / TSX\n- Nested, file-based routing\n- Remix-style actions and parallel loaders\n- Async page components\n- Rich Hono middleware ecosystem\n- 100% type-safe\n- Server built on Hono\n- Client built on HTMX\n- Built-in critical CSS inlining\n- Live browser refresh during development\n- And more...\n\n## Guiding Principles\n\n- No speed limits\n- Numerous off-ramps\n- Smooth, safe roads\n- Clear traffic signs\n\n## Simple usage\n\nBelow is an example of a simple Hwy page. You'll notice it looks a lot like Remix, and you're right! Hwy is heavily inspired by Remix, but it uses HTMX instead of React.\n\n```tsx\n// src/pages/user/$user_id.page.tsx\n\nimport type { DataProps, PageProps } from \"hwy\";\nimport { UserProfile, getUser } from \"./somewhere.js\";\n\nexport async function loader({ params }: DataProps) {\n  return await getUser(params.user_id);\n}\n\nexport default async function ({ loaderData }: PageProps<typeof loader>) {\n  return <UserProfile user={loaderData} />;\n}\n```\n\nOr, if you prefer to fetch inside your components:\n\n```tsx\nexport default async function ({ params }: PageProps) {\n  const user = await getUser(params.user_id);\n\n  return <UserProfile user={user} />;\n}\n```\n\n## Get Started\n\nIf you want to dive right in, just open a terminal and run `npx create-hwy@latest` and follow the prompts.\n\nIf you'd prefer to read more first, take a peek at [our docs](https://hwy.dev/docs).\n\n## Acknowledgements\n\nHwy's APIs are obviously inspired by Remix. If Remix didn't exist, Hwy likely wouldn't exist either. Hwy doesn't use any Remix code, but it still owes a big thanks to the Remix team (past and present) for their top-tier patterns design. If you're building something huge and important today, use Remix.\n\n## Disclaimer\n\nHwy is in beta! Act accordingly.\n\n## License\n\nMIT License\n\nCopyright (c) 2023 Samuel J. Cook\n","readmeFilename":"README.md","gitHead":"874d3fd1ced6966fb0ab70c72c1bffde7fb5aa8d","types":"./dist/index.d.ts","_nodeVersion":"18.18.2","_npmVersion":"9.8.1","dist":{"integrity":"sha512-rFYIcvNiR9rJuaX3aPNtE+vyPJ/43ytVzJIqZ3QctLrzfGwzQ0S3mv5WxxX3wyATHc5srDwLXZzaNgZRuY23WQ==","shasum":"861187c331808930a0f54a975bfaf85d0397259c","tarball":"https://registry.npmjs.org/hwy/-/hwy-0.7.2-beta.10.tgz","fileCount":4,"unpackedSize":42354,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIAwsBl3F9TB9Ln09tlKC/nkwU/O2LYfbaC35KzQRvXsEAiBPiNkFq4FWndJ7Q1xAsO3WBaBI+TbzLc43npW34BYxaA=="}]},"_npmUser":{"name":"sjc5","email":"email@samcook.cc"},"directories":{},"maintainers":[{"name":"sjc5","email":"email@samcook.cc"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/hwy_0.7.2-beta.10_1701472506245_0.09230247343847564"},"_hasShrinkwrap":false},"0.7.2-beta.11":{"name":"hwy","version":"0.7.2-beta.11","author":{"name":"Samuel J. Cook"},"license":"MIT","description":"Simple, lightweight, and flexible web framework, built on Hono and HTMX.","type":"module","main":"dist/index.js","scripts":{"build":"rm -rf dist && tsup-node index.ts --format esm --dts","lint":"tsc","dev":"rm -rf dist && tsup-node index.ts --format esm --dts --watch --sourcemap","publish-beta":"npm publish --tag beta","publish-non-beta":"npm publish","update-latest":"pnpm update --latest","typecheck":"tsc --noEmit"},"devDependencies":{"@hono/node-server":"^1.3.1","@hwy-js/build":"workspace:*","@hwy-js/dev":"workspace:*","@types/node":"^20.10.2","hono":"^3.10.4","tsup":"^8.0.1"},"peerDependencies":{"hono":"^3.10.4"},"repository":{"type":"git","url":"git+https://github.com/hwy-js/hwy.git","directory":"packages/core"},"homepage":"https://hwy.dev","bugs":{"url":"https://github.com/hwy-js/hwy/issues"},"keywords":["simple","lightweight","flexible","framework","metaframework","web","typescript","htmx","hono","router","nested","routing","jsx","tsx","nextjs","remix"],"_id":"hwy@0.7.2-beta.11","readme":"# Hwy\n\nHwy is a simple, lightweight, and flexible web framework, built on Hono and HTMX.\n\n<a href=\"https://pkg-size.dev/hwy\" target=\"_blank\">\n  <img\n    width=\"112\"\n    height=\"20\"\n    style=\"background:darkgray;border-radius:4px;\"\n    src=\"https://pkg-size.dev/badge/bundle/11742\"\n    title=\"Bundle size for hwy\"\n  />\n</a>\n\n## Quick Start\n\n```bash\nnpx create-hwy@latest\n```\n\n## What is Hwy?\n\nHwy is a lot like NextJS or Remix, but it uses **_HTMX_** instead of React on the frontend.\n\nHwy lets you write **_React-style JSX_** in **_nested, file-based routes_**, with **_Remix-style actions and parallel loaders_**.\n\nPage components are async, so you can even **_fetch data in JSX_** if you want to (just be careful with waterfalls).\n\nThe backend server is built on **_Hono_**, so you have access to a rich, growing ecosystem with lots of middleware and wonderful docs.\n\nHwy is **_100% server-rendered_**, but with the HTMX defaults Hwy sets up for you out of the box, your app still **_feels like an SPA_**.\n\nLinks and forms are automatically **_progressively enhanced_** thanks to HTMX's `hx-boost` feature. Just use normal anchor tags and traditional form attributes.\n\nBecause Hwy replaces the **_full page_** on transitions by default, everything stays **_simple_**. You don't have to return different components from different endpoints (unless you want to).\n\nAnd best of all, **_anything you can do with Hono or HTMX, you can do with Hwy_**.\n\n## Features\n\n- Server-rendered JSX / TSX\n- Nested, file-based routing\n- Remix-style actions and parallel loaders\n- Async page components\n- Rich Hono middleware ecosystem\n- 100% type-safe\n- Server built on Hono\n- Client built on HTMX\n- Built-in critical CSS inlining\n- Live browser refresh during development\n- And more...\n\n## Guiding Principles\n\n- No speed limits\n- Numerous off-ramps\n- Smooth, safe roads\n- Clear traffic signs\n\n## Simple usage\n\nBelow is an example of a simple Hwy page. You'll notice it looks a lot like Remix, and you're right! Hwy is heavily inspired by Remix, but it uses HTMX instead of React.\n\n```tsx\n// src/pages/user/$user_id.page.tsx\n\nimport type { DataProps, PageProps } from \"hwy\";\nimport { UserProfile, getUser } from \"./somewhere.js\";\n\nexport async function loader({ params }: DataProps) {\n  return await getUser(params.user_id);\n}\n\nexport default async function ({ loaderData }: PageProps<typeof loader>) {\n  return <UserProfile user={loaderData} />;\n}\n```\n\nOr, if you prefer to fetch inside your components:\n\n```tsx\nexport default async function ({ params }: PageProps) {\n  const user = await getUser(params.user_id);\n\n  return <UserProfile user={user} />;\n}\n```\n\n## Get Started\n\nIf you want to dive right in, just open a terminal and run `npx create-hwy@latest` and follow the prompts.\n\nIf you'd prefer to read more first, take a peek at [our docs](https://hwy.dev/docs).\n\n## Acknowledgements\n\nHwy's APIs are obviously inspired by Remix. If Remix didn't exist, Hwy likely wouldn't exist either. Hwy doesn't use any Remix code, but it still owes a big thanks to the Remix team (past and present) for their top-tier patterns design. If you're building something huge and important today, use Remix.\n\n## Disclaimer\n\nHwy is in beta! Act accordingly.\n\n## License\n\nMIT License\n\nCopyright (c) 2023 Samuel J. Cook\n","readmeFilename":"README.md","gitHead":"874d3fd1ced6966fb0ab70c72c1bffde7fb5aa8d","types":"./dist/index.d.ts","_nodeVersion":"18.18.2","_npmVersion":"9.8.1","dist":{"integrity":"sha512-dv8eLVtOD7zrZDoEPE4bVxdwHsD/2OTZ7gRu4yMAjKIMTlLR/Brmq2IDorCRXG2htB+FsPg3qxhrrmOdI9HlfQ==","shasum":"2c293fad435ceff8c395ba4d1bae36965d6d69fe","tarball":"https://registry.npmjs.org/hwy/-/hwy-0.7.2-beta.11.tgz","fileCount":4,"unpackedSize":42389,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCM2h4prnfOL3pwSges6jTz35TU5nwlbSw2i2cuGb4ITwIhAPLSJlFTbq3D6fexFNj2QYaRLnpmSh3v4cRDZYLb+vbm"}]},"_npmUser":{"name":"sjc5","email":"email@samcook.cc"},"directories":{},"maintainers":[{"name":"sjc5","email":"email@samcook.cc"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/hwy_0.7.2-beta.11_1701473349604_0.48791824685743923"},"_hasShrinkwrap":false},"0.7.2-beta.12":{"name":"hwy","version":"0.7.2-beta.12","author":{"name":"Samuel J. Cook"},"license":"MIT","description":"Simple, lightweight, and flexible web framework, built on Hono and HTMX.","type":"module","main":"dist/index.js","scripts":{"build":"rm -rf dist && tsup-node index.ts --format esm --dts","lint":"tsc","dev":"rm -rf dist && tsup-node index.ts --format esm --dts --watch --sourcemap","publish-beta":"npm publish --tag beta","publish-non-beta":"npm publish","update-latest":"pnpm update --latest","typecheck":"tsc --noEmit"},"devDependencies":{"@hono/node-server":"^1.3.1","@hwy-js/build":"workspace:*","@hwy-js/dev":"workspace:*","@types/node":"^20.10.2","hono":"^3.10.4","tsup":"^8.0.1"},"peerDependencies":{"hono":"^3.10.4"},"repository":{"type":"git","url":"git+https://github.com/hwy-js/hwy.git","directory":"packages/core"},"homepage":"https://hwy.dev","bugs":{"url":"https://github.com/hwy-js/hwy/issues"},"keywords":["simple","lightweight","flexible","framework","metaframework","web","typescript","htmx","hono","router","nested","routing","jsx","tsx","nextjs","remix"],"_id":"hwy@0.7.2-beta.12","readme":"# Hwy\n\nHwy is a simple, lightweight, and flexible web framework, built on Hono and HTMX.\n\n<a href=\"https://pkg-size.dev/hwy\" target=\"_blank\">\n  <img\n    width=\"112\"\n    height=\"20\"\n    style=\"background:darkgray;border-radius:4px;\"\n    src=\"https://pkg-size.dev/badge/bundle/11742\"\n    title=\"Bundle size for hwy\"\n  />\n</a>\n\n## Quick Start\n\n```bash\nnpx create-hwy@latest\n```\n\n## What is Hwy?\n\nHwy is a lot like NextJS or Remix, but it uses **_HTMX_** instead of React on the frontend.\n\nHwy lets you write **_React-style JSX_** in **_nested, file-based routes_**, with **_Remix-style actions and parallel loaders_**.\n\nPage components are async, so you can even **_fetch data in JSX_** if you want to (just be careful with waterfalls).\n\nThe backend server is built on **_Hono_**, so you have access to a rich, growing ecosystem with lots of middleware and wonderful docs.\n\nHwy is **_100% server-rendered_**, but with the HTMX defaults Hwy sets up for you out of the box, your app still **_feels like an SPA_**.\n\nLinks and forms are automatically **_progressively enhanced_** thanks to HTMX's `hx-boost` feature. Just use normal anchor tags and traditional form attributes.\n\nBecause Hwy replaces the **_full page_** on transitions by default, everything stays **_simple_**. You don't have to return different components from different endpoints (unless you want to).\n\nAnd best of all, **_anything you can do with Hono or HTMX, you can do with Hwy_**.\n\n## Features\n\n- Server-rendered JSX / TSX\n- Nested, file-based routing\n- Remix-style actions and parallel loaders\n- Async page components\n- Rich Hono middleware ecosystem\n- 100% type-safe\n- Server built on Hono\n- Client built on HTMX\n- Built-in critical CSS inlining\n- Live browser refresh during development\n- And more...\n\n## Guiding Principles\n\n- No speed limits\n- Numerous off-ramps\n- Smooth, safe roads\n- Clear traffic signs\n\n## Simple usage\n\nBelow is an example of a simple Hwy page. You'll notice it looks a lot like Remix, and you're right! Hwy is heavily inspired by Remix, but it uses HTMX instead of React.\n\n```tsx\n// src/pages/user/$user_id.page.tsx\n\nimport type { DataProps, PageProps } from \"hwy\";\nimport { UserProfile, getUser } from \"./somewhere.js\";\n\nexport async function loader({ params }: DataProps) {\n  return await getUser(params.user_id);\n}\n\nexport default async function ({ loaderData }: PageProps<typeof loader>) {\n  return <UserProfile user={loaderData} />;\n}\n```\n\nOr, if you prefer to fetch inside your components:\n\n```tsx\nexport default async function ({ params }: PageProps) {\n  const user = await getUser(params.user_id);\n\n  return <UserProfile user={user} />;\n}\n```\n\n## Get Started\n\nIf you want to dive right in, just open a terminal and run `npx create-hwy@latest` and follow the prompts.\n\nIf you'd prefer to read more first, take a peek at [our docs](https://hwy.dev/docs).\n\n## Acknowledgements\n\nHwy's APIs are obviously inspired by Remix. If Remix didn't exist, Hwy likely wouldn't exist either. Hwy doesn't use any Remix code, but it still owes a big thanks to the Remix team (past and present) for their top-tier patterns design. If you're building something huge and important today, use Remix.\n\n## Disclaimer\n\nHwy is in beta! Act accordingly.\n\n## License\n\nMIT License\n\nCopyright (c) 2023 Samuel J. Cook\n","readmeFilename":"README.md","gitHead":"874d3fd1ced6966fb0ab70c72c1bffde7fb5aa8d","types":"./dist/index.d.ts","_nodeVersion":"18.18.2","_npmVersion":"9.8.1","dist":{"integrity":"sha512-bfobxRKDRgP0EUpWdS37NRBK4ApbQtZGY3nHnCG9PQg3loTSKy1+zrJCBtODHh3Lufu/IWerAlbyMcHN7xbT7Q==","shasum":"c28666d71ee23b2c364b7d23daef1f80e0e08961","tarball":"https://registry.npmjs.org/hwy/-/hwy-0.7.2-beta.12.tgz","fileCount":4,"unpackedSize":42497,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCICseoTQAVUb509Zb3+BIM9QJx6NfwEKGB8stZru4/9d1AiApr8stUmstDYurYq6Q8NpdwBranV1XWY8zPDzrhGazzw=="}]},"_npmUser":{"name":"sjc5","email":"email@samcook.cc"},"directories":{},"maintainers":[{"name":"sjc5","email":"email@samcook.cc"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/hwy_0.7.2-beta.12_1701482583976_0.872083332215797"},"_hasShrinkwrap":false},"0.8.0-beta.0":{"name":"hwy","version":"0.8.0-beta.0","author":{"name":"Samuel J. Cook"},"license":"MIT","description":"Simple, lightweight, and flexible web framework, built on Hono and HTMX.","type":"module","main":"dist/index.js","scripts":{"build":"rm -rf dist && tsup-node index.ts --format esm --dts","lint":"tsc","dev":"rm -rf dist && tsup-node index.ts --format esm --dts --watch --sourcemap","publish-beta":"npm publish --tag beta","publish-non-beta":"npm publish","update-latest":"pnpm update --latest","typecheck":"tsc --noEmit"},"devDependencies":{"@hono/node-server":"^1.3.1","@hwy-js/build":"workspace:*","@hwy-js/dev":"workspace:*","@types/node":"^20.10.2","hono":"^3.10.4","tsup":"^8.0.1"},"peerDependencies":{"hono":"^3.10.4"},"repository":{"type":"git","url":"git+https://github.com/hwy-js/hwy.git","directory":"packages/core"},"homepage":"https://hwy.dev","bugs":{"url":"https://github.com/hwy-js/hwy/issues"},"keywords":["simple","lightweight","flexible","framework","metaframework","web","typescript","htmx","hono","router","nested","routing","jsx","tsx","nextjs","remix"],"_id":"hwy@0.8.0-beta.0","readme":"# Hwy\n\nHwy is a simple, lightweight, and flexible web framework, built on Hono and HTMX.\n\n<a href=\"https://pkg-size.dev/hwy\" target=\"_blank\">\n  <img\n    width=\"112\"\n    height=\"20\"\n    style=\"background:darkgray;border-radius:4px;\"\n    src=\"https://pkg-size.dev/badge/bundle/11742\"\n    title=\"Bundle size for hwy\"\n  />\n</a>\n\n## Quick Start\n\n```bash\nnpx create-hwy@latest\n```\n\n## What is Hwy?\n\nHwy is a lot like NextJS or Remix, but it uses **_HTMX_** instead of React on the frontend.\n\nHwy lets you write **_React-style JSX_** in **_nested, file-based routes_**, with **_Remix-style actions and parallel loaders_**.\n\nPage components are async, so you can even **_fetch data in JSX_** if you want to (just be careful with waterfalls).\n\nThe backend server is built on **_Hono_**, so you have access to a rich, growing ecosystem with lots of middleware and wonderful docs.\n\nHwy is **_100% server-rendered_**, but with the HTMX defaults Hwy sets up for you out of the box, your app still **_feels like an SPA_**.\n\nLinks and forms are automatically **_progressively enhanced_** thanks to HTMX's `hx-boost` feature. Just use normal anchor tags and traditional form attributes.\n\nBecause Hwy replaces the **_full page_** on transitions by default, everything stays **_simple_**. You don't have to return different components from different endpoints (unless you want to).\n\nAnd best of all, **_anything you can do with Hono or HTMX, you can do with Hwy_**.\n\n## Features\n\n- Server-rendered JSX / TSX\n- Nested, file-based routing\n- Remix-style actions and parallel loaders\n- Async page components\n- Rich Hono middleware ecosystem\n- 100% type-safe\n- Server built on Hono\n- Client built on HTMX\n- Built-in critical CSS inlining\n- Live browser refresh during development\n- And more...\n\n## Guiding Principles\n\n- No speed limits\n- Numerous off-ramps\n- Smooth, safe roads\n- Clear traffic signs\n\n## Simple usage\n\nBelow is an example of a simple Hwy page. You'll notice it looks a lot like Remix, and you're right! Hwy is heavily inspired by Remix, but it uses HTMX instead of React.\n\n```tsx\n// src/pages/user/$user_id.page.tsx\n\nimport type { DataProps, PageProps } from \"hwy\";\nimport { UserProfile, getUser } from \"./somewhere.js\";\n\nexport async function loader({ params }: DataProps) {\n  return await getUser(params.user_id);\n}\n\nexport default async function ({ loaderData }: PageProps<typeof loader>) {\n  return <UserProfile user={loaderData} />;\n}\n```\n\nOr, if you prefer to fetch inside your components:\n\n```tsx\nexport default async function ({ params }: PageProps) {\n  const user = await getUser(params.user_id);\n\n  return <UserProfile user={user} />;\n}\n```\n\n## Get Started\n\nIf you want to dive right in, just open a terminal and run `npx create-hwy@latest` and follow the prompts.\n\nIf you'd prefer to read more first, take a peek at [our docs](https://hwy.dev/docs).\n\n## Acknowledgements\n\nHwy's APIs are obviously inspired by Remix. If Remix didn't exist, Hwy likely wouldn't exist either. Hwy doesn't use any Remix code, but it still owes a big thanks to the Remix team (past and present) for their top-tier patterns design. If you're building something huge and important today, use Remix.\n\n## Disclaimer\n\nHwy is in beta! Act accordingly.\n\n## License\n\nMIT License\n\nCopyright (c) 2023 Samuel J. Cook\n","readmeFilename":"README.md","gitHead":"4a8c1504656197480fd0cc09a8d8f94f80cf1f81","types":"./dist/index.d.ts","_nodeVersion":"18.18.2","_npmVersion":"9.8.1","dist":{"integrity":"sha512-rUUo9PiYx4rZk2cXqWJG0Sgux3pa796lOI70og9g/ckUMdyA2uJBMzvJDRehwggQhI45hAtfD2zeqkNpGv7+cQ==","shasum":"e210165c2a5c6938c1cb4389829107ff3317e574","tarball":"https://registry.npmjs.org/hwy/-/hwy-0.8.0-beta.0.tgz","fileCount":4,"unpackedSize":42496,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIDs4HLA2S1ot1hNUxp1SUmxPhCpjVKsbdVYzXCq15HxBAiEAvCBvipyYjZwHho5Kfh7i6qm72MYka+M4bhEPyMg2twE="}]},"_npmUser":{"name":"sjc5","email":"email@samcook.cc"},"directories":{},"maintainers":[{"name":"sjc5","email":"email@samcook.cc"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/hwy_0.8.0-beta.0_1701485149597_0.5342623913272324"},"_hasShrinkwrap":false},"0.8.0-beta.1":{"name":"hwy","version":"0.8.0-beta.1","author":{"name":"Samuel J. Cook"},"license":"MIT","description":"Simple, lightweight, and flexible web framework, built on Hono and HTMX.","type":"module","main":"dist/index.js","scripts":{"build":"rm -rf dist && tsup-node index.ts --format esm --dts","lint":"tsc","dev":"rm -rf dist && tsup-node index.ts --format esm --dts --watch --sourcemap","publish-beta":"npm publish --tag beta","publish-non-beta":"npm publish","update-latest":"pnpm update --latest","typecheck":"tsc --noEmit"},"devDependencies":{"@hono/node-server":"^1.3.1","@hwy-js/build":"workspace:*","@hwy-js/dev":"workspace:*","@types/node":"^20.10.2","hono":"^3.10.4","tsup":"^8.0.1"},"peerDependencies":{"hono":"^3.10.4"},"repository":{"type":"git","url":"git+https://github.com/hwy-js/hwy.git","directory":"packages/core"},"homepage":"https://hwy.dev","bugs":{"url":"https://github.com/hwy-js/hwy/issues"},"keywords":["simple","lightweight","flexible","framework","metaframework","web","typescript","htmx","hono","router","nested","routing","jsx","tsx","nextjs","remix"],"_id":"hwy@0.8.0-beta.1","readme":"# Hwy\n\nHwy is a simple, lightweight, and flexible web framework, built on Hono and HTMX.\n\n<a href=\"https://pkg-size.dev/hwy\" target=\"_blank\">\n  <img\n    width=\"112\"\n    height=\"20\"\n    style=\"background:darkgray;border-radius:4px;\"\n    src=\"https://pkg-size.dev/badge/bundle/11742\"\n    title=\"Bundle size for hwy\"\n  />\n</a>\n\n## Quick Start\n\n```bash\nnpx create-hwy@latest\n```\n\n## What is Hwy?\n\nHwy is a lot like NextJS or Remix, but it uses **_HTMX_** instead of React on the frontend.\n\nHwy lets you write **_React-style JSX_** in **_nested, file-based routes_**, with **_Remix-style actions and parallel loaders_**.\n\nPage components are async, so you can even **_fetch data in JSX_** if you want to (just be careful with waterfalls).\n\nThe backend server is built on **_Hono_**, so you have access to a rich, growing ecosystem with lots of middleware and wonderful docs.\n\nHwy is **_100% server-rendered_**, but with the HTMX defaults Hwy sets up for you out of the box, your app still **_feels like an SPA_**.\n\nLinks and forms are automatically **_progressively enhanced_** thanks to HTMX's `hx-boost` feature. Just use normal anchor tags and traditional form attributes.\n\nBecause Hwy replaces the **_full page_** on transitions by default, everything stays **_simple_**. You don't have to return different components from different endpoints (unless you want to).\n\nAnd best of all, **_anything you can do with Hono or HTMX, you can do with Hwy_**.\n\n## Features\n\n- Server-rendered JSX / TSX\n- Nested, file-based routing\n- Remix-style actions and parallel loaders\n- Async page components\n- Rich Hono middleware ecosystem\n- 100% type-safe\n- Server built on Hono\n- Client built on HTMX\n- Built-in critical CSS inlining\n- Live browser refresh during development\n- And more...\n\n## Guiding Principles\n\n- No speed limits\n- Numerous off-ramps\n- Smooth, safe roads\n- Clear traffic signs\n\n## Simple usage\n\nBelow is an example of a simple Hwy page. You'll notice it looks a lot like Remix, and you're right! Hwy is heavily inspired by Remix, but it uses HTMX instead of React.\n\n```tsx\n// src/pages/user/$user_id.page.tsx\n\nimport type { DataProps, PageProps } from \"hwy\";\nimport { UserProfile, getUser } from \"./somewhere.js\";\n\nexport async function loader({ params }: DataProps) {\n  return await getUser(params.user_id);\n}\n\nexport default async function ({ loaderData }: PageProps<typeof loader>) {\n  return <UserProfile user={loaderData} />;\n}\n```\n\nOr, if you prefer to fetch inside your components:\n\n```tsx\nexport default async function ({ params }: PageProps) {\n  const user = await getUser(params.user_id);\n\n  return <UserProfile user={user} />;\n}\n```\n\n## Get Started\n\nIf you want to dive right in, just open a terminal and run `npx create-hwy@latest` and follow the prompts.\n\nIf you'd prefer to read more first, take a peek at [our docs](https://hwy.dev/docs).\n\n## Acknowledgements\n\nHwy's APIs are obviously inspired by Remix. If Remix didn't exist, Hwy likely wouldn't exist either. Hwy doesn't use any Remix code, but it still owes a big thanks to the Remix team (past and present) for their top-tier patterns design. If you're building something huge and important today, use Remix.\n\n## Disclaimer\n\nHwy is in beta! Act accordingly.\n\n## License\n\nMIT License\n\nCopyright (c) 2023 Samuel J. Cook\n","readmeFilename":"README.md","gitHead":"4a8c1504656197480fd0cc09a8d8f94f80cf1f81","types":"./dist/index.d.ts","_nodeVersion":"18.18.2","_npmVersion":"9.8.1","dist":{"integrity":"sha512-vJJqrlul/pD3N7VXqhU1jWDbcCAPqEmZauxTaqoMY7NMYYt3yAr9u53Af4fqB95fESfQWO75SMt4b8DPqOI+jw==","shasum":"e2cc743e44f0fa20f6d18e2a9aaf1d89d672d7fb","tarball":"https://registry.npmjs.org/hwy/-/hwy-0.8.0-beta.1.tgz","fileCount":4,"unpackedSize":42516,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCKoer7LBid+dCxBRUos1pcTk7+Zv90H0xO67RtmGV5CAIgB+MAeqwXVyolePlqnwZ8QSrxTD3brCtlCdL8RcXLEF8="}]},"_npmUser":{"name":"sjc5","email":"email@samcook.cc"},"directories":{},"maintainers":[{"name":"sjc5","email":"email@samcook.cc"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/hwy_0.8.0-beta.1_1701488209489_0.7043527972231356"},"_hasShrinkwrap":false},"0.8.0-beta.2":{"name":"hwy","version":"0.8.0-beta.2","author":{"name":"Samuel J. Cook"},"license":"MIT","description":"Simple, lightweight, and flexible web framework, built on Hono and HTMX.","type":"module","main":"dist/index.js","scripts":{"build":"rm -rf dist && tsup-node index.ts --format esm --dts","lint":"tsc","dev":"rm -rf dist && tsup-node index.ts --format esm --dts --watch --sourcemap","publish-beta":"npm publish --tag beta","publish-non-beta":"npm publish","update-latest":"pnpm update --latest","typecheck":"tsc --noEmit"},"devDependencies":{"@hono/node-server":"^1.3.1","@hwy-js/build":"workspace:*","@hwy-js/dev":"workspace:*","@types/node":"^20.10.2","hono":"^3.10.4","tsup":"^8.0.1"},"peerDependencies":{"hono":"^3.10.4"},"repository":{"type":"git","url":"git+https://github.com/hwy-js/hwy.git","directory":"packages/core"},"homepage":"https://hwy.dev","bugs":{"url":"https://github.com/hwy-js/hwy/issues"},"keywords":["simple","lightweight","flexible","framework","metaframework","web","typescript","htmx","hono","router","nested","routing","jsx","tsx","nextjs","remix"],"_id":"hwy@0.8.0-beta.2","readme":"# Hwy\n\nHwy is a simple, lightweight, and flexible web framework, built on Hono and HTMX.\n\n<a href=\"https://pkg-size.dev/hwy\" target=\"_blank\">\n  <img\n    width=\"112\"\n    height=\"20\"\n    style=\"background:darkgray;border-radius:4px;\"\n    src=\"https://pkg-size.dev/badge/bundle/11742\"\n    title=\"Bundle size for hwy\"\n  />\n</a>\n\n## Quick Start\n\n```bash\nnpx create-hwy@latest\n```\n\n## What is Hwy?\n\nHwy is a lot like NextJS or Remix, but it uses **_HTMX_** instead of React on the frontend.\n\nHwy lets you write **_React-style JSX_** in **_nested, file-based routes_**, with **_Remix-style actions and parallel loaders_**.\n\nPage components are async, so you can even **_fetch data in JSX_** if you want to (just be careful with waterfalls).\n\nThe backend server is built on **_Hono_**, so you have access to a rich, growing ecosystem with lots of middleware and wonderful docs.\n\nHwy is **_100% server-rendered_**, but with the HTMX defaults Hwy sets up for you out of the box, your app still **_feels like an SPA_**.\n\nLinks and forms are automatically **_progressively enhanced_** thanks to HTMX's `hx-boost` feature. Just use normal anchor tags and traditional form attributes.\n\nBecause Hwy replaces the **_full page_** on transitions by default, everything stays **_simple_**. You don't have to return different components from different endpoints (unless you want to).\n\nAnd best of all, **_anything you can do with Hono or HTMX, you can do with Hwy_**.\n\n## Features\n\n- Server-rendered JSX / TSX\n- Nested, file-based routing\n- Remix-style actions and parallel loaders\n- Async page components\n- Rich Hono middleware ecosystem\n- 100% type-safe\n- Server built on Hono\n- Client built on HTMX\n- Built-in critical CSS inlining\n- Live browser refresh during development\n- And more...\n\n## Guiding Principles\n\n- No speed limits\n- Numerous off-ramps\n- Smooth, safe roads\n- Clear traffic signs\n\n## Simple usage\n\nBelow is an example of a simple Hwy page. You'll notice it looks a lot like Remix, and you're right! Hwy is heavily inspired by Remix, but it uses HTMX instead of React.\n\n```tsx\n// src/pages/user/$user_id.page.tsx\n\nimport type { DataProps, PageProps } from \"hwy\";\nimport { UserProfile, getUser } from \"./somewhere.js\";\n\nexport async function loader({ params }: DataProps) {\n  return await getUser(params.user_id);\n}\n\nexport default async function ({ loaderData }: PageProps<typeof loader>) {\n  return <UserProfile user={loaderData} />;\n}\n```\n\nOr, if you prefer to fetch inside your components:\n\n```tsx\nexport default async function ({ params }: PageProps) {\n  const user = await getUser(params.user_id);\n\n  return <UserProfile user={user} />;\n}\n```\n\n## Get Started\n\nIf you want to dive right in, just open a terminal and run `npx create-hwy@latest` and follow the prompts.\n\nIf you'd prefer to read more first, take a peek at [our docs](https://hwy.dev/docs).\n\n## Acknowledgements\n\nHwy's APIs are obviously inspired by Remix. If Remix didn't exist, Hwy likely wouldn't exist either. Hwy doesn't use any Remix code, but it still owes a big thanks to the Remix team (past and present) for their top-tier patterns design. If you're building something huge and important today, use Remix.\n\n## Disclaimer\n\nHwy is in beta! Act accordingly.\n\n## License\n\nMIT License\n\nCopyright (c) 2023 Samuel J. Cook\n","readmeFilename":"README.md","gitHead":"ec6aa73dd025c2e8a0491799e6b80e50993d0a75","types":"./dist/index.d.ts","_nodeVersion":"18.18.2","_npmVersion":"9.8.1","dist":{"integrity":"sha512-FOLv/8jIHd6rxjhNqE20YojQNBxI2xE+ndUjspMWoDVULJuVsMjlzAvtV9BKrZhOmX2lkfJF/3Qwfhvn9ZLX0Q==","shasum":"643fbacc94763740b94ce71a2ba0126023769b8d","tarball":"https://registry.npmjs.org/hwy/-/hwy-0.8.0-beta.2.tgz","fileCount":4,"unpackedSize":42963,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDl64k+cByLw1UrdwyBxxBI0GHRYg27nW3Huz7zvuBI9gIhALOlWB45Rna2DJmmDlFaU0W2oZYIJpNizj+Z1v3igcgN"}]},"_npmUser":{"name":"sjc5","email":"email@samcook.cc"},"directories":{},"maintainers":[{"name":"sjc5","email":"email@samcook.cc"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/hwy_0.8.0-beta.2_1701490509074_0.5347439332642272"},"_hasShrinkwrap":false},"0.8.0-beta.3":{"name":"hwy","version":"0.8.0-beta.3","author":{"name":"Samuel J. Cook"},"license":"MIT","description":"Simple, lightweight, and flexible web framework, built on Hono and HTMX.","type":"module","main":"dist/index.js","scripts":{"build":"rm -rf dist && tsup-node index.ts --format esm --dts","lint":"tsc","dev":"rm -rf dist && tsup-node index.ts --format esm --dts --watch --sourcemap","publish-beta":"npm publish --tag beta","publish-non-beta":"npm publish","update-latest":"pnpm update --latest","typecheck":"tsc --noEmit"},"devDependencies":{"@hono/node-server":"^1.3.1","@hwy-js/build":"workspace:*","@hwy-js/dev":"workspace:*","@types/node":"^20.10.2","hono":"^3.10.4","tsup":"^8.0.1"},"peerDependencies":{"hono":"^3.10.4"},"repository":{"type":"git","url":"git+https://github.com/hwy-js/hwy.git","directory":"packages/core"},"homepage":"https://hwy.dev","bugs":{"url":"https://github.com/hwy-js/hwy/issues"},"keywords":["simple","lightweight","flexible","framework","metaframework","web","typescript","htmx","hono","router","nested","routing","jsx","tsx","nextjs","remix"],"_id":"hwy@0.8.0-beta.3","readme":"# Hwy\n\nHwy is a simple, lightweight, and flexible web framework, built on Hono and HTMX.\n\n<a href=\"https://pkg-size.dev/hwy\" target=\"_blank\">\n  <img\n    width=\"112\"\n    height=\"20\"\n    style=\"background:darkgray;border-radius:4px;\"\n    src=\"https://pkg-size.dev/badge/bundle/11742\"\n    title=\"Bundle size for hwy\"\n  />\n</a>\n\n## Quick Start\n\n```bash\nnpx create-hwy@latest\n```\n\n## What is Hwy?\n\nHwy is a lot like NextJS or Remix, but it uses **_HTMX_** instead of React on the frontend.\n\nHwy lets you write **_React-style JSX_** in **_nested, file-based routes_**, with **_Remix-style actions and parallel loaders_**.\n\nPage components are async, so you can even **_fetch data in JSX_** if you want to (just be careful with waterfalls).\n\nThe backend server is built on **_Hono_**, so you have access to a rich, growing ecosystem with lots of middleware and wonderful docs.\n\nHwy is **_100% server-rendered_**, but with the HTMX defaults Hwy sets up for you out of the box, your app still **_feels like an SPA_**.\n\nLinks and forms are automatically **_progressively enhanced_** thanks to HTMX's `hx-boost` feature. Just use normal anchor tags and traditional form attributes.\n\nBecause Hwy replaces the **_full page_** on transitions by default, everything stays **_simple_**. You don't have to return different components from different endpoints (unless you want to).\n\nAnd best of all, **_anything you can do with Hono or HTMX, you can do with Hwy_**.\n\n## Features\n\n- Server-rendered JSX / TSX\n- Nested, file-based routing\n- Remix-style actions and parallel loaders\n- Async page components\n- Rich Hono middleware ecosystem\n- 100% type-safe\n- Server built on Hono\n- Client built on HTMX\n- Built-in critical CSS inlining\n- Live browser refresh during development\n- And more...\n\n## Guiding Principles\n\n- No speed limits\n- Numerous off-ramps\n- Smooth, safe roads\n- Clear traffic signs\n\n## Simple usage\n\nBelow is an example of a simple Hwy page. You'll notice it looks a lot like Remix, and you're right! Hwy is heavily inspired by Remix, but it uses HTMX instead of React.\n\n```tsx\n// src/pages/user/$user_id.page.tsx\n\nimport type { DataProps, PageProps } from \"hwy\";\nimport { UserProfile, getUser } from \"./somewhere.js\";\n\nexport async function loader({ params }: DataProps) {\n  return await getUser(params.user_id);\n}\n\nexport default async function ({ loaderData }: PageProps<typeof loader>) {\n  return <UserProfile user={loaderData} />;\n}\n```\n\nOr, if you prefer to fetch inside your components:\n\n```tsx\nexport default async function ({ params }: PageProps) {\n  const user = await getUser(params.user_id);\n\n  return <UserProfile user={user} />;\n}\n```\n\n## Get Started\n\nIf you want to dive right in, just open a terminal and run `npx create-hwy@latest` and follow the prompts.\n\nIf you'd prefer to read more first, take a peek at [our docs](https://hwy.dev/docs).\n\n## Acknowledgements\n\nHwy's APIs are obviously inspired by Remix. If Remix didn't exist, Hwy likely wouldn't exist either. Hwy doesn't use any Remix code, but it still owes a big thanks to the Remix team (past and present) for their top-tier patterns design. If you're building something huge and important today, use Remix.\n\n## Disclaimer\n\nHwy is in beta! Act accordingly.\n\n## License\n\nMIT License\n\nCopyright (c) 2023 Samuel J. Cook\n","readmeFilename":"README.md","gitHead":"a1d1a589459ed58b7df5fc3122628028a02d3939","types":"./dist/index.d.ts","_nodeVersion":"18.18.2","_npmVersion":"9.8.1","dist":{"integrity":"sha512-vY5yAjbC4Qbr9O2myLZfZKuZr8eq1+tHWtT4GqhS/C8a/OKsJygB4SSahs+TPsE2BYGFd2ZHkudWjnj6oUIaWA==","shasum":"654d19816ec30abc094f113e7eb674b3078cabb4","tarball":"https://registry.npmjs.org/hwy/-/hwy-0.8.0-beta.3.tgz","fileCount":4,"unpackedSize":43365,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCRcZxU3hwJGzJAouA37cjQ+tmrWikyjTh3xiqRpNCksgIhAJu+iK9k6ErsuBs70xq5eIDkRsDJrW906WlnnO1b9l85"}]},"_npmUser":{"name":"sjc5","email":"email@samcook.cc"},"directories":{},"maintainers":[{"name":"sjc5","email":"email@samcook.cc"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/hwy_0.8.0-beta.3_1701571915967_0.09886150927129034"},"_hasShrinkwrap":false},"0.8.0-beta.4":{"name":"hwy","version":"0.8.0-beta.4","author":{"name":"Samuel J. Cook"},"license":"MIT","description":"Simple, lightweight, and flexible web framework, built on Hono and HTMX.","type":"module","main":"dist/index.js","scripts":{"build":"rm -rf dist && tsup-node index.ts --format esm --dts","lint":"tsc","dev":"rm -rf dist && tsup-node index.ts --format esm --dts --watch --sourcemap","publish-beta":"npm publish --tag beta","publish-non-beta":"npm publish","update-latest":"pnpm update --latest","typecheck":"tsc --noEmit"},"devDependencies":{"@hono/node-server":"^1.3.1","@hwy-js/build":"workspace:*","@hwy-js/dev":"workspace:*","@types/node":"^20.10.2","hono":"^3.10.4","tsup":"^8.0.1"},"peerDependencies":{"hono":"^3.10.4"},"repository":{"type":"git","url":"git+https://github.com/hwy-js/hwy.git","directory":"packages/core"},"homepage":"https://hwy.dev","bugs":{"url":"https://github.com/hwy-js/hwy/issues"},"keywords":["simple","lightweight","flexible","framework","metaframework","web","typescript","htmx","hono","router","nested","routing","jsx","tsx","nextjs","remix"],"_id":"hwy@0.8.0-beta.4","readme":"# Hwy\n\nHwy is a simple, lightweight, and flexible web framework, built on Hono and HTMX.\n\n<a href=\"https://pkg-size.dev/hwy\" target=\"_blank\">\n  <img\n    width=\"112\"\n    height=\"20\"\n    style=\"background:darkgray;border-radius:4px;\"\n    src=\"https://pkg-size.dev/badge/bundle/11742\"\n    title=\"Bundle size for hwy\"\n  />\n</a>\n\n## Quick Start\n\n```bash\nnpx create-hwy@latest\n```\n\n## What is Hwy?\n\nHwy is a lot like NextJS or Remix, but it uses **_HTMX_** instead of React on the frontend.\n\nHwy lets you write **_React-style JSX_** in **_nested, file-based routes_**, with **_Remix-style actions and parallel loaders_**.\n\nPage components are async, so you can even **_fetch data in JSX_** if you want to (just be careful with waterfalls).\n\nThe backend server is built on **_Hono_**, so you have access to a rich, growing ecosystem with lots of middleware and wonderful docs.\n\nHwy is **_100% server-rendered_**, but with the HTMX defaults Hwy sets up for you out of the box, your app still **_feels like an SPA_**.\n\nLinks and forms are automatically **_progressively enhanced_** thanks to HTMX's `hx-boost` feature. Just use normal anchor tags and traditional form attributes.\n\nBecause Hwy replaces the **_full page_** on transitions by default, everything stays **_simple_**. You don't have to return different components from different endpoints (unless you want to).\n\nAnd best of all, **_anything you can do with Hono or HTMX, you can do with Hwy_**.\n\n## Features\n\n- Server-rendered JSX / TSX\n- Nested, file-based routing\n- Remix-style actions and parallel loaders\n- Async page components\n- Rich Hono middleware ecosystem\n- 100% type-safe\n- Server built on Hono\n- Client built on HTMX\n- Built-in critical CSS inlining\n- Live browser refresh during development\n- And more...\n\n## Guiding Principles\n\n- No speed limits\n- Numerous off-ramps\n- Smooth, safe roads\n- Clear traffic signs\n\n## Simple usage\n\nBelow is an example of a simple Hwy page. You'll notice it looks a lot like Remix, and you're right! Hwy is heavily inspired by Remix, but it uses HTMX instead of React.\n\n```tsx\n// src/pages/user/$user_id.page.tsx\n\nimport type { DataProps, PageProps } from \"hwy\";\nimport { UserProfile, getUser } from \"./somewhere.js\";\n\nexport async function loader({ params }: DataProps) {\n  return await getUser(params.user_id);\n}\n\nexport default async function ({ loaderData }: PageProps<typeof loader>) {\n  return <UserProfile user={loaderData} />;\n}\n```\n\nOr, if you prefer to fetch inside your components:\n\n```tsx\nexport default async function ({ params }: PageProps) {\n  const user = await getUser(params.user_id);\n\n  return <UserProfile user={user} />;\n}\n```\n\n## Get Started\n\nIf you want to dive right in, just open a terminal and run `npx create-hwy@latest` and follow the prompts.\n\nIf you'd prefer to read more first, take a peek at [our docs](https://hwy.dev/docs).\n\n## Acknowledgements\n\nHwy's APIs are obviously inspired by Remix. If Remix didn't exist, Hwy likely wouldn't exist either. Hwy doesn't use any Remix code, but it still owes a big thanks to the Remix team (past and present) for their top-tier patterns design. If you're building something huge and important today, use Remix.\n\n## Disclaimer\n\nHwy is in beta! Act accordingly.\n\n## License\n\nMIT License\n\nCopyright (c) 2023 Samuel J. Cook\n","readmeFilename":"README.md","gitHead":"a5cc282c739559229525a4c93c4a1f571b67ca46","types":"./dist/index.d.ts","_nodeVersion":"18.18.2","_npmVersion":"9.8.1","dist":{"integrity":"sha512-9pqqCUIFttW6msHbuxM+RsZRzu74E55srfWV75Qnaa0OF8JAl2zpla3+FSOzH0NCCMkq4mfqAOKim3b5LNhfWw==","shasum":"cff482c748e0f11cc36a95146458c69168fdbc36","tarball":"https://registry.npmjs.org/hwy/-/hwy-0.8.0-beta.4.tgz","fileCount":4,"unpackedSize":43340,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDclzhnUD0C4FpDXHweWnZwqVgouVEZhnGCf09Wwx/8WAIhAIqojtaVSZqDJIEKB7ads8iG7ztqauRjOd2lhSh7DcLv"}]},"_npmUser":{"name":"sjc5","email":"email@samcook.cc"},"directories":{},"maintainers":[{"name":"sjc5","email":"email@samcook.cc"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/hwy_0.8.0-beta.4_1701588640814_0.5802156668033602"},"_hasShrinkwrap":false},"0.8.0-beta.5":{"name":"hwy","version":"0.8.0-beta.5","author":{"name":"Samuel J. Cook"},"license":"MIT","description":"Simple, lightweight, and flexible web framework, built on Hono and HTMX.","type":"module","main":"dist/index.js","scripts":{"build":"rm -rf dist && tsup-node index.ts --format esm --dts","lint":"tsc","dev":"rm -rf dist && tsup-node index.ts --format esm --dts --watch --sourcemap","publish-beta":"npm publish --tag beta","publish-non-beta":"npm publish","update-latest":"pnpm update --latest","typecheck":"tsc --noEmit"},"devDependencies":{"@hono/node-server":"^1.3.1","@hwy-js/build":"workspace:*","@hwy-js/dev":"workspace:*","@types/node":"^20.10.3","hono":"^3.10.5","tsup":"^8.0.1"},"peerDependencies":{"hono":"^3.10.4"},"repository":{"type":"git","url":"git+https://github.com/hwy-js/hwy.git","directory":"packages/core"},"homepage":"https://hwy.dev","bugs":{"url":"https://github.com/hwy-js/hwy/issues"},"keywords":["simple","lightweight","flexible","framework","metaframework","web","typescript","htmx","hono","router","nested","routing","jsx","tsx","nextjs","remix"],"_id":"hwy@0.8.0-beta.5","readme":"# Hwy\n\nHwy is a simple, lightweight, and flexible web framework, built on Hono and HTMX.\n\n<a href=\"https://pkg-size.dev/hwy\" target=\"_blank\">\n  <img\n    width=\"112\"\n    height=\"20\"\n    style=\"background:darkgray;border-radius:4px;\"\n    src=\"https://pkg-size.dev/badge/bundle/11742\"\n    title=\"Bundle size for hwy\"\n  />\n</a>\n\n## Quick Start\n\n```bash\nnpx create-hwy@latest\n```\n\n## What is Hwy?\n\nHwy is a lot like NextJS or Remix, but it uses **_HTMX_** instead of React on the frontend.\n\nHwy lets you write **_React-style JSX_** in **_nested, file-based routes_**, with **_Remix-style actions and parallel loaders_**.\n\nPage components are async, so you can even **_fetch data in JSX_** if you want to (just be careful with waterfalls).\n\nThe backend server is built on **_Hono_**, so you have access to a rich, growing ecosystem with lots of middleware and wonderful docs.\n\nHwy is **_100% server-rendered_**, but with the HTMX defaults Hwy sets up for you out of the box, your app still **_feels like an SPA_**.\n\nLinks and forms are automatically **_progressively enhanced_** thanks to HTMX's `hx-boost` feature. Just use normal anchor tags and traditional form attributes.\n\nBecause Hwy replaces the **_full page_** on transitions by default, everything stays **_simple_**. You don't have to return different components from different endpoints (unless you want to).\n\nAnd best of all, **_anything you can do with Hono or HTMX, you can do with Hwy_**.\n\n## Features\n\n- Server-rendered JSX / TSX\n- Nested, file-based routing\n- Remix-style actions and parallel loaders\n- Async page components\n- Rich Hono middleware ecosystem\n- 100% type-safe\n- Server built on Hono\n- Client built on HTMX\n- Built-in critical CSS inlining\n- Live browser refresh during development\n- And more...\n\n## Guiding Principles\n\n- No speed limits\n- Numerous off-ramps\n- Smooth, safe roads\n- Clear traffic signs\n\n## Simple usage\n\nBelow is an example of a simple Hwy page. You'll notice it looks a lot like Remix, and you're right! Hwy is heavily inspired by Remix, but it uses HTMX instead of React.\n\n```tsx\n// src/pages/user/$user_id.page.tsx\n\nimport type { DataProps, PageProps } from \"hwy\";\nimport { UserProfile, getUser } from \"./somewhere.js\";\n\nexport async function loader({ params }: DataProps) {\n  return await getUser(params.user_id);\n}\n\nexport default async function ({ loaderData }: PageProps<typeof loader>) {\n  return <UserProfile user={loaderData} />;\n}\n```\n\nOr, if you prefer to fetch inside your components:\n\n```tsx\nexport default async function ({ params }: PageProps) {\n  const user = await getUser(params.user_id);\n\n  return <UserProfile user={user} />;\n}\n```\n\n## Get Started\n\nIf you want to dive right in, just open a terminal and run `npx create-hwy@latest` and follow the prompts.\n\nIf you'd prefer to read more first, take a peek at [our docs](https://hwy.dev/docs).\n\n## Acknowledgements\n\nHwy's APIs are obviously inspired by Remix. If Remix didn't exist, Hwy likely wouldn't exist either. Hwy doesn't use any Remix code, but it still owes a big thanks to the Remix team (past and present) for their top-tier patterns design. If you're building something huge and important today, use Remix.\n\n## Disclaimer\n\nHwy is in beta! Act accordingly.\n\n## License\n\nMIT License\n\nCopyright (c) 2023 Samuel J. Cook\n","readmeFilename":"README.md","gitHead":"83ab6a09c4b0b70f23714994281dd8073c050a2e","types":"./dist/index.d.ts","_nodeVersion":"18.18.2","_npmVersion":"9.8.1","dist":{"integrity":"sha512-uZu7XJ/xnDcMk2aKpZqiYwpnmTS0vqG8YYNG1uD9PFbIDBD9stskl4gTIc2azqT1l+I2CoJxYqSfdIceGvGX5g==","shasum":"c29364a9b3f280a076459f0b52dd438cb4abb255","tarball":"https://registry.npmjs.org/hwy/-/hwy-0.8.0-beta.5.tgz","fileCount":4,"unpackedSize":43340,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIAy+dAwz1aFJWq/x3rzuv8Hz0AJLNKA8hr/qjVRTaESBAiBdGYykf/7ILj9OfwEuHAM8C+/WdTWsULJzs0M0ZvS7Dw=="}]},"_npmUser":{"name":"sjc5","email":"email@samcook.cc"},"directories":{},"maintainers":[{"name":"sjc5","email":"email@samcook.cc"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/hwy_0.8.0-beta.5_1701651328602_0.384551392927849"},"_hasShrinkwrap":false},"0.8.0-beta.6":{"name":"hwy","version":"0.8.0-beta.6","author":{"name":"Samuel J. Cook"},"license":"MIT","description":"Simple, lightweight, and flexible web framework, built on Hono and HTMX.","type":"module","main":"dist/index.js","scripts":{"build":"rm -rf dist && tsup-node index.ts --format esm --dts","lint":"tsc","dev":"rm -rf dist && tsup-node index.ts --format esm --dts --watch --sourcemap","publish-beta":"npm publish --tag beta","publish-non-beta":"npm publish","update-latest":"pnpm update --latest","typecheck":"tsc --noEmit"},"devDependencies":{"@hono/node-server":"^1.3.1","@hwy-js/build":"workspace:*","@hwy-js/dev":"workspace:*","@types/node":"^20.10.3","hono":"^3.10.5","tsup":"^8.0.1"},"peerDependencies":{"hono":"^3.10.4"},"repository":{"type":"git","url":"git+https://github.com/hwy-js/hwy.git","directory":"packages/core"},"homepage":"https://hwy.dev","bugs":{"url":"https://github.com/hwy-js/hwy/issues"},"keywords":["simple","lightweight","flexible","framework","metaframework","web","typescript","htmx","hono","router","nested","routing","jsx","tsx","nextjs","remix"],"_id":"hwy@0.8.0-beta.6","readme":"# Hwy\n\nHwy is a simple, lightweight, and flexible web framework, built on Hono and HTMX.\n\n<a href=\"https://pkg-size.dev/hwy\" target=\"_blank\">\n  <img\n    width=\"112\"\n    height=\"20\"\n    style=\"background:darkgray;border-radius:4px;\"\n    src=\"https://pkg-size.dev/badge/bundle/11742\"\n    title=\"Bundle size for hwy\"\n  />\n</a>\n\n## Quick Start\n\n```bash\nnpx create-hwy@latest\n```\n\n## What is Hwy?\n\nHwy is a lot like NextJS or Remix, but it uses **_HTMX_** instead of React on the frontend.\n\nHwy lets you write **_React-style JSX_** in **_nested, file-based routes_**, with **_Remix-style actions and parallel loaders_**.\n\nPage components are async, so you can even **_fetch data in JSX_** if you want to (just be careful with waterfalls).\n\nThe backend server is built on **_Hono_**, so you have access to a rich, growing ecosystem with lots of middleware and wonderful docs.\n\nHwy is **_100% server-rendered_**, but with the HTMX defaults Hwy sets up for you out of the box, your app still **_feels like an SPA_**.\n\nLinks and forms are automatically **_progressively enhanced_** thanks to HTMX's `hx-boost` feature. Just use normal anchor tags and traditional form attributes.\n\nBecause Hwy replaces the **_full page_** on transitions by default, everything stays **_simple_**. You don't have to return different components from different endpoints (unless you want to).\n\nAnd best of all, **_anything you can do with Hono or HTMX, you can do with Hwy_**.\n\n## Features\n\n- Server-rendered JSX / TSX\n- Nested, file-based routing\n- Remix-style actions and parallel loaders\n- Async page components\n- Rich Hono middleware ecosystem\n- 100% type-safe\n- Server built on Hono\n- Client built on HTMX\n- Built-in critical CSS inlining\n- Live browser refresh during development\n- And more...\n\n## Guiding Principles\n\n- No speed limits\n- Numerous off-ramps\n- Smooth, safe roads\n- Clear traffic signs\n\n## Simple usage\n\nBelow is an example of a simple Hwy page. You'll notice it looks a lot like Remix, and you're right! Hwy is heavily inspired by Remix, but it uses HTMX instead of React.\n\n```tsx\n// src/pages/user/$user_id.page.tsx\n\nimport type { DataProps, PageProps } from \"hwy\";\nimport { UserProfile, getUser } from \"./somewhere.js\";\n\nexport async function loader({ params }: DataProps) {\n  return await getUser(params.user_id);\n}\n\nexport default async function ({ loaderData }: PageProps<typeof loader>) {\n  return <UserProfile user={loaderData} />;\n}\n```\n\nOr, if you prefer to fetch inside your components:\n\n```tsx\nexport default async function ({ params }: PageProps) {\n  const user = await getUser(params.user_id);\n\n  return <UserProfile user={user} />;\n}\n```\n\n## Get Started\n\nIf you want to dive right in, just open a terminal and run `npx create-hwy@latest` and follow the prompts.\n\nIf you'd prefer to read more first, take a peek at [our docs](https://hwy.dev/docs).\n\n## Acknowledgements\n\nHwy's APIs are obviously inspired by Remix. If Remix didn't exist, Hwy likely wouldn't exist either. Hwy doesn't use any Remix code, but it still owes a big thanks to the Remix team (past and present) for their top-tier patterns design. If you're building something huge and important today, use Remix.\n\n## Disclaimer\n\nHwy is in beta! Act accordingly.\n\n## License\n\nMIT License\n\nCopyright (c) 2023 Samuel J. Cook\n","readmeFilename":"README.md","gitHead":"83ab6a09c4b0b70f23714994281dd8073c050a2e","types":"./dist/index.d.ts","_nodeVersion":"18.18.2","_npmVersion":"9.8.1","dist":{"integrity":"sha512-FZH9JItDbp30/rR1bk9zz883fXp8x+twpacnAUpW4QhEj1+rDyInTyWlSfqqgoYVEmQNbAXmlSP5XrPCUTND7A==","shasum":"84b6b83e87cf4a77a0301f3f99ee1fedb43bd396","tarball":"https://registry.npmjs.org/hwy/-/hwy-0.8.0-beta.6.tgz","fileCount":4,"unpackedSize":43340,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIBBup9Y+8ZK2gE+an/1LOO+NlBevK4wDZ2E389P17dxTAiEA3jLUA1TwCwh6adMmFNMLf208dtJGBhAXUfFsXiZ/Hr4="}]},"_npmUser":{"name":"sjc5","email":"email@samcook.cc"},"directories":{},"maintainers":[{"name":"sjc5","email":"email@samcook.cc"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/hwy_0.8.0-beta.6_1701652565491_0.5870903390158351"},"_hasShrinkwrap":false},"0.8.0-beta.7":{"name":"hwy","version":"0.8.0-beta.7","author":{"name":"Samuel J. Cook"},"license":"MIT","description":"Simple, lightweight, and flexible web framework, built on Hono and HTMX.","type":"module","exports":{".":"./dist/index.js","./types/htmx":"./types/htmx.d.ts"},"scripts":{"build":"rm -rf dist && tsup-node index.ts --format esm --dts","lint":"tsc","dev":"rm -rf dist && tsup-node index.ts --format esm --dts --watch --sourcemap","publish-beta":"npm publish --tag beta","publish-non-beta":"npm publish","update-latest":"pnpm update --latest","typecheck":"tsc --noEmit"},"devDependencies":{"@hono/node-server":"^1.3.1","@hwy-js/build":"workspace:*","@hwy-js/dev":"workspace:*","@types/node":"^20.10.3","hono":"^3.11.1","tsup":"^8.0.1"},"peerDependencies":{"hono":"^3.11.1"},"repository":{"type":"git","url":"git+https://github.com/hwy-js/hwy.git","directory":"packages/core"},"homepage":"https://hwy.dev","bugs":{"url":"https://github.com/hwy-js/hwy/issues"},"keywords":["simple","lightweight","flexible","framework","metaframework","web","typescript","htmx","hono","router","nested","routing","jsx","tsx","nextjs","remix"],"_id":"hwy@0.8.0-beta.7","readme":"# Hwy\n\nHwy is a simple, lightweight, and flexible web framework, built on Hono and HTMX.\n\n<a href=\"https://pkg-size.dev/hwy\" target=\"_blank\">\n  <img\n    width=\"112\"\n    height=\"20\"\n    style=\"background:darkgray;border-radius:4px;\"\n    src=\"https://pkg-size.dev/badge/bundle/11742\"\n    title=\"Bundle size for hwy\"\n  />\n</a>\n\n## Quick Start\n\n```bash\nnpx create-hwy@latest\n```\n\n## What is Hwy?\n\nHwy is a lot like NextJS or Remix, but it uses **_HTMX_** instead of React on the frontend.\n\nHwy lets you write **_React-style JSX_** in **_nested, file-based routes_**, with **_Remix-style actions and parallel loaders_**.\n\nPage components are async, so you can even **_fetch data in JSX_** if you want to (just be careful with waterfalls).\n\nThe backend server is built on **_Hono_**, so you have access to a rich, growing ecosystem with lots of middleware and wonderful docs.\n\nHwy is **_100% server-rendered_**, but with the HTMX defaults Hwy sets up for you out of the box, your app still **_feels like an SPA_**.\n\nLinks and forms are automatically **_progressively enhanced_** thanks to HTMX's `hx-boost` feature. Just use normal anchor tags and traditional form attributes.\n\nBecause Hwy replaces the **_full page_** on transitions by default, everything stays **_simple_**. You don't have to return different components from different endpoints (unless you want to).\n\nAnd best of all, **_anything you can do with Hono or HTMX, you can do with Hwy_**.\n\n## Features\n\n- Server-rendered JSX / TSX\n- Nested, file-based routing\n- Remix-style actions and parallel loaders\n- Async page components\n- Rich Hono middleware ecosystem\n- 100% type-safe\n- Server built on Hono\n- Client built on HTMX\n- Built-in critical CSS inlining\n- Live browser refresh during development\n- And more...\n\n## Guiding Principles\n\n- No speed limits\n- Numerous off-ramps\n- Smooth, safe roads\n- Clear traffic signs\n\n## Simple usage\n\nBelow is an example of a simple Hwy page. You'll notice it looks a lot like Remix, and you're right! Hwy is heavily inspired by Remix, but it uses HTMX instead of React.\n\n```tsx\n// src/pages/user/$user_id.page.tsx\n\nimport type { DataProps, PageProps } from \"hwy\";\nimport { UserProfile, getUser } from \"./somewhere.js\";\n\nexport async function loader({ params }: DataProps) {\n  return await getUser(params.user_id);\n}\n\nexport default async function ({ loaderData }: PageProps<typeof loader>) {\n  return <UserProfile user={loaderData} />;\n}\n```\n\nOr, if you prefer to fetch inside your components:\n\n```tsx\nexport default async function ({ params }: PageProps) {\n  const user = await getUser(params.user_id);\n\n  return <UserProfile user={user} />;\n}\n```\n\n## Get Started\n\nIf you want to dive right in, just open a terminal and run `npx create-hwy@latest` and follow the prompts.\n\nIf you'd prefer to read more first, take a peek at [our docs](https://hwy.dev/docs).\n\n## Acknowledgements\n\nHwy's APIs are obviously inspired by Remix. If Remix didn't exist, Hwy likely wouldn't exist either. Hwy doesn't use any Remix code, but it still owes a big thanks to the Remix team (past and present) for their top-tier patterns design. If you're building something huge and important today, use Remix.\n\n## Disclaimer\n\nHwy is in beta! Act accordingly.\n\n## License\n\nMIT License\n\nCopyright (c) 2023 Samuel J. Cook\n","readmeFilename":"README.md","gitHead":"35389fd241a11eecf38c5b16b855fc189156b623","_nodeVersion":"18.18.2","_npmVersion":"9.8.1","dist":{"integrity":"sha512-TRn0febpiTz5a4KF/YJ/i5ELbstbCXgoNu/e+3MbX1qCRem08EfMVgEwFx0JXftknDAdM55TWuDPUxGHq/sIvw==","shasum":"58f0e5b8d62b188b3f5764d5519b5e143bf24c95","tarball":"https://registry.npmjs.org/hwy/-/hwy-0.8.0-beta.7.tgz","fileCount":4,"unpackedSize":44161,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIDKFGZaz29mMsVLi+pwJj4soz1PYI/sBpk9k/oCSqNGgAiEAhFDZOFmbI4HdWawECJP8pM0CAWKBGPNSXED8568tI/c="}]},"_npmUser":{"name":"sjc5","email":"email@samcook.cc"},"directories":{},"maintainers":[{"name":"sjc5","email":"email@samcook.cc"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/hwy_0.8.0-beta.7_1701734542492_0.03592267566255769"},"_hasShrinkwrap":false},"0.0.0-beta.0":{"name":"hwy","version":"0.0.0-beta.0","author":{"name":"Samuel J. Cook"},"license":"MIT","description":"Simple, lightweight, and flexible web framework, built on Hono and HTMX.","type":"module","exports":{".":"./dist/index.js"},"scripts":{"build":"rm -rf dist && tsup-node index.ts --format esm --dts","lint":"tsc","dev":"rm -rf dist && tsup-node index.ts --format esm --dts --watch --sourcemap","publish-beta":"npm publish --tag beta","publish-non-beta":"npm publish","update-latest":"pnpm update --latest","typecheck":"tsc --noEmit"},"devDependencies":{"@hono/node-server":"^1.3.1","@hwy-js/build":"workspace:*","@hwy-js/dev":"workspace:*","@types/node":"^20.10.4","devalue":"^4.3.2","hono":"^3.11.3","preact":"^10.19.3","preact-render-to-string":"^6.3.1","tsup":"^8.0.1"},"peerDependencies":{"hono":"^3.11.1"},"repository":{"type":"git","url":"git+https://github.com/hwy-js/hwy.git","directory":"packages/core"},"homepage":"https://hwy.dev","bugs":{"url":"https://github.com/hwy-js/hwy/issues"},"keywords":["simple","lightweight","flexible","framework","metaframework","web","typescript","htmx","hono","router","nested","routing","jsx","tsx","nextjs","remix"],"sideEffects":false,"_id":"hwy@0.0.0-beta.0","readme":"# Hwy\n\nHwy is a simple, lightweight, and flexible web framework, built on Hono and HTMX.\n\n<a href=\"https://pkg-size.dev/hwy\" target=\"_blank\">\n  <img\n    width=\"112\"\n    height=\"20\"\n    style=\"background:darkgray;border-radius:4px;\"\n    src=\"https://pkg-size.dev/badge/bundle/11742\"\n    title=\"Bundle size for hwy\"\n  />\n</a>\n\n## Quick Start\n\n```bash\nnpx create-hwy@latest\n```\n\n## What is Hwy?\n\nHwy is a lot like NextJS or Remix, but it uses **_HTMX_** instead of React on the frontend.\n\nHwy lets you write **_React-style JSX_** in **_nested, file-based routes_**, with **_Remix-style actions and parallel loaders_**.\n\nThe backend server is built on **_Hono_**, so you have access to a rich, growing ecosystem with lots of middleware and wonderful docs.\n\nHwy is **_100% server-rendered_**, but with the HTMX defaults Hwy sets up for you out of the box, your app still **_feels like an SPA_**.\n\nLinks and forms are automatically **_progressively enhanced_** thanks to HTMX's `hx-boost` feature. Just use normal anchor tags and traditional form attributes.\n\nBecause Hwy replaces the **_full page_** on transitions by default, everything stays **_simple_**. You don't have to return different components from different endpoints (unless you want to).\n\nAnd best of all, **_anything you can do with Hono or HTMX, you can do with Hwy_**.\n\n## Features\n\n- Server-rendered JSX / TSX\n- Nested, file-based routing\n- Remix-style actions and parallel loaders\n- Rich Hono middleware ecosystem\n- 100% type-safe\n- Server built on Hono\n- Client built on HTMX\n- Built-in critical CSS inlining\n- Live browser refresh during development\n- And more...\n\n## Guiding Principles\n\n- No speed limits\n- Numerous off-ramps\n- Smooth, safe roads\n- Clear traffic signs\n\n## Simple usage\n\nBelow is an example of a simple Hwy page. You'll notice it looks a lot like Remix, and you're right! Hwy is heavily inspired by Remix, but it uses HTMX instead of React.\n\n```tsx\n// src/pages/user/$user_id.page.tsx\n\nimport type { DataProps, PageProps } from \"hwy\";\nimport { UserProfile, getUser } from \"./somewhere.js\";\n\nexport async function loader({ params }: DataProps) {\n  return await getUser(params.user_id);\n}\n\nexport default function ({ loaderData }: PageProps<typeof loader>) {\n  return <UserProfile user={loaderData} />;\n}\n```\n\n## Get Started\n\nIf you want to dive right in, just open a terminal and run `npx create-hwy@latest` and follow the prompts.\n\nIf you'd prefer to read more first, take a peek at [our docs](https://hwy.dev/docs).\n\n## Acknowledgements\n\nHwy's APIs are obviously inspired by Remix. If Remix didn't exist, Hwy likely wouldn't exist either. Hwy doesn't use any Remix code, but it still owes a big thanks to the Remix team (past and present) for their top-tier patterns design. If you're building something huge and important today, use Remix.\n\n## Disclaimer\n\nHwy is in beta! Act accordingly.\n\n## License\n\nMIT License\n\nCopyright (c) 2023 Samuel J. Cook\n","readmeFilename":"README.md","gitHead":"bee58e4d1de0dcd40d089a73fe4ade9ecdc395f2","_nodeVersion":"18.18.2","_npmVersion":"9.8.1","dist":{"integrity":"sha512-aplLMkZrzy8nqSpX9JDv2bJ8ARHhCHN+fEbr/uuBdVAQtCrxbf55tsGZ/3QnOljSTNxPqdlBh1nVpZ+TQAjwLg==","shasum":"3481e17a084d1a6c4036f4e1366df39be9891ad0","tarball":"https://registry.npmjs.org/hwy/-/hwy-0.0.0-beta.0.tgz","fileCount":4,"unpackedSize":44625,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCv8PbmZcH9KERaAsA3fSmgYJLopMB+Q4ZR3Hw6bJVnhwIgPIWR5CyZ5vWoWgLCZTxB62DF0dCd0GI92YpCBxY+9TE="}]},"_npmUser":{"name":"sjc5","email":"email@samcook.cc"},"directories":{},"maintainers":[{"name":"sjc5","email":"email@samcook.cc"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/hwy_0.0.0-beta.0_1702258872079_0.8370828313141996"},"_hasShrinkwrap":false},"0.0.0-beta.1":{"name":"hwy","version":"0.0.0-beta.1","author":{"name":"Samuel J. Cook"},"license":"MIT","description":"Simple, lightweight, and flexible web framework, built on Hono and HTMX.","type":"module","exports":{".":"./dist/index.js"},"scripts":{"build":"rm -rf dist && tsup-node index.ts --format esm --dts","lint":"tsc","dev":"rm -rf dist && tsup-node index.ts --format esm --dts --watch --sourcemap","publish-beta":"npm publish --tag beta","publish-non-beta":"npm publish","update-latest":"pnpm update --latest","typecheck":"tsc --noEmit"},"devDependencies":{"@hono/node-server":"^1.3.1","@hwy-js/build":"workspace:*","@hwy-js/dev":"workspace:*","@types/node":"^20.10.4","devalue":"^4.3.2","hono":"^3.11.3","preact":"^10.19.3","preact-render-to-string":"^6.3.1","tsup":"^8.0.1"},"peerDependencies":{"hono":"^3.11.1"},"repository":{"type":"git","url":"git+https://github.com/hwy-js/hwy.git","directory":"packages/core"},"homepage":"https://hwy.dev","bugs":{"url":"https://github.com/hwy-js/hwy/issues"},"keywords":["simple","lightweight","flexible","framework","metaframework","web","typescript","htmx","hono","router","nested","routing","jsx","tsx","nextjs","remix"],"sideEffects":false,"_id":"hwy@0.0.0-beta.1","readme":"# Hwy\n\nHwy is a simple, lightweight, and flexible web framework, built on Hono and HTMX.\n\n<a href=\"https://pkg-size.dev/hwy\" target=\"_blank\">\n  <img\n    width=\"112\"\n    height=\"20\"\n    style=\"background:darkgray;border-radius:4px;\"\n    src=\"https://pkg-size.dev/badge/bundle/11742\"\n    title=\"Bundle size for hwy\"\n  />\n</a>\n\n## Quick Start\n\n```bash\nnpx create-hwy@latest\n```\n\n## What is Hwy?\n\nHwy is a lot like NextJS or Remix, but it uses **_HTMX_** instead of React on the frontend.\n\nHwy lets you write **_React-style JSX_** in **_nested, file-based routes_**, with **_Remix-style actions and parallel loaders_**.\n\nThe backend server is built on **_Hono_**, so you have access to a rich, growing ecosystem with lots of middleware and wonderful docs.\n\nHwy is **_100% server-rendered_**, but with the HTMX defaults Hwy sets up for you out of the box, your app still **_feels like an SPA_**.\n\nLinks and forms are automatically **_progressively enhanced_** thanks to HTMX's `hx-boost` feature. Just use normal anchor tags and traditional form attributes.\n\nBecause Hwy replaces the **_full page_** on transitions by default, everything stays **_simple_**. You don't have to return different components from different endpoints (unless you want to).\n\nAnd best of all, **_anything you can do with Hono or HTMX, you can do with Hwy_**.\n\n## Features\n\n- Server-rendered JSX / TSX\n- Nested, file-based routing\n- Remix-style actions and parallel loaders\n- Rich Hono middleware ecosystem\n- 100% type-safe\n- Server built on Hono\n- Client built on HTMX\n- Built-in critical CSS inlining\n- Live browser refresh during development\n- And more...\n\n## Guiding Principles\n\n- No speed limits\n- Numerous off-ramps\n- Smooth, safe roads\n- Clear traffic signs\n\n## Simple usage\n\nBelow is an example of a simple Hwy page. You'll notice it looks a lot like Remix, and you're right! Hwy is heavily inspired by Remix, but it uses HTMX instead of React.\n\n```tsx\n// src/pages/user/$user_id.page.tsx\n\nimport type { DataProps, PageProps } from \"hwy\";\nimport { UserProfile, getUser } from \"./somewhere.js\";\n\nexport async function loader({ params }: DataProps) {\n  return await getUser(params.user_id);\n}\n\nexport default function ({ loaderData }: PageProps<typeof loader>) {\n  return <UserProfile user={loaderData} />;\n}\n```\n\n## Get Started\n\nIf you want to dive right in, just open a terminal and run `npx create-hwy@latest` and follow the prompts.\n\nIf you'd prefer to read more first, take a peek at [our docs](https://hwy.dev/docs).\n\n## Acknowledgements\n\nHwy's APIs are obviously inspired by Remix. If Remix didn't exist, Hwy likely wouldn't exist either. Hwy doesn't use any Remix code, but it still owes a big thanks to the Remix team (past and present) for their top-tier patterns design. If you're building something huge and important today, use Remix.\n\n## Disclaimer\n\nHwy is in beta! Act accordingly.\n\n## License\n\nMIT License\n\nCopyright (c) 2023 Samuel J. Cook\n","readmeFilename":"README.md","gitHead":"ce95fe6c8f6ff1562d77fa4d67408792c81c5b77","_nodeVersion":"18.18.2","_npmVersion":"9.8.1","dist":{"integrity":"sha512-HgYE2Oo5xJsMhrXeVP73yADXdgful/lIgP+c9FgaKxVzB8o7hcpNDTvUxOc3xTRvzObOfvhprcWZQ8iMsQObbQ==","shasum":"dac7462eacb6535d2df10be7506133bf219b0796","tarball":"https://registry.npmjs.org/hwy/-/hwy-0.0.0-beta.1.tgz","fileCount":4,"unpackedSize":44643,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIDC8rLaz8tWLkFNtpJIXtdfN1p3EocOWmIpyxVaAJCJqAiAQ8DnToFUIGE9uaOz1VPMhnT7XSlt4ELNjIl2R2dRg4Q=="}]},"_npmUser":{"name":"sjc5","email":"email@samcook.cc"},"directories":{},"maintainers":[{"name":"sjc5","email":"email@samcook.cc"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/hwy_0.0.0-beta.1_1702261099704_0.4412641429977453"},"_hasShrinkwrap":false},"0.0.0-beta.2":{"name":"hwy","version":"0.0.0-beta.2","author":{"name":"Samuel J. Cook"},"license":"MIT","description":"Simple, lightweight, and flexible web framework, built on Hono and HTMX.","type":"module","exports":{".":"./dist/index.js"},"scripts":{"build":"rm -rf dist && tsup-node index.ts --format esm --dts","lint":"tsc","dev":"rm -rf dist && tsup-node index.ts --format esm --dts --watch --sourcemap","publish-beta":"npm publish --tag beta","publish-non-beta":"npm publish","update-latest":"pnpm update --latest","typecheck":"tsc --noEmit"},"devDependencies":{"@hono/node-server":"^1.3.1","@hwy-js/build":"workspace:*","@hwy-js/dev":"workspace:*","@types/node":"^20.10.4","devalue":"^4.3.2","hono":"^3.11.3","preact":"^10.19.3","preact-render-to-string":"^6.3.1","tsup":"^8.0.1"},"peerDependencies":{"hono":"^3.11.1"},"repository":{"type":"git","url":"git+https://github.com/hwy-js/hwy.git","directory":"packages/core"},"homepage":"https://hwy.dev","bugs":{"url":"https://github.com/hwy-js/hwy/issues"},"keywords":["simple","lightweight","flexible","framework","metaframework","web","typescript","htmx","hono","router","nested","routing","jsx","tsx","nextjs","remix"],"sideEffects":false,"_id":"hwy@0.0.0-beta.2","readme":"# Hwy\n\nHwy is a simple, lightweight, and flexible web framework, built on Hono and HTMX.\n\n<a href=\"https://pkg-size.dev/hwy\" target=\"_blank\">\n  <img\n    width=\"112\"\n    height=\"20\"\n    style=\"background:darkgray;border-radius:4px;\"\n    src=\"https://pkg-size.dev/badge/bundle/11742\"\n    title=\"Bundle size for hwy\"\n  />\n</a>\n\n## Quick Start\n\n```bash\nnpx create-hwy@latest\n```\n\n## What is Hwy?\n\nHwy is a lot like NextJS or Remix, but it uses **_HTMX_** instead of React on the frontend.\n\nHwy lets you write **_React-style JSX_** in **_nested, file-based routes_**, with **_Remix-style actions and parallel loaders_**.\n\nThe backend server is built on **_Hono_**, so you have access to a rich, growing ecosystem with lots of middleware and wonderful docs.\n\nHwy is **_100% server-rendered_**, but with the HTMX defaults Hwy sets up for you out of the box, your app still **_feels like an SPA_**.\n\nLinks and forms are automatically **_progressively enhanced_** thanks to HTMX's `hx-boost` feature. Just use normal anchor tags and traditional form attributes.\n\nBecause Hwy replaces the **_full page_** on transitions by default, everything stays **_simple_**. You don't have to return different components from different endpoints (unless you want to).\n\nAnd best of all, **_anything you can do with Hono or HTMX, you can do with Hwy_**.\n\n## Features\n\n- Server-rendered JSX / TSX\n- Nested, file-based routing\n- Remix-style actions and parallel loaders\n- Rich Hono middleware ecosystem\n- 100% type-safe\n- Server built on Hono\n- Client built on HTMX\n- Built-in critical CSS inlining\n- Live browser refresh during development\n- And more...\n\n## Guiding Principles\n\n- No speed limits\n- Numerous off-ramps\n- Smooth, safe roads\n- Clear traffic signs\n\n## Simple usage\n\nBelow is an example of a simple Hwy page. You'll notice it looks a lot like Remix, and you're right! Hwy is heavily inspired by Remix, but it uses HTMX instead of React.\n\n```tsx\n// src/pages/user/$user_id.page.tsx\n\nimport type { DataProps, PageProps } from \"hwy\";\nimport { UserProfile, getUser } from \"./somewhere.js\";\n\nexport async function loader({ params }: DataProps) {\n  return await getUser(params.user_id);\n}\n\nexport default function ({ loaderData }: PageProps<typeof loader>) {\n  return <UserProfile user={loaderData} />;\n}\n```\n\n## Get Started\n\nIf you want to dive right in, just open a terminal and run `npx create-hwy@latest` and follow the prompts.\n\nIf you'd prefer to read more first, take a peek at [our docs](https://hwy.dev/docs).\n\n## Acknowledgements\n\nHwy's APIs are obviously inspired by Remix. If Remix didn't exist, Hwy likely wouldn't exist either. Hwy doesn't use any Remix code, but it still owes a big thanks to the Remix team (past and present) for their top-tier patterns design. If you're building something huge and important today, use Remix.\n\n## Disclaimer\n\nHwy is in beta! Act accordingly.\n\n## License\n\nMIT License\n\nCopyright (c) 2023 Samuel J. Cook\n","readmeFilename":"README.md","gitHead":"8e376f8dd276f15b470d100d309934c2d1cdc49e","_nodeVersion":"18.18.2","_npmVersion":"9.8.1","dist":{"integrity":"sha512-UcA9JpNJ683ZrL5aF6oFdNrg+iECMxVSbMzXOuZcPmOw5bedulb2TO/xY6zXCCpgcd1EkRrviFuFPpjKn+ed6g==","shasum":"8a36cc20079b6795057ab35aafb99c7af619a6c4","tarball":"https://registry.npmjs.org/hwy/-/hwy-0.0.0-beta.2.tgz","fileCount":4,"unpackedSize":45486,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDVJb+D4ikGtEk+W9xytVtSjLJ6D+smnrVWcrL/32eJCgIhAOB+BKzlZAGjt5UZEvBgxqh4n9e1KkZd3sOizm7AZcSb"}]},"_npmUser":{"name":"sjc5","email":"email@samcook.cc"},"directories":{},"maintainers":[{"name":"sjc5","email":"email@samcook.cc"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/hwy_0.0.0-beta.2_1702281831688_0.22022903069334832"},"_hasShrinkwrap":false},"0.0.0-beta.3":{"name":"hwy","version":"0.0.0-beta.3","author":{"name":"Samuel J. Cook"},"license":"MIT","description":"Simple, lightweight, and flexible web framework, built on Hono and HTMX.","type":"module","exports":{".":"./dist/index.js"},"scripts":{"build":"rm -rf dist && tsup-node index.ts --format esm --dts","lint":"tsc","dev":"rm -rf dist && tsup-node index.ts --format esm --dts --watch --sourcemap","publish-beta":"npm publish --tag beta","publish-non-beta":"npm publish","update-latest":"pnpm update --latest","typecheck":"tsc --noEmit"},"devDependencies":{"@hono/node-server":"^1.3.1","@hwy-js/build":"workspace:*","@hwy-js/dev":"workspace:*","@types/node":"^20.10.4","devalue":"^4.3.2","hono":"^3.11.3","preact":"^10.19.3","preact-render-to-string":"^6.3.1","tsup":"^8.0.1"},"peerDependencies":{"hono":"^3.11.1"},"repository":{"type":"git","url":"git+https://github.com/hwy-js/hwy.git","directory":"packages/core"},"homepage":"https://hwy.dev","bugs":{"url":"https://github.com/hwy-js/hwy/issues"},"keywords":["simple","lightweight","flexible","framework","metaframework","web","typescript","htmx","hono","router","nested","routing","jsx","tsx","nextjs","remix"],"sideEffects":false,"_id":"hwy@0.0.0-beta.3","readme":"# Hwy\n\nHwy is a simple, lightweight, and flexible web framework, built on Hono and HTMX.\n\n<a href=\"https://pkg-size.dev/hwy\" target=\"_blank\">\n  <img\n    width=\"112\"\n    height=\"20\"\n    style=\"background:darkgray;border-radius:4px;\"\n    src=\"https://pkg-size.dev/badge/bundle/11742\"\n    title=\"Bundle size for hwy\"\n  />\n</a>\n\n## Quick Start\n\n```bash\nnpx create-hwy@latest\n```\n\n## What is Hwy?\n\nHwy is a lot like NextJS or Remix, but it uses **_HTMX_** instead of React on the frontend.\n\nHwy lets you write **_React-style JSX_** in **_nested, file-based routes_**, with **_Remix-style actions and parallel loaders_**.\n\nThe backend server is built on **_Hono_**, so you have access to a rich, growing ecosystem with lots of middleware and wonderful docs.\n\nHwy is **_100% server-rendered_**, but with the HTMX defaults Hwy sets up for you out of the box, your app still **_feels like an SPA_**.\n\nLinks and forms are automatically **_progressively enhanced_** thanks to HTMX's `hx-boost` feature. Just use normal anchor tags and traditional form attributes.\n\nBecause Hwy replaces the **_full page_** on transitions by default, everything stays **_simple_**. You don't have to return different components from different endpoints (unless you want to).\n\nAnd best of all, **_anything you can do with Hono or HTMX, you can do with Hwy_**.\n\n## Features\n\n- Server-rendered JSX / TSX\n- Nested, file-based routing\n- Remix-style actions and parallel loaders\n- Rich Hono middleware ecosystem\n- 100% type-safe\n- Server built on Hono\n- Client built on HTMX\n- Built-in critical CSS inlining\n- Live browser refresh during development\n- And more...\n\n## Guiding Principles\n\n- No speed limits\n- Numerous off-ramps\n- Smooth, safe roads\n- Clear traffic signs\n\n## Simple usage\n\nBelow is an example of a simple Hwy page. You'll notice it looks a lot like Remix, and you're right! Hwy is heavily inspired by Remix, but it uses HTMX instead of React.\n\n```tsx\n// src/pages/user/$user_id.page.tsx\n\nimport type { DataProps, PageProps } from \"hwy\";\nimport { UserProfile, getUser } from \"./somewhere.js\";\n\nexport async function loader({ params }: DataProps) {\n  return await getUser(params.user_id);\n}\n\nexport default function ({ loaderData }: PageProps<typeof loader>) {\n  return <UserProfile user={loaderData} />;\n}\n```\n\n## Get Started\n\nIf you want to dive right in, just open a terminal and run `npx create-hwy@latest` and follow the prompts.\n\nIf you'd prefer to read more first, take a peek at [our docs](https://hwy.dev/docs).\n\n## Acknowledgements\n\nHwy's APIs are obviously inspired by Remix. If Remix didn't exist, Hwy likely wouldn't exist either. Hwy doesn't use any Remix code, but it still owes a big thanks to the Remix team (past and present) for their top-tier patterns design. If you're building something huge and important today, use Remix.\n\n## Disclaimer\n\nHwy is in beta! Act accordingly.\n\n## License\n\nMIT License\n\nCopyright (c) 2023 Samuel J. Cook\n","readmeFilename":"README.md","gitHead":"41056c41254c2ce746837827c271a033842448a7","_nodeVersion":"18.18.2","_npmVersion":"9.8.1","dist":{"integrity":"sha512-rMrbHMqkTcj5L2w6XYJn5GPWzw5i6je/OamH2cGwg9wrLcraM9uwoG3qLmSBRQV0bt0Delqwa25Az5ZXSO+tJg==","shasum":"84b3eed39c6e0bc915350e53b4a5e309cb09fb8b","tarball":"https://registry.npmjs.org/hwy/-/hwy-0.0.0-beta.3.tgz","fileCount":4,"unpackedSize":45486,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDSGbvQIytsu3raGikkP8ptKzRGCtJovFEfPv4DIFe6KQIhANu73MI/nfOd0XJU4DGy+7X2TezOucdXLOqPFiTAZ+IA"}]},"_npmUser":{"name":"sjc5","email":"email@samcook.cc"},"directories":{},"maintainers":[{"name":"sjc5","email":"email@samcook.cc"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/hwy_0.0.0-beta.3_1702282646430_0.2479292346917179"},"_hasShrinkwrap":false},"0.7.1-beta.13":{"name":"hwy","version":"0.7.1-beta.13","author":{"name":"Samuel J. Cook"},"license":"MIT","description":"Simple, lightweight, and flexible web framework, built on Hono and HTMX.","type":"module","main":"dist/index.js","scripts":{"build":"rm -rf dist && tsup-node index.ts --format esm --dts","lint":"tsc","dev":"rm -rf dist && tsup-node index.ts --format esm --dts --watch --sourcemap","publish-beta":"npm publish --tag beta","publish-non-beta":"npm publish","update-latest":"pnpm update --latest","typecheck":"tsc --noEmit"},"devDependencies":{"@hono/node-server":"^1.2.3","@hwy-js/build":"workspace:*","@hwy-js/dev":"workspace:*","@types/node":"^20.9.0","hono":"^3.10.1","tsup":"^7.2.0"},"peerDependencies":{"hono":"^3.10.0"},"repository":{"type":"git","url":"git+https://github.com/hwy-js/hwy.git","directory":"packages/core"},"homepage":"https://hwy.dev","bugs":{"url":"https://github.com/hwy-js/hwy/issues"},"keywords":["simple","lightweight","flexible","framework","metaframework","web","typescript","htmx","hono","router","nested","routing","jsx","tsx","nextjs","remix"],"_id":"hwy@0.7.1-beta.13","readme":"# Hwy\n\nHwy is a simple, lightweight, and flexible web framework, built on Hono and HTMX.\n\n<a href=\"https://pkg-size.dev/hwy\" target=\"_blank\">\n  <img\n    width=\"112\"\n    height=\"20\"\n    style=\"background:darkgray;border-radius:4px;\"\n    src=\"https://pkg-size.dev/badge/bundle/11742\"\n    title=\"Bundle size for hwy\"\n  />\n</a>\n\n## Quick Start\n\n```bash\nnpx create-hwy@latest\n```\n\n## What is Hwy?\n\nHwy is a lot like NextJS or Remix, but it uses **_HTMX_** instead of React on the frontend.\n\nHwy lets you write **_React-style JSX_** in **_nested, file-based routes_**, with **_Remix-style actions and parallel loaders_**.\n\nPage components are async, so you can even **_fetch data in JSX_** if you want to (just be careful with waterfalls).\n\nThe backend server is built on **_Hono_**, so you have access to a rich, growing ecosystem with lots of middleware and wonderful docs.\n\nHwy is **_100% server-rendered_**, but with the HTMX defaults Hwy sets up for you out of the box, your app still **_feels like an SPA_**.\n\nLinks and forms are automatically **_progressively enhanced_** thanks to HTMX's `hx-boost` feature. Just use normal anchor tags and traditional form attributes.\n\nBecause Hwy replaces the **_full page_** on transitions by default, everything stays **_simple_**. You don't have to return different components from different endpoints (unless you want to).\n\nAnd best of all, **_anything you can do with Hono or HTMX, you can do with Hwy_**.\n\n## Features\n\n- Server-rendered JSX / TSX\n- Nested, file-based routing\n- Remix-style actions and parallel loaders\n- Async page components\n- Rich Hono middleware ecosystem\n- 100% type-safe\n- Server built on Hono\n- Client built on HTMX\n- Built-in critical CSS inlining\n- Live browser refresh during development\n- And more...\n\n## Guiding Principles\n\n- No speed limits\n- Numerous off-ramps\n- Smooth, safe roads\n- Clear traffic signs\n\n## Simple usage\n\nBelow is an example of a simple Hwy page. You'll notice it looks a lot like Remix, and you're right! Hwy is heavily inspired by Remix, but it uses HTMX instead of React.\n\n```tsx\n// src/pages/user/$user_id.page.tsx\n\nimport type { DataProps, PageProps } from \"hwy\";\nimport { UserProfile, getUser } from \"./somewhere.js\";\n\nexport async function loader({ params }: DataProps) {\n  return await getUser(params.user_id);\n}\n\nexport default async function ({ loaderData }: PageProps<typeof loader>) {\n  return <UserProfile user={loaderData} />;\n}\n```\n\nOr, if you prefer to fetch inside your components:\n\n```tsx\nexport default async function ({ params }: PageProps) {\n  const user = await getUser(params.user_id);\n\n  return <UserProfile user={user} />;\n}\n```\n\n## Get Started\n\nIf you want to dive right in, just open a terminal and run `npx create-hwy@latest` and follow the prompts.\n\nIf you'd prefer to read more first, take a peek at [our docs](https://hwy.dev/docs).\n\n## Acknowledgements\n\nHwy's APIs are obviously inspired by Remix. If Remix didn't exist, Hwy likely wouldn't exist either. Hwy doesn't use any Remix code, but it still owes a big thanks to the Remix team (past and present) for their top-tier patterns design. If you're building something huge and important today, use Remix.\n\n## Disclaimer\n\nHwy is in beta! Act accordingly.\n\n## License\n\nMIT License\n\nCopyright (c) 2023 Samuel J. Cook\n","readmeFilename":"README.md","gitHead":"440681814e379c8773640a48dd02837da2b92908","types":"./dist/index.d.ts","_nodeVersion":"18.18.2","_npmVersion":"9.8.1","dist":{"integrity":"sha512-gMdSuLoQXNYJ349T/QpM4RoiiFLaf/3JmWmiMrSKlX7P8nPWMDc+bbx0dv+B7GKqoE7fmwPi/4IGvpaDkkqVBA==","shasum":"d8632d39a1dad39507d743bd7b494d91f3de5b1a","tarball":"https://registry.npmjs.org/hwy/-/hwy-0.7.1-beta.13.tgz","fileCount":4,"unpackedSize":40259,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDIxZO1B2Rf2mu/bMG4M/gkSubt11egoV3TuSHcDSzddQIhAItBHL715iCD6mr3FnP1ymunFVXB64+L+AZBowWiSvBf"}]},"_npmUser":{"name":"sjc5","email":"email@samcook.cc"},"directories":{},"maintainers":[{"name":"sjc5","email":"email@samcook.cc"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/hwy_0.7.1-beta.13_1702538874647_0.2627544013220118"},"_hasShrinkwrap":false},"0.7.2-beta.13":{"name":"hwy","version":"0.7.2-beta.13","author":{"name":"Samuel J. Cook"},"license":"MIT","description":"Simple, lightweight, and flexible web framework, built on Hono and HTMX.","type":"module","main":"dist/index.js","scripts":{"build":"rm -rf dist && tsup-node index.ts --format esm --dts","lint":"tsc","dev":"rm -rf dist && tsup-node index.ts --format esm --dts --watch --sourcemap","publish-beta":"npm publish --tag beta","publish-non-beta":"npm publish","update-latest":"pnpm update --latest","typecheck":"tsc --noEmit"},"devDependencies":{"@hono/node-server":"^1.2.3","@hwy-js/build":"workspace:*","@hwy-js/dev":"workspace:*","@types/node":"^20.9.0","hono":"^3.10.1","tsup":"^7.2.0"},"peerDependencies":{"hono":"^3.10.0"},"repository":{"type":"git","url":"git+https://github.com/hwy-js/hwy.git","directory":"packages/core"},"homepage":"https://hwy.dev","bugs":{"url":"https://github.com/hwy-js/hwy/issues"},"keywords":["simple","lightweight","flexible","framework","metaframework","web","typescript","htmx","hono","router","nested","routing","jsx","tsx","nextjs","remix"],"_id":"hwy@0.7.2-beta.13","readme":"# Hwy\n\nHwy is a simple, lightweight, and flexible web framework, built on Hono and HTMX.\n\n<a href=\"https://pkg-size.dev/hwy\" target=\"_blank\">\n  <img\n    width=\"112\"\n    height=\"20\"\n    style=\"background:darkgray;border-radius:4px;\"\n    src=\"https://pkg-size.dev/badge/bundle/11742\"\n    title=\"Bundle size for hwy\"\n  />\n</a>\n\n## Quick Start\n\n```bash\nnpx create-hwy@latest\n```\n\n## What is Hwy?\n\nHwy is a lot like NextJS or Remix, but it uses **_HTMX_** instead of React on the frontend.\n\nHwy lets you write **_React-style JSX_** in **_nested, file-based routes_**, with **_Remix-style actions and parallel loaders_**.\n\nPage components are async, so you can even **_fetch data in JSX_** if you want to (just be careful with waterfalls).\n\nThe backend server is built on **_Hono_**, so you have access to a rich, growing ecosystem with lots of middleware and wonderful docs.\n\nHwy is **_100% server-rendered_**, but with the HTMX defaults Hwy sets up for you out of the box, your app still **_feels like an SPA_**.\n\nLinks and forms are automatically **_progressively enhanced_** thanks to HTMX's `hx-boost` feature. Just use normal anchor tags and traditional form attributes.\n\nBecause Hwy replaces the **_full page_** on transitions by default, everything stays **_simple_**. You don't have to return different components from different endpoints (unless you want to).\n\nAnd best of all, **_anything you can do with Hono or HTMX, you can do with Hwy_**.\n\n## Features\n\n- Server-rendered JSX / TSX\n- Nested, file-based routing\n- Remix-style actions and parallel loaders\n- Async page components\n- Rich Hono middleware ecosystem\n- 100% type-safe\n- Server built on Hono\n- Client built on HTMX\n- Built-in critical CSS inlining\n- Live browser refresh during development\n- And more...\n\n## Guiding Principles\n\n- No speed limits\n- Numerous off-ramps\n- Smooth, safe roads\n- Clear traffic signs\n\n## Simple usage\n\nBelow is an example of a simple Hwy page. You'll notice it looks a lot like Remix, and you're right! Hwy is heavily inspired by Remix, but it uses HTMX instead of React.\n\n```tsx\n// src/pages/user/$user_id.page.tsx\n\nimport type { DataProps, PageProps } from \"hwy\";\nimport { UserProfile, getUser } from \"./somewhere.js\";\n\nexport async function loader({ params }: DataProps) {\n  return await getUser(params.user_id);\n}\n\nexport default async function ({ loaderData }: PageProps<typeof loader>) {\n  return <UserProfile user={loaderData} />;\n}\n```\n\nOr, if you prefer to fetch inside your components:\n\n```tsx\nexport default async function ({ params }: PageProps) {\n  const user = await getUser(params.user_id);\n\n  return <UserProfile user={user} />;\n}\n```\n\n## Get Started\n\nIf you want to dive right in, just open a terminal and run `npx create-hwy@latest` and follow the prompts.\n\nIf you'd prefer to read more first, take a peek at [our docs](https://hwy.dev/docs).\n\n## Acknowledgements\n\nHwy's APIs are obviously inspired by Remix. If Remix didn't exist, Hwy likely wouldn't exist either. Hwy doesn't use any Remix code, but it still owes a big thanks to the Remix team (past and present) for their top-tier patterns design. If you're building something huge and important today, use Remix.\n\n## Disclaimer\n\nHwy is in beta! Act accordingly.\n\n## License\n\nMIT License\n\nCopyright (c) 2023 Samuel J. Cook\n","readmeFilename":"README.md","gitHead":"440681814e379c8773640a48dd02837da2b92908","types":"./dist/index.d.ts","_nodeVersion":"18.18.2","_npmVersion":"9.8.1","dist":{"integrity":"sha512-reuVzy/azVin/S4TQc+dDk6xuDt1X7B1ZBFq+dKXfXyet396yQwCFalijXK5j/V+m+h+1dzUJm3kNqLeuVc6mA==","shasum":"4da1fba0a4ab8a32ab59b88262009f9ccd83ebf3","tarball":"https://registry.npmjs.org/hwy/-/hwy-0.7.2-beta.13.tgz","fileCount":4,"unpackedSize":40259,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDy6gpHVubmQFnqZsw/RH/EK+ohJQoX1Ckb/fCdOuekxgIgK9sa5wioAiCy7TP+nv189Ig3ZAgxOc12Y2Hx1C/kAjc="}]},"_npmUser":{"name":"sjc5","email":"email@samcook.cc"},"directories":{},"maintainers":[{"name":"sjc5","email":"email@samcook.cc"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/hwy_0.7.2-beta.13_1702538938413_0.6414056682502898"},"_hasShrinkwrap":false},"0.7.2":{"name":"hwy","version":"0.7.2","author":{"name":"Samuel J. Cook"},"license":"MIT","description":"Simple, lightweight, and flexible web framework, built on Hono and HTMX.","type":"module","main":"dist/index.js","scripts":{"build":"rm -rf dist && tsup-node index.ts --format esm --dts","lint":"tsc","dev":"rm -rf dist && tsup-node index.ts --format esm --dts --watch --sourcemap","publish-beta":"npm publish --tag beta","publish-non-beta":"npm publish","update-latest":"pnpm update --latest","typecheck":"tsc --noEmit"},"devDependencies":{"@hono/node-server":"^1.2.3","@hwy-js/build":"workspace:*","@hwy-js/dev":"workspace:*","@types/node":"^20.9.0","hono":"^3.10.1","tsup":"^7.2.0"},"peerDependencies":{"hono":"^3.10.0"},"repository":{"type":"git","url":"git+https://github.com/hwy-js/hwy.git","directory":"packages/core"},"homepage":"https://hwy.dev","bugs":{"url":"https://github.com/hwy-js/hwy/issues"},"keywords":["simple","lightweight","flexible","framework","metaframework","web","typescript","htmx","hono","router","nested","routing","jsx","tsx","nextjs","remix"],"_id":"hwy@0.7.2","gitHead":"440681814e379c8773640a48dd02837da2b92908","types":"./dist/index.d.ts","_nodeVersion":"18.18.2","_npmVersion":"9.8.1","dist":{"integrity":"sha512-7PyNtmDhdp6e+Adwm/CEU67yabuZLSBlRrfR7vxVk6ya/HvFLaDQmjO4t0to7sVrkKpIol2UNDHn7kVN3HK5Vg==","shasum":"90097b8db275099e16d5c68f7be5e24fe32a6923","tarball":"https://registry.npmjs.org/hwy/-/hwy-0.7.2.tgz","fileCount":4,"unpackedSize":40251,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQD8EvKC+5mwpBmATbUSU8o8pbD+WNfwTM2hxgQj02DsRAIgDDBt0a1ae2xKfxliVMdbNCSGDDnUgJhHfFQplLyfe00="}]},"_npmUser":{"name":"sjc5","email":"email@samcook.cc"},"directories":{},"maintainers":[{"name":"sjc5","email":"email@samcook.cc"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/hwy_0.7.2_1702539144409_0.22822114106383018"},"_hasShrinkwrap":false},"0.0.0-beta.4":{"name":"hwy","version":"0.0.0-beta.4","author":{"name":"Samuel J. Cook"},"license":"MIT","description":"Simple, lightweight, and flexible web framework, built on Hono and HTMX.","type":"module","exports":{".":"./dist/index.js"},"scripts":{"build":"rm -rf dist && tsup-node index.ts --format esm --dts","dev":"rm -rf dist && tsup-node index.ts --format esm --dts --watch","publish-beta":"npm publish --tag beta","publish-non-beta":"npm publish","update-latest":"pnpm update --latest","typecheck":"tsc"},"dependencies":{"devalue":"^4.3.2","preact-render-to-string":"^6.3.1"},"devDependencies":{"@hono/node-server":"^1.3.3","@hwy-js/build":"workspace:*","@hwy-js/dev":"workspace:*","@types/node":"^20.10.4","hono":"^3.11.7","preact":"^10.19.3","tsup":"^8.0.1"},"peerDependencies":{"hono":"^3.11.1","preact":"^10.19.3"},"repository":{"type":"git","url":"git+https://github.com/hwy-js/hwy.git","directory":"packages/core"},"homepage":"https://hwy.dev","bugs":{"url":"https://github.com/hwy-js/hwy/issues"},"keywords":["simple","lightweight","flexible","framework","metaframework","web","typescript","hono","router","nested","routing","jsx","tsx","nextjs","remix","react","preact","signals"],"sideEffects":false,"_id":"hwy@0.0.0-beta.4","readme":"# Hwy\n\nHwy is a simple, lightweight, and flexible web framework, built on Hono and\nHTMX.\n\n<a href=\"https://pkg-size.dev/hwy\" target=\"_blank\">\n  <img\n    width=\"112\"\n    height=\"20\"\n    style=\"background:darkgray;border-radius:4px;\"\n    src=\"https://pkg-size.dev/badge/bundle/11742\"\n    title=\"Bundle size for hwy\"\n  />\n</a>\n\n## Quick Start\n\n```bash\nnpx create-hwy@latest\n```\n\n## What is Hwy?\n\nHwy is a lot like NextJS or Remix, but it uses **_HTMX_** instead of React on\nthe frontend.\n\nHwy lets you write **_React-style JSX_** in **_nested, file-based routes_**,\nwith **_Remix-style actions and parallel loaders_**.\n\nThe backend server is built on **_Hono_**, so you have access to a rich, growing\necosystem with lots of middleware and wonderful docs.\n\nHwy is **_100% server-rendered_**, but with the HTMX defaults Hwy sets up for\nyou out of the box, your app still **_feels like an SPA_**.\n\nLinks and forms are automatically **_progressively enhanced_** thanks to HTMX's\n`hx-boost` feature. Just use normal anchor tags and traditional form attributes.\n\nBecause Hwy replaces the **_full page_** on transitions by default, everything\nstays **_simple_**. You don't have to return different components from different\nendpoints (unless you want to).\n\nAnd best of all, **_anything you can do with Hono or HTMX, you can do with\nHwy_**.\n\n## Features\n\n- Server-rendered JSX / TSX\n- Nested, file-based routing\n- Remix-style actions and parallel loaders\n- Rich Hono middleware ecosystem\n- 100% type-safe\n- Server built on Hono\n- Client built on HTMX\n- Built-in critical CSS inlining\n- Live browser refresh during development\n- And more...\n\n## Guiding Principles\n\n- No speed limits\n- Numerous off-ramps\n- Smooth, safe roads\n- Clear traffic signs\n\n## Simple usage\n\nBelow is an example of a simple Hwy page. You'll notice it looks a lot like\nRemix, and you're right! Hwy is heavily inspired by Remix, but it uses HTMX\ninstead of React.\n\n```tsx\n// src/pages/user/$user_id.page.tsx\n\nimport type { DataProps, PageProps } from \"hwy\";\nimport { UserProfile, getUser } from \"./somewhere.js\";\n\nexport async function loader({ params }: DataProps) {\n  return await getUser(params.user_id);\n}\n\nexport default function ({ loaderData }: PageProps<typeof loader>) {\n  return <UserProfile user={loaderData} />;\n}\n```\n\n## Get Started\n\nIf you want to dive right in, just open a terminal and run\n`npx create-hwy@latest` and follow the prompts.\n\nIf you'd prefer to read more first, take a peek at\n[our docs](https://hwy.dev/docs).\n\n## Acknowledgements\n\nHwy's APIs are obviously inspired by Remix. If Remix didn't exist, Hwy likely\nwouldn't exist either. Hwy doesn't use any Remix code, but it still owes a big\nthanks to the Remix team (past and present) for their top-tier patterns design.\nIf you're building something huge and important today, use Remix.\n\n## Disclaimer\n\nHwy is in beta! Act accordingly.\n\n## License\n\nMIT License\n\nCopyright (c) 2023 Samuel J. Cook\n","readmeFilename":"README.md","gitHead":"60c4d1390545ba8a5a1237f895fb047f1fb393a1","_nodeVersion":"18.18.2","_npmVersion":"9.8.1","dist":{"integrity":"sha512-qqlh6eKlJogPSm0gZHBHBOtPfPMbizc4sxwrqzZCzg1m1njhV3u6Sy+MpyV0VmmUjITqsjNmZezjNRCx0DHxoQ==","shasum":"374960812a829ede8ba45c24505271e73d1845cf","tarball":"https://registry.npmjs.org/hwy/-/hwy-0.0.0-beta.4.tgz","fileCount":4,"unpackedSize":48022,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCID+wa7sUyWKnlp+FZm/dUo61O8QSwA2iSOWW+TCi+3LcAiBkaS41LiIH/tIA4ny85XemcM7AiFKeq06siVLRvZF1bg=="}]},"_npmUser":{"name":"sjc5","email":"email@samcook.cc"},"directories":{},"maintainers":[{"name":"sjc5","email":"email@samcook.cc"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/hwy_0.0.0-beta.4_1702717634641_0.7449759016606778"},"_hasShrinkwrap":false},"0.0.0-beta.5":{"name":"hwy","version":"0.0.0-beta.5","author":{"name":"Samuel J. Cook"},"license":"MIT","description":"Simple, lightweight, and flexible web framework, built on Hono and HTMX.","type":"module","exports":{".":"./dist/index.js"},"scripts":{"build":"rm -rf dist && tsup-node index.ts --format esm --dts","dev":"rm -rf dist && tsup-node index.ts --format esm --dts --watch","publish-beta":"npm publish --tag beta","publish-non-beta":"npm publish","update-latest":"pnpm update --latest","typecheck":"tsc"},"dependencies":{"devalue":"^4.3.2","preact-render-to-string":"^6.3.1"},"devDependencies":{"@hono/node-server":"^1.3.3","@hwy-js/build":"workspace:*","@hwy-js/dev":"workspace:*","@types/node":"^20.10.4","hono":"^3.11.7","preact":"^10.19.3","tsup":"^8.0.1"},"peerDependencies":{"hono":"^3.11.1","preact":"^10.19.3"},"repository":{"type":"git","url":"git+https://github.com/hwy-js/hwy.git","directory":"packages/core"},"homepage":"https://hwy.dev","bugs":{"url":"https://github.com/hwy-js/hwy/issues"},"keywords":["simple","lightweight","flexible","framework","metaframework","web","typescript","hono","router","nested","routing","jsx","tsx","nextjs","remix","react","preact","signals"],"sideEffects":false,"_id":"hwy@0.0.0-beta.5","readme":"# Hwy\n\nHwy is a simple, lightweight, and flexible web framework, built on Hono and\nHTMX.\n\n<a href=\"https://pkg-size.dev/hwy\" target=\"_blank\">\n  <img\n    width=\"112\"\n    height=\"20\"\n    style=\"background:darkgray;border-radius:4px;\"\n    src=\"https://pkg-size.dev/badge/bundle/11742\"\n    title=\"Bundle size for hwy\"\n  />\n</a>\n\n## Quick Start\n\n```bash\nnpx create-hwy@latest\n```\n\n## What is Hwy?\n\nHwy is a lot like NextJS or Remix, but it uses **_HTMX_** instead of React on\nthe frontend.\n\nHwy lets you write **_React-style JSX_** in **_nested, file-based routes_**,\nwith **_Remix-style actions and parallel loaders_**.\n\nThe backend server is built on **_Hono_**, so you have access to a rich, growing\necosystem with lots of middleware and wonderful docs.\n\nHwy is **_100% server-rendered_**, but with the HTMX defaults Hwy sets up for\nyou out of the box, your app still **_feels like an SPA_**.\n\nLinks and forms are automatically **_progressively enhanced_** thanks to HTMX's\n`hx-boost` feature. Just use normal anchor tags and traditional form attributes.\n\nBecause Hwy replaces the **_full page_** on transitions by default, everything\nstays **_simple_**. You don't have to return different components from different\nendpoints (unless you want to).\n\nAnd best of all, **_anything you can do with Hono or HTMX, you can do with\nHwy_**.\n\n## Features\n\n- Server-rendered JSX / TSX\n- Nested, file-based routing\n- Remix-style actions and parallel loaders\n- Rich Hono middleware ecosystem\n- 100% type-safe\n- Server built on Hono\n- Client built on HTMX\n- Built-in critical CSS inlining\n- Live browser refresh during development\n- And more...\n\n## Guiding Principles\n\n- No speed limits\n- Numerous off-ramps\n- Smooth, safe roads\n- Clear traffic signs\n\n## Simple usage\n\nBelow is an example of a simple Hwy page. You'll notice it looks a lot like\nRemix, and you're right! Hwy is heavily inspired by Remix, but it uses HTMX\ninstead of React.\n\n```tsx\n// src/pages/user/$user_id.page.tsx\n\nimport type { DataProps, PageProps } from \"hwy\";\nimport { UserProfile, getUser } from \"./somewhere.js\";\n\nexport async function loader({ params }: DataProps) {\n  return await getUser(params.user_id);\n}\n\nexport default function ({ loaderData }: PageProps<typeof loader>) {\n  return <UserProfile user={loaderData} />;\n}\n```\n\n## Get Started\n\nIf you want to dive right in, just open a terminal and run\n`npx create-hwy@latest` and follow the prompts.\n\nIf you'd prefer to read more first, take a peek at\n[our docs](https://hwy.dev/docs).\n\n## Acknowledgements\n\nHwy's APIs are obviously inspired by Remix. If Remix didn't exist, Hwy likely\nwouldn't exist either. Hwy doesn't use any Remix code, but it still owes a big\nthanks to the Remix team (past and present) for their top-tier patterns design.\nIf you're building something huge and important today, use Remix.\n\n## Disclaimer\n\nHwy is in beta! Act accordingly.\n\n## License\n\nMIT License\n\nCopyright (c) 2023 Samuel J. Cook\n","readmeFilename":"README.md","gitHead":"ef3ab0d0161b9055c119520a9ac3975c03cd6289","_nodeVersion":"18.18.2","_npmVersion":"9.8.1","dist":{"integrity":"sha512-iUHKbSBAOBb0CFkX828oCthVGSAvqvoVqjhGbRBZruzkqnARk/Il4H2VXcfat3NqGvCGWXcXea9ryfWuHR4HSg==","shasum":"9c9db2c2b8a287d651528b65126c7f5ed6ca537b","tarball":"https://registry.npmjs.org/hwy/-/hwy-0.0.0-beta.5.tgz","fileCount":4,"unpackedSize":49457,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDZFNK+yuLV3u0ob7Sbo/Sl0uUtPSel8rW3L2ga59yYBQIgO1CvdAzP1QDUngEwcbaNkdFQ0cHPAopjw/trz8yAJpQ="}]},"_npmUser":{"name":"sjc5","email":"email@samcook.cc"},"directories":{},"maintainers":[{"name":"sjc5","email":"email@samcook.cc"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/hwy_0.0.0-beta.5_1702853891409_0.23895701608400133"},"_hasShrinkwrap":false},"0.0.0-beta.6":{"name":"hwy","version":"0.0.0-beta.6","author":{"name":"Samuel J. Cook"},"license":"MIT","description":"Simple, lightweight, and flexible web framework, built on Hono and HTMX.","type":"module","exports":{".":"./dist/index.js"},"scripts":{"build":"rm -rf dist && tsup-node index.ts --format esm --dts","dev":"rm -rf dist && tsup-node index.ts --format esm --dts --watch","publish-beta":"npm publish --tag beta","publish-non-beta":"npm publish","update-latest":"pnpm update --latest","typecheck":"tsc"},"dependencies":{"devalue":"^4.3.2","preact-render-to-string":"^6.3.1"},"devDependencies":{"@hono/node-server":"^1.3.3","@hwy-js/build":"workspace:*","@hwy-js/dev":"workspace:*","@types/node":"^20.10.4","hono":"^3.11.7","preact":"^10.19.3","tsup":"^8.0.1"},"peerDependencies":{"hono":"^3.11.1","preact":"^10.19.3"},"repository":{"type":"git","url":"git+https://github.com/hwy-js/hwy.git","directory":"packages/core"},"homepage":"https://hwy.dev","bugs":{"url":"https://github.com/hwy-js/hwy/issues"},"keywords":["simple","lightweight","flexible","framework","metaframework","web","typescript","hono","router","nested","routing","jsx","tsx","nextjs","remix","react","preact","signals"],"sideEffects":false,"_id":"hwy@0.0.0-beta.6","readme":"# Hwy\n\nHwy is a simple, lightweight, and flexible web framework, built on Hono and\nHTMX.\n\n<a href=\"https://pkg-size.dev/hwy\" target=\"_blank\">\n  <img\n    width=\"112\"\n    height=\"20\"\n    style=\"background:darkgray;border-radius:4px;\"\n    src=\"https://pkg-size.dev/badge/bundle/11742\"\n    title=\"Bundle size for hwy\"\n  />\n</a>\n\n## Quick Start\n\n```bash\nnpx create-hwy@latest\n```\n\n## What is Hwy?\n\nHwy is a lot like NextJS or Remix, but it uses **_HTMX_** instead of React on\nthe frontend.\n\nHwy lets you write **_React-style JSX_** in **_nested, file-based routes_**,\nwith **_Remix-style actions and parallel loaders_**.\n\nThe backend server is built on **_Hono_**, so you have access to a rich, growing\necosystem with lots of middleware and wonderful docs.\n\nHwy is **_100% server-rendered_**, but with the HTMX defaults Hwy sets up for\nyou out of the box, your app still **_feels like an SPA_**.\n\nLinks and forms are automatically **_progressively enhanced_** thanks to HTMX's\n`hx-boost` feature. Just use normal anchor tags and traditional form attributes.\n\nBecause Hwy replaces the **_full page_** on transitions by default, everything\nstays **_simple_**. You don't have to return different components from different\nendpoints (unless you want to).\n\nAnd best of all, **_anything you can do with Hono or HTMX, you can do with\nHwy_**.\n\n## Features\n\n- Server-rendered JSX / TSX\n- Nested, file-based routing\n- Remix-style actions and parallel loaders\n- Rich Hono middleware ecosystem\n- 100% type-safe\n- Server built on Hono\n- Client built on HTMX\n- Built-in critical CSS inlining\n- Live browser refresh during development\n- And more...\n\n## Guiding Principles\n\n- No speed limits\n- Numerous off-ramps\n- Smooth, safe roads\n- Clear traffic signs\n\n## Simple usage\n\nBelow is an example of a simple Hwy page. You'll notice it looks a lot like\nRemix, and you're right! Hwy is heavily inspired by Remix, but it uses HTMX\ninstead of React.\n\n```tsx\n// src/pages/user/$user_id.page.tsx\n\nimport type { DataProps, PageProps } from \"hwy\";\nimport { UserProfile, getUser } from \"./somewhere.js\";\n\nexport async function loader({ params }: DataProps) {\n  return await getUser(params.user_id);\n}\n\nexport default function ({ loaderData }: PageProps<typeof loader>) {\n  return <UserProfile user={loaderData} />;\n}\n```\n\n## Get Started\n\nIf you want to dive right in, just open a terminal and run\n`npx create-hwy@latest` and follow the prompts.\n\nIf you'd prefer to read more first, take a peek at\n[our docs](https://hwy.dev/docs).\n\n## Acknowledgements\n\nHwy's APIs are obviously inspired by Remix. If Remix didn't exist, Hwy likely\nwouldn't exist either. Hwy doesn't use any Remix code, but it still owes a big\nthanks to the Remix team (past and present) for their top-tier patterns design.\nIf you're building something huge and important today, use Remix.\n\n## Disclaimer\n\nHwy is in beta! Act accordingly.\n\n## License\n\nMIT License\n\nCopyright (c) 2023 Samuel J. Cook\n","readmeFilename":"README.md","gitHead":"a71ed69da4219c58e200cdef7a0ea6f1a545f5e4","_nodeVersion":"18.18.2","_npmVersion":"9.8.1","dist":{"integrity":"sha512-GTRmoJbdXvThdT9rtP8TCfj1LLmFkzWj5n1mTCzNdftsgp9rgDG8gs0AgpoO2gDF0iL7rCiZX1gtpWs4estOUQ==","shasum":"f12c832f0fb4cb5b03576c4533b899a36162a22c","tarball":"https://registry.npmjs.org/hwy/-/hwy-0.0.0-beta.6.tgz","fileCount":4,"unpackedSize":52423,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCTHTp4Atvqfyh2MsF1O+F8EP2xXlI5lWV93j7qlKbpWQIhAINKFgWUgXUtqBH7y5vFi4RBGqzwlo1E5n19AlnJYpLT"}]},"_npmUser":{"name":"sjc5","email":"email@samcook.cc"},"directories":{},"maintainers":[{"name":"sjc5","email":"email@samcook.cc"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/hwy_0.0.0-beta.6_1705103163615_0.6044992366175008"},"_hasShrinkwrap":false},"0.0.0-beta.7":{"name":"hwy","version":"0.0.0-beta.7","author":{"name":"Samuel J. Cook"},"license":"MIT","description":"Simple, lightweight, and flexible web framework, built on Hono and HTMX.","type":"module","exports":{".":"./dist/index.js"},"scripts":{"build":"rm -rf dist && tsup-node index.ts --format esm --dts","dev":"rm -rf dist && tsup-node index.ts --format esm --dts --watch","publish-beta":"npm publish --tag beta","publish-non-beta":"npm publish","update-latest":"pnpm update --latest","typecheck":"tsc"},"dependencies":{"devalue":"^4.3.2","pathe":"^1.1.2","preact-render-to-string":"^6.3.1"},"devDependencies":{"@hono/node-server":"^1.3.3","@hwy-js/build":"workspace:*","@hwy-js/dev":"workspace:*","@types/node":"^20.10.4","hono":"^3.11.7","preact":"^10.19.3","tsup":"^8.0.1"},"peerDependencies":{"hono":"^3.11.1","preact":"^10.19.3"},"repository":{"type":"git","url":"git+https://github.com/hwy-js/hwy.git","directory":"packages/core"},"homepage":"https://hwy.dev","bugs":{"url":"https://github.com/hwy-js/hwy/issues"},"keywords":["simple","lightweight","flexible","framework","metaframework","web","typescript","hono","router","nested","routing","jsx","tsx","nextjs","remix","react","preact","signals"],"sideEffects":false,"_id":"hwy@0.0.0-beta.7","readme":"# Hwy\n\nHwy is a simple, lightweight, and flexible web framework, built on Hono and\nHTMX.\n\n<a href=\"https://pkg-size.dev/hwy\" target=\"_blank\">\n  <img\n    width=\"112\"\n    height=\"20\"\n    style=\"background:darkgray;border-radius:4px;\"\n    src=\"https://pkg-size.dev/badge/bundle/11742\"\n    title=\"Bundle size for hwy\"\n  />\n</a>\n\n## Quick Start\n\n```bash\nnpx create-hwy@latest\n```\n\n## What is Hwy?\n\nHwy is a lot like NextJS or Remix, but it uses **_HTMX_** instead of React on\nthe frontend.\n\nHwy lets you write **_React-style JSX_** in **_nested, file-based routes_**,\nwith **_Remix-style actions and parallel loaders_**.\n\nThe backend server is built on **_Hono_**, so you have access to a rich, growing\necosystem with lots of middleware and wonderful docs.\n\nHwy is **_100% server-rendered_**, but with the HTMX defaults Hwy sets up for\nyou out of the box, your app still **_feels like an SPA_**.\n\nLinks and forms are automatically **_progressively enhanced_** thanks to HTMX's\n`hx-boost` feature. Just use normal anchor tags and traditional form attributes.\n\nBecause Hwy replaces the **_full page_** on transitions by default, everything\nstays **_simple_**. You don't have to return different components from different\nendpoints (unless you want to).\n\nAnd best of all, **_anything you can do with Hono or HTMX, you can do with\nHwy_**.\n\n## Features\n\n- Server-rendered JSX / TSX\n- Nested, file-based routing\n- Remix-style actions and parallel loaders\n- Rich Hono middleware ecosystem\n- 100% type-safe\n- Server built on Hono\n- Client built on HTMX\n- Built-in critical CSS inlining\n- Live browser refresh during development\n- And more...\n\n## Guiding Principles\n\n- No speed limits\n- Numerous off-ramps\n- Smooth, safe roads\n- Clear traffic signs\n\n## Simple usage\n\nBelow is an example of a simple Hwy page. You'll notice it looks a lot like\nRemix, and you're right! Hwy is heavily inspired by Remix, but it uses HTMX\ninstead of React.\n\n```tsx\n// src/pages/user/$user_id.page.tsx\n\nimport type { DataProps, PageProps } from \"hwy\";\nimport { UserProfile, getUser } from \"./somewhere.js\";\n\nexport async function loader({ params }: DataProps) {\n  return await getUser(params.user_id);\n}\n\nexport default function ({ loaderData }: PageProps<typeof loader>) {\n  return <UserProfile user={loaderData} />;\n}\n```\n\n## Get Started\n\nIf you want to dive right in, just open a terminal and run\n`npx create-hwy@latest` and follow the prompts.\n\nIf you'd prefer to read more first, take a peek at\n[our docs](https://hwy.dev/docs).\n\n## Acknowledgements\n\nHwy's APIs are obviously inspired by Remix. If Remix didn't exist, Hwy likely\nwouldn't exist either. Hwy doesn't use any Remix code, but it still owes a big\nthanks to the Remix team (past and present) for their top-tier patterns design.\nIf you're building something huge and important today, use Remix.\n\n## Disclaimer\n\nHwy is in beta! Act accordingly.\n\n## License\n\nMIT License\n\nCopyright (c) 2023 Samuel J. Cook\n","readmeFilename":"README.md","gitHead":"a71ed69da4219c58e200cdef7a0ea6f1a545f5e4","_nodeVersion":"18.18.2","_npmVersion":"9.8.1","dist":{"integrity":"sha512-qQ0FmbFp6UU2TxHUWx73guqvdhXgpvvL3yAbsRSF48IDpjuS5LNHsd6afBhGg3+jkz0lg/W/v16kRGnZJXZpdg==","shasum":"4efbe448ebf2bfbc45f43a01efbe9d3a185bcdd2","tarball":"https://registry.npmjs.org/hwy/-/hwy-0.0.0-beta.7.tgz","fileCount":4,"unpackedSize":52481,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCO+VGHu0JHP4UjWNWGDJveFqtUmdB62u3gaSmRVtxhsgIgDT/AhYrQm6JjbyT2GtlaU3iy2v7DM6j1ZZUAn2KVWLA="}]},"_npmUser":{"name":"sjc5","email":"email@samcook.cc"},"directories":{},"maintainers":[{"name":"sjc5","email":"email@samcook.cc"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/hwy_0.0.0-beta.7_1705121213216_0.6534629913044856"},"_hasShrinkwrap":false},"0.0.0-beta.8":{"name":"hwy","version":"0.0.0-beta.8","author":{"name":"Samuel J. Cook"},"license":"MIT","description":"Simple, lightweight, and flexible web framework, built on Hono and HTMX.","type":"module","exports":{".":"./dist/index.js"},"scripts":{"build":"rm -rf dist && tsup-node index.ts --format esm --dts","dev":"rm -rf dist && tsup-node index.ts --format esm --dts --watch","publish-beta":"npm publish --tag beta","publish-non-beta":"npm publish","update-latest":"pnpm update --latest","typecheck":"tsc"},"dependencies":{"devalue":"^4.3.2","preact-render-to-string":"^6.3.1"},"devDependencies":{"@hono/node-server":"^1.3.3","@hwy-js/build":"workspace:*","@hwy-js/dev":"workspace:*","@types/node":"^20.10.4","hono":"^3.11.7","preact":"^10.19.3","tsup":"^8.0.1"},"peerDependencies":{"hono":"^3.11.1","preact":"^10.19.3"},"repository":{"type":"git","url":"git+https://github.com/hwy-js/hwy.git","directory":"packages/core"},"homepage":"https://hwy.dev","bugs":{"url":"https://github.com/hwy-js/hwy/issues"},"keywords":["simple","lightweight","flexible","framework","metaframework","web","typescript","hono","router","nested","routing","jsx","tsx","nextjs","remix","react","preact","signals"],"sideEffects":false,"_id":"hwy@0.0.0-beta.8","readme":"# Hwy\n\nHwy is a simple, lightweight, and flexible web framework, built on Hono and\nHTMX.\n\n<a href=\"https://pkg-size.dev/hwy\" target=\"_blank\">\n  <img\n    width=\"112\"\n    height=\"20\"\n    style=\"background:darkgray;border-radius:4px;\"\n    src=\"https://pkg-size.dev/badge/bundle/11742\"\n    title=\"Bundle size for hwy\"\n  />\n</a>\n\n## Quick Start\n\n```bash\nnpx create-hwy@latest\n```\n\n## What is Hwy?\n\nHwy is a lot like NextJS or Remix, but it uses **_HTMX_** instead of React on\nthe frontend.\n\nHwy lets you write **_React-style JSX_** in **_nested, file-based routes_**,\nwith **_Remix-style actions and parallel loaders_**.\n\nThe backend server is built on **_Hono_**, so you have access to a rich, growing\necosystem with lots of middleware and wonderful docs.\n\nHwy is **_100% server-rendered_**, but with the HTMX defaults Hwy sets up for\nyou out of the box, your app still **_feels like an SPA_**.\n\nLinks and forms are automatically **_progressively enhanced_** thanks to HTMX's\n`hx-boost` feature. Just use normal anchor tags and traditional form attributes.\n\nBecause Hwy replaces the **_full page_** on transitions by default, everything\nstays **_simple_**. You don't have to return different components from different\nendpoints (unless you want to).\n\nAnd best of all, **_anything you can do with Hono or HTMX, you can do with\nHwy_**.\n\n## Features\n\n- Server-rendered JSX / TSX\n- Nested, file-based routing\n- Remix-style actions and parallel loaders\n- Rich Hono middleware ecosystem\n- 100% type-safe\n- Server built on Hono\n- Client built on HTMX\n- Built-in critical CSS inlining\n- Live browser refresh during development\n- And more...\n\n## Guiding Principles\n\n- No speed limits\n- Numerous off-ramps\n- Smooth, safe roads\n- Clear traffic signs\n\n## Simple usage\n\nBelow is an example of a simple Hwy page. You'll notice it looks a lot like\nRemix, and you're right! Hwy is heavily inspired by Remix, but it uses HTMX\ninstead of React.\n\n```tsx\n// src/pages/user/$user_id.page.tsx\n\nimport type { DataProps, PageProps } from \"hwy\";\nimport { UserProfile, getUser } from \"./somewhere.js\";\n\nexport async function loader({ params }: DataProps) {\n  return await getUser(params.user_id);\n}\n\nexport default function ({ loaderData }: PageProps<typeof loader>) {\n  return <UserProfile user={loaderData} />;\n}\n```\n\n## Get Started\n\nIf you want to dive right in, just open a terminal and run\n`npx create-hwy@latest` and follow the prompts.\n\nIf you'd prefer to read more first, take a peek at\n[our docs](https://hwy.dev/docs).\n\n## Acknowledgements\n\nHwy's APIs are obviously inspired by Remix. If Remix didn't exist, Hwy likely\nwouldn't exist either. Hwy doesn't use any Remix code, but it still owes a big\nthanks to the Remix team (past and present) for their top-tier patterns design.\nIf you're building something huge and important today, use Remix.\n\n## Disclaimer\n\nHwy is in beta! Act accordingly.\n\n## License\n\nMIT License\n\nCopyright (c) 2023 Samuel J. Cook\n","readmeFilename":"README.md","gitHead":"a71ed69da4219c58e200cdef7a0ea6f1a545f5e4","_nodeVersion":"18.18.2","_npmVersion":"9.8.1","dist":{"integrity":"sha512-5bn1B4tSMzBL3+1RoYE/HpJYWY2jitkrBTp8aV1Uty+PC+uP2T3jn+pC8SMUrWLkBw3kmBcNWaPSjbk51cUJ5Q==","shasum":"e005056ae83f82756737386ffe7de3fc263857ae","tarball":"https://registry.npmjs.org/hwy/-/hwy-0.0.0-beta.8.tgz","fileCount":4,"unpackedSize":52423,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIAZGFCvKTMVfrkGjkPbTd14sBl6e5P88HaO6CylDybDxAiBpFVIo/7UkcsMreesqSFbtP5PKDuNkQ91mWWe+BHUHzw=="}]},"_npmUser":{"name":"sjc5","email":"email@samcook.cc"},"directories":{},"maintainers":[{"name":"sjc5","email":"email@samcook.cc"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/hwy_0.0.0-beta.8_1705175859009_0.8054865917365657"},"_hasShrinkwrap":false},"0.0.0-beta.9":{"name":"hwy","version":"0.0.0-beta.9","author":{"name":"Samuel J. Cook"},"license":"MIT","description":"Simple, lightweight, and flexible web framework, built on Hono and HTMX.","type":"module","exports":{".":"./dist/index.js"},"scripts":{"build":"rm -rf dist && tsup-node index.ts --format esm --dts","dev":"rm -rf dist && tsup-node index.ts --format esm --dts --watch","publish-beta":"npm publish --tag beta","publish-non-beta":"npm publish","update-latest":"pnpm update --latest","typecheck":"tsc"},"dependencies":{"devalue":"^4.3.2","preact-render-to-string":"^6.3.1"},"devDependencies":{"@hono/node-server":"^1.3.3","@hwy-js/build":"workspace:*","@hwy-js/dev":"workspace:*","@types/node":"^20.10.4","hono":"^3.11.7","preact":"^10.19.3","tsup":"^8.0.1"},"peerDependencies":{"hono":"^3.11.1","preact":"^10.19.3"},"repository":{"type":"git","url":"git+https://github.com/hwy-js/hwy.git","directory":"packages/core"},"homepage":"https://hwy.dev","bugs":{"url":"https://github.com/hwy-js/hwy/issues"},"keywords":["simple","lightweight","flexible","framework","metaframework","web","typescript","hono","router","nested","routing","jsx","tsx","nextjs","remix","react","preact","signals"],"sideEffects":false,"_id":"hwy@0.0.0-beta.9","readme":"# Hwy\n\nHwy is a simple, lightweight, and flexible web framework, built on Hono and\nHTMX.\n\n<a href=\"https://pkg-size.dev/hwy\" target=\"_blank\">\n  <img\n    width=\"112\"\n    height=\"20\"\n    style=\"background:darkgray;border-radius:4px;\"\n    src=\"https://pkg-size.dev/badge/bundle/11742\"\n    title=\"Bundle size for hwy\"\n  />\n</a>\n\n## Quick Start\n\n```bash\nnpx create-hwy@latest\n```\n\n## What is Hwy?\n\nHwy is a lot like NextJS or Remix, but it uses **_HTMX_** instead of React on\nthe frontend.\n\nHwy lets you write **_React-style JSX_** in **_nested, file-based routes_**,\nwith **_Remix-style actions and parallel loaders_**.\n\nThe backend server is built on **_Hono_**, so you have access to a rich, growing\necosystem with lots of middleware and wonderful docs.\n\nHwy is **_100% server-rendered_**, but with the HTMX defaults Hwy sets up for\nyou out of the box, your app still **_feels like an SPA_**.\n\nLinks and forms are automatically **_progressively enhanced_** thanks to HTMX's\n`hx-boost` feature. Just use normal anchor tags and traditional form attributes.\n\nBecause Hwy replaces the **_full page_** on transitions by default, everything\nstays **_simple_**. You don't have to return different components from different\nendpoints (unless you want to).\n\nAnd best of all, **_anything you can do with Hono or HTMX, you can do with\nHwy_**.\n\n## Features\n\n- Server-rendered JSX / TSX\n- Nested, file-based routing\n- Remix-style actions and parallel loaders\n- Rich Hono middleware ecosystem\n- 100% type-safe\n- Server built on Hono\n- Client built on HTMX\n- Built-in critical CSS inlining\n- Live browser refresh during development\n- And more...\n\n## Guiding Principles\n\n- No speed limits\n- Numerous off-ramps\n- Smooth, safe roads\n- Clear traffic signs\n\n## Simple usage\n\nBelow is an example of a simple Hwy page. You'll notice it looks a lot like\nRemix, and you're right! Hwy is heavily inspired by Remix, but it uses HTMX\ninstead of React.\n\n```tsx\n// src/pages/user/$user_id.page.tsx\n\nimport type { DataProps, PageProps } from \"hwy\";\nimport { UserProfile, getUser } from \"./somewhere.js\";\n\nexport async function loader({ params }: DataProps) {\n  return await getUser(params.user_id);\n}\n\nexport default function ({ loaderData }: PageProps<typeof loader>) {\n  return <UserProfile user={loaderData} />;\n}\n```\n\n## Get Started\n\nIf you want to dive right in, just open a terminal and run\n`npx create-hwy@latest` and follow the prompts.\n\nIf you'd prefer to read more first, take a peek at\n[our docs](https://hwy.dev/docs).\n\n## Acknowledgements\n\nHwy's APIs are obviously inspired by Remix. If Remix didn't exist, Hwy likely\nwouldn't exist either. Hwy doesn't use any Remix code, but it still owes a big\nthanks to the Remix team (past and present) for their top-tier patterns design.\nIf you're building something huge and important today, use Remix.\n\n## Disclaimer\n\nHwy is in beta! Act accordingly.\n\n## License\n\nMIT License\n\nCopyright (c) 2023 Samuel J. Cook\n","readmeFilename":"README.md","gitHead":"a71ed69da4219c58e200cdef7a0ea6f1a545f5e4","_nodeVersion":"18.18.2","_npmVersion":"9.8.1","dist":{"integrity":"sha512-iS63xK9vwPb4unzjWhwKlWM1yx60cen54Evyezqf6wmdEPkO6sVds7DcXBv2qwbnfWgyoMRwryFUqqmlfgbCSw==","shasum":"ff9c0b30f72acb8c67e792c4b58b120e4524c95b","tarball":"https://registry.npmjs.org/hwy/-/hwy-0.0.0-beta.9.tgz","fileCount":4,"unpackedSize":52394,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCSAXt90eqcj7+7xofVLgqRLrK+nrzH7RtzysrgzjpSUwIhAMS3girxeEhcJvMIzp8aZLvgJYbSd8pfQBa8pu7wmv10"}]},"_npmUser":{"name":"sjc5","email":"email@samcook.cc"},"directories":{},"maintainers":[{"name":"sjc5","email":"email@samcook.cc"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/hwy_0.0.0-beta.9_1705279080725_0.03590631531897448"},"_hasShrinkwrap":false},"0.0.0-beta.10":{"name":"hwy","version":"0.0.0-beta.10","author":{"name":"Samuel J. Cook"},"license":"MIT","description":"Simple, lightweight, and flexible web framework, built on Hono and HTMX.","type":"module","exports":{".":"./dist/index.js"},"scripts":{"build":"rm -rf dist && tsup-node index.ts --format esm --dts","dev":"rm -rf dist && tsup-node index.ts --format esm --dts --watch","publish-beta":"npm publish --tag beta","publish-non-beta":"npm publish","update-latest":"pnpm update --latest","typecheck":"tsc"},"dependencies":{"devalue":"^4.3.2","preact-render-to-string":"^6.3.1"},"devDependencies":{"@hono/node-server":"^1.3.3","@hwy-js/build":"workspace:*","@hwy-js/dev":"workspace:*","@types/node":"^20.10.4","hono":"^3.11.7","preact":"^10.19.3","tsup":"^8.0.1"},"peerDependencies":{"hono":"^3.11.1","preact":"^10.19.3"},"repository":{"type":"git","url":"git+https://github.com/hwy-js/hwy.git","directory":"packages/core"},"homepage":"https://hwy.dev","bugs":{"url":"https://github.com/hwy-js/hwy/issues"},"keywords":["simple","lightweight","flexible","framework","metaframework","web","typescript","hono","router","nested","routing","jsx","tsx","nextjs","remix","react","preact","signals"],"sideEffects":false,"_id":"hwy@0.0.0-beta.10","readme":"# Hwy\n\nHwy is a simple, lightweight, and flexible web framework, built on Hono and\nHTMX.\n\n<a href=\"https://pkg-size.dev/hwy\" target=\"_blank\">\n  <img\n    width=\"112\"\n    height=\"20\"\n    style=\"background:darkgray;border-radius:4px;\"\n    src=\"https://pkg-size.dev/badge/bundle/11742\"\n    title=\"Bundle size for hwy\"\n  />\n</a>\n\n## Quick Start\n\n```bash\nnpx create-hwy@latest\n```\n\n## What is Hwy?\n\nHwy is a lot like NextJS or Remix, but it uses **_HTMX_** instead of React on\nthe frontend.\n\nHwy lets you write **_React-style JSX_** in **_nested, file-based routes_**,\nwith **_Remix-style actions and parallel loaders_**.\n\nThe backend server is built on **_Hono_**, so you have access to a rich, growing\necosystem with lots of middleware and wonderful docs.\n\nHwy is **_100% server-rendered_**, but with the HTMX defaults Hwy sets up for\nyou out of the box, your app still **_feels like an SPA_**.\n\nLinks and forms are automatically **_progressively enhanced_** thanks to HTMX's\n`hx-boost` feature. Just use normal anchor tags and traditional form attributes.\n\nBecause Hwy replaces the **_full page_** on transitions by default, everything\nstays **_simple_**. You don't have to return different components from different\nendpoints (unless you want to).\n\nAnd best of all, **_anything you can do with Hono or HTMX, you can do with\nHwy_**.\n\n## Features\n\n- Server-rendered JSX / TSX\n- Nested, file-based routing\n- Remix-style actions and parallel loaders\n- Rich Hono middleware ecosystem\n- 100% type-safe\n- Server built on Hono\n- Client built on HTMX\n- Built-in critical CSS inlining\n- Live browser refresh during development\n- And more...\n\n## Guiding Principles\n\n- No speed limits\n- Numerous off-ramps\n- Smooth, safe roads\n- Clear traffic signs\n\n## Simple usage\n\nBelow is an example of a simple Hwy page. You'll notice it looks a lot like\nRemix, and you're right! Hwy is heavily inspired by Remix, but it uses HTMX\ninstead of React.\n\n```tsx\n// src/pages/user/$user_id.page.tsx\n\nimport type { DataProps, PageProps } from \"hwy\";\nimport { UserProfile, getUser } from \"./somewhere.js\";\n\nexport async function loader({ params }: DataProps) {\n  return await getUser(params.user_id);\n}\n\nexport default function ({ loaderData }: PageProps<typeof loader>) {\n  return <UserProfile user={loaderData} />;\n}\n```\n\n## Get Started\n\nIf you want to dive right in, just open a terminal and run\n`npx create-hwy@latest` and follow the prompts.\n\nIf you'd prefer to read more first, take a peek at\n[our docs](https://hwy.dev/docs).\n\n## Acknowledgements\n\nHwy's APIs are obviously inspired by Remix. If Remix didn't exist, Hwy likely\nwouldn't exist either. Hwy doesn't use any Remix code, but it still owes a big\nthanks to the Remix team (past and present) for their top-tier patterns design.\nIf you're building something huge and important today, use Remix.\n\n## Disclaimer\n\nHwy is in beta! Act accordingly.\n\n## License\n\nMIT License\n\nCopyright (c) 2023 Samuel J. Cook\n","readmeFilename":"README.md","gitHead":"a71ed69da4219c58e200cdef7a0ea6f1a545f5e4","_nodeVersion":"18.18.2","_npmVersion":"9.8.1","dist":{"integrity":"sha512-Lpnw6XLXSkYQ0Ox0ttVKDrqg46TajZr29jPEpAzP0cvRysOSFhts9U8HXFrw2o7nh8NuMZ73Al+a1DBnn63DDA==","shasum":"4f21bc8d179d4f78212bb279a58fbed60dd5c498","tarball":"https://registry.npmjs.org/hwy/-/hwy-0.0.0-beta.10.tgz","fileCount":4,"unpackedSize":52475,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDoWsurixw0YifPAeuRkyBD2jerWDtgym9m8azk1BOdQwIhAIL2XDywGs2wePm4LXBQJdtpRqJDG931DmCwmotrrWWO"}]},"_npmUser":{"name":"sjc5","email":"email@samcook.cc"},"directories":{},"maintainers":[{"name":"sjc5","email":"email@samcook.cc"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/hwy_0.0.0-beta.10_1705279404586_0.05999448745077207"},"_hasShrinkwrap":false},"0.0.0-beta.11":{"name":"hwy","version":"0.0.0-beta.11","author":{"name":"Samuel J. Cook"},"license":"MIT","description":"Simple, lightweight, and flexible web framework, built on Hono and HTMX.","type":"module","exports":{".":"./dist/index.js"},"scripts":{"build":"rm -rf dist && tsup-node index.ts --format esm --dts","dev":"rm -rf dist && tsup-node index.ts --format esm --dts --watch","publish-beta":"npm publish --tag beta","publish-non-beta":"npm publish","update-latest":"pnpm update --latest","typecheck":"tsc"},"dependencies":{"devalue":"^4.3.2","preact-render-to-string":"^6.3.1"},"devDependencies":{"@hono/node-server":"^1.4.0","@hwy-js/build":"workspace:*","@hwy-js/dev":"workspace:*","@types/node":"^20.11.2","hono":"^3.12.4","preact":"^10.19.3","tsup":"^8.0.1"},"peerDependencies":{"hono":"^3.11.1","preact":"^10.19.3"},"repository":{"type":"git","url":"git+https://github.com/hwy-js/hwy.git","directory":"packages/core"},"homepage":"https://hwy.dev","bugs":{"url":"https://github.com/hwy-js/hwy/issues"},"keywords":["simple","lightweight","flexible","framework","metaframework","web","typescript","hono","router","nested","routing","jsx","tsx","nextjs","remix","react","preact","signals"],"sideEffects":false,"_id":"hwy@0.0.0-beta.11","readme":"# Hwy\n\nHwy is a simple, lightweight, and flexible web framework, built on Hono and\nHTMX.\n\n<a href=\"https://pkg-size.dev/hwy\" target=\"_blank\">\n  <img\n    width=\"112\"\n    height=\"20\"\n    style=\"background:darkgray;border-radius:4px;\"\n    src=\"https://pkg-size.dev/badge/bundle/11742\"\n    title=\"Bundle size for hwy\"\n  />\n</a>\n\n## Quick Start\n\n```bash\nnpx create-hwy@latest\n```\n\n## What is Hwy?\n\nHwy is a lot like NextJS or Remix, but it uses **_HTMX_** instead of React on\nthe frontend.\n\nHwy lets you write **_React-style JSX_** in **_nested, file-based routes_**,\nwith **_Remix-style actions and parallel loaders_**.\n\nThe backend server is built on **_Hono_**, so you have access to a rich, growing\necosystem with lots of middleware and wonderful docs.\n\nHwy is **_100% server-rendered_**, but with the HTMX defaults Hwy sets up for\nyou out of the box, your app still **_feels like an SPA_**.\n\nLinks and forms are automatically **_progressively enhanced_** thanks to HTMX's\n`hx-boost` feature. Just use normal anchor tags and traditional form attributes.\n\nBecause Hwy replaces the **_full page_** on transitions by default, everything\nstays **_simple_**. You don't have to return different components from different\nendpoints (unless you want to).\n\nAnd best of all, **_anything you can do with Hono or HTMX, you can do with\nHwy_**.\n\n## Features\n\n- Server-rendered JSX / TSX\n- Nested, file-based routing\n- Remix-style actions and parallel loaders\n- Rich Hono middleware ecosystem\n- 100% type-safe\n- Server built on Hono\n- Client built on HTMX\n- Built-in critical CSS inlining\n- Live browser refresh during development\n- And more...\n\n## Guiding Principles\n\n- No speed limits\n- Numerous off-ramps\n- Smooth, safe roads\n- Clear traffic signs\n\n## Simple usage\n\nBelow is an example of a simple Hwy page. You'll notice it looks a lot like\nRemix, and you're right! Hwy is heavily inspired by Remix, but it uses HTMX\ninstead of React.\n\n```tsx\n// src/pages/user/$user_id.page.tsx\n\nimport type { DataProps, PageProps } from \"hwy\";\nimport { UserProfile, getUser } from \"./somewhere.js\";\n\nexport async function loader({ params }: DataProps) {\n  return await getUser(params.user_id);\n}\n\nexport default function ({ loaderData }: PageProps<typeof loader>) {\n  return <UserProfile user={loaderData} />;\n}\n```\n\n## Get Started\n\nIf you want to dive right in, just open a terminal and run\n`npx create-hwy@latest` and follow the prompts.\n\nIf you'd prefer to read more first, take a peek at\n[our docs](https://hwy.dev/docs).\n\n## Acknowledgements\n\nHwy's APIs are obviously inspired by Remix. If Remix didn't exist, Hwy likely\nwouldn't exist either. Hwy doesn't use any Remix code, but it still owes a big\nthanks to the Remix team (past and present) for their top-tier patterns design.\nIf you're building something huge and important today, use Remix.\n\n## Disclaimer\n\nHwy is in beta! Act accordingly.\n\n## License\n\nMIT License\n\nCopyright (c) 2023 Samuel J. Cook\n","readmeFilename":"README.md","gitHead":"a71ed69da4219c58e200cdef7a0ea6f1a545f5e4","_nodeVersion":"18.18.2","_npmVersion":"9.8.1","dist":{"integrity":"sha512-IpkPw7FkoNGlWiKv1AUn/KLU3gkc6IMX5KUIrMMhvpwhE54ufuNGinOLHhj4RZbWgd1sMCyNkHxyyiNz7uIt7w==","shasum":"4d620f41368316b421b3e562656036c47a885ddc","tarball":"https://registry.npmjs.org/hwy/-/hwy-0.0.0-beta.11.tgz","fileCount":4,"unpackedSize":53050,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIHmXfpBgRwYXSPDMEIe1ECRa3Pxq7oLiMt6sIQhThCCLAiAI9P68V7/h/3715UkpB7JwMrEg5z5iRNvLEmg2g4Nd5w=="}]},"_npmUser":{"name":"sjc5","email":"email@samcook.cc"},"directories":{},"maintainers":[{"name":"sjc5","email":"email@samcook.cc"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/hwy_0.0.0-beta.11_1705351569902_0.007544239877646408"},"_hasShrinkwrap":false},"0.0.0-beta.12":{"name":"hwy","version":"0.0.0-beta.12","author":{"name":"Samuel J. Cook"},"license":"MIT","description":"Simple, lightweight, and flexible web framework, built on Hono and HTMX.","type":"module","exports":{".":"./dist/index.js"},"scripts":{"build":"rm -rf dist && tsup-node index.ts --format esm --dts","dev":"rm -rf dist && tsup-node index.ts --format esm --dts --watch","publish-beta":"npm publish --tag beta","publish-non-beta":"npm publish","update-latest":"pnpm update --latest","typecheck":"tsc"},"dependencies":{"devalue":"^4.3.2","preact-render-to-string":"^6.3.1"},"devDependencies":{"@hono/node-server":"^1.4.0","@hwy-js/build":"workspace:*","@hwy-js/dev":"workspace:*","@types/node":"^20.11.2","hono":"^3.12.4","preact":"^10.19.3","tsup":"^8.0.1"},"peerDependencies":{"hono":"^3.11.1","preact":"^10.19.3"},"repository":{"type":"git","url":"git+https://github.com/hwy-js/hwy.git","directory":"packages/core"},"homepage":"https://hwy.dev","bugs":{"url":"https://github.com/hwy-js/hwy/issues"},"keywords":["simple","lightweight","flexible","framework","metaframework","web","typescript","hono","router","nested","routing","jsx","tsx","nextjs","remix","react","preact","signals"],"sideEffects":false,"_id":"hwy@0.0.0-beta.12","readme":"# Hwy\n\nHwy is a simple, lightweight, and flexible web framework, built on Hono and\nHTMX.\n\n<a href=\"https://pkg-size.dev/hwy\" target=\"_blank\">\n  <img\n    width=\"112\"\n    height=\"20\"\n    style=\"background:darkgray;border-radius:4px;\"\n    src=\"https://pkg-size.dev/badge/bundle/11742\"\n    title=\"Bundle size for hwy\"\n  />\n</a>\n\n## Quick Start\n\n```bash\nnpx create-hwy@latest\n```\n\n## What is Hwy?\n\nHwy is a lot like NextJS or Remix, but it uses **_HTMX_** instead of React on\nthe frontend.\n\nHwy lets you write **_React-style JSX_** in **_nested, file-based routes_**,\nwith **_Remix-style actions and parallel loaders_**.\n\nThe backend server is built on **_Hono_**, so you have access to a rich, growing\necosystem with lots of middleware and wonderful docs.\n\nHwy is **_100% server-rendered_**, but with the HTMX defaults Hwy sets up for\nyou out of the box, your app still **_feels like an SPA_**.\n\nLinks and forms are automatically **_progressively enhanced_** thanks to HTMX's\n`hx-boost` feature. Just use normal anchor tags and traditional form attributes.\n\nBecause Hwy replaces the **_full page_** on transitions by default, everything\nstays **_simple_**. You don't have to return different components from different\nendpoints (unless you want to).\n\nAnd best of all, **_anything you can do with Hono or HTMX, you can do with\nHwy_**.\n\n## Features\n\n- Server-rendered JSX / TSX\n- Nested, file-based routing\n- Remix-style actions and parallel loaders\n- Rich Hono middleware ecosystem\n- 100% type-safe\n- Server built on Hono\n- Client built on HTMX\n- Built-in critical CSS inlining\n- Live browser refresh during development\n- And more...\n\n## Guiding Principles\n\n- No speed limits\n- Numerous off-ramps\n- Smooth, safe roads\n- Clear traffic signs\n\n## Simple usage\n\nBelow is an example of a simple Hwy page. You'll notice it looks a lot like\nRemix, and you're right! Hwy is heavily inspired by Remix, but it uses HTMX\ninstead of React.\n\n```tsx\n// src/pages/user/$user_id.page.tsx\n\nimport type { DataProps, PageProps } from \"hwy\";\nimport { UserProfile, getUser } from \"./somewhere.js\";\n\nexport async function loader({ params }: DataProps) {\n  return await getUser(params.user_id);\n}\n\nexport default function ({ loaderData }: PageProps<typeof loader>) {\n  return <UserProfile user={loaderData} />;\n}\n```\n\n## Get Started\n\nIf you want to dive right in, just open a terminal and run\n`npx create-hwy@latest` and follow the prompts.\n\nIf you'd prefer to read more first, take a peek at\n[our docs](https://hwy.dev/docs).\n\n## Acknowledgements\n\nHwy's APIs are obviously inspired by Remix. If Remix didn't exist, Hwy likely\nwouldn't exist either. Hwy doesn't use any Remix code, but it still owes a big\nthanks to the Remix team (past and present) for their top-tier patterns design.\nIf you're building something huge and important today, use Remix.\n\n## Disclaimer\n\nHwy is in beta! Act accordingly.\n\n## License\n\nMIT License\n\nCopyright (c) 2023 Samuel J. Cook\n","readmeFilename":"README.md","gitHead":"a71ed69da4219c58e200cdef7a0ea6f1a545f5e4","_nodeVersion":"18.18.2","_npmVersion":"9.8.1","dist":{"integrity":"sha512-COvPPOVrG4GQ3TSkNJGj4Ma3XkLOoR5HDQ+8K+Z+BIvYM3KopfUAofUX8nuiG5suM31MD8zhzIVTFLxoLxlaJw==","shasum":"7231aae1f530a3bf4b8f6ea5358adee5e74e5e4e","tarball":"https://registry.npmjs.org/hwy/-/hwy-0.0.0-beta.12.tgz","fileCount":4,"unpackedSize":53085,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDjc6yqqLKLbOEqQM9586hpxRMBXXO1PmX7BmLtFXc4agIhAJBAssbw5uXLaPkwb/uISB+NG+/J6qFup9atovrRBFZi"}]},"_npmUser":{"name":"sjc5","email":"email@samcook.cc"},"directories":{},"maintainers":[{"name":"sjc5","email":"email@samcook.cc"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/hwy_0.0.0-beta.12_1705376536466_0.5521505773221429"},"_hasShrinkwrap":false},"0.0.0-beta.13":{"name":"hwy","version":"0.0.0-beta.13","author":{"name":"Samuel J. Cook"},"license":"MIT","description":"Simple, lightweight, and flexible web framework, built on Hono and HTMX.","type":"module","exports":{".":"./dist/index.js"},"scripts":{"build":"rm -rf dist && tsup-node index.ts --format esm --dts","dev":"rm -rf dist && tsup-node index.ts --format esm --dts --watch","publish-beta":"npm publish --tag beta","publish-non-beta":"npm publish","update-latest":"pnpm update --latest","typecheck":"tsc"},"dependencies":{"devalue":"^4.3.2","preact-render-to-string":"^6.3.1"},"devDependencies":{"@hono/node-server":"^1.4.0","@hwy-js/build":"workspace:*","@hwy-js/dev":"workspace:*","@types/node":"^20.11.2","hono":"^3.12.4","preact":"^10.19.3","tsup":"^8.0.1"},"peerDependencies":{"hono":"^3.11.1","preact":"^10.19.3"},"repository":{"type":"git","url":"git+https://github.com/hwy-js/hwy.git","directory":"packages/core"},"homepage":"https://hwy.dev","bugs":{"url":"https://github.com/hwy-js/hwy/issues"},"keywords":["simple","lightweight","flexible","framework","metaframework","web","typescript","hono","router","nested","routing","jsx","tsx","nextjs","remix","react","preact","signals"],"sideEffects":false,"_id":"hwy@0.0.0-beta.13","readme":"# Hwy\n\nHwy is a simple, lightweight, and flexible web framework, built on Hono and\nHTMX.\n\n<a href=\"https://pkg-size.dev/hwy\" target=\"_blank\">\n  <img\n    width=\"112\"\n    height=\"20\"\n    style=\"background:darkgray;border-radius:4px;\"\n    src=\"https://pkg-size.dev/badge/bundle/11742\"\n    title=\"Bundle size for hwy\"\n  />\n</a>\n\n## Quick Start\n\n```bash\nnpx create-hwy@latest\n```\n\n## What is Hwy?\n\nHwy is a lot like NextJS or Remix, but it uses **_HTMX_** instead of React on\nthe frontend.\n\nHwy lets you write **_React-style JSX_** in **_nested, file-based routes_**,\nwith **_Remix-style actions and parallel loaders_**.\n\nThe backend server is built on **_Hono_**, so you have access to a rich, growing\necosystem with lots of middleware and wonderful docs.\n\nHwy is **_100% server-rendered_**, but with the HTMX defaults Hwy sets up for\nyou out of the box, your app still **_feels like an SPA_**.\n\nLinks and forms are automatically **_progressively enhanced_** thanks to HTMX's\n`hx-boost` feature. Just use normal anchor tags and traditional form attributes.\n\nBecause Hwy replaces the **_full page_** on transitions by default, everything\nstays **_simple_**. You don't have to return different components from different\nendpoints (unless you want to).\n\nAnd best of all, **_anything you can do with Hono or HTMX, you can do with\nHwy_**.\n\n## Features\n\n- Server-rendered JSX / TSX\n- Nested, file-based routing\n- Remix-style actions and parallel loaders\n- Rich Hono middleware ecosystem\n- 100% type-safe\n- Server built on Hono\n- Client built on HTMX\n- Built-in critical CSS inlining\n- Live browser refresh during development\n- And more...\n\n## Guiding Principles\n\n- No speed limits\n- Numerous off-ramps\n- Smooth, safe roads\n- Clear traffic signs\n\n## Simple usage\n\nBelow is an example of a simple Hwy page. You'll notice it looks a lot like\nRemix, and you're right! Hwy is heavily inspired by Remix, but it uses HTMX\ninstead of React.\n\n```tsx\n// src/pages/user/$user_id.page.tsx\n\nimport type { DataProps, PageProps } from \"hwy\";\nimport { UserProfile, getUser } from \"./somewhere.js\";\n\nexport async function loader({ params }: DataProps) {\n  return await getUser(params.user_id);\n}\n\nexport default function ({ loaderData }: PageProps<typeof loader>) {\n  return <UserProfile user={loaderData} />;\n}\n```\n\n## Get Started\n\nIf you want to dive right in, just open a terminal and run\n`npx create-hwy@latest` and follow the prompts.\n\nIf you'd prefer to read more first, take a peek at\n[our docs](https://hwy.dev/docs).\n\n## Acknowledgements\n\nHwy's APIs are obviously inspired by Remix. If Remix didn't exist, Hwy likely\nwouldn't exist either. Hwy doesn't use any Remix code, but it still owes a big\nthanks to the Remix team (past and present) for their top-tier patterns design.\nIf you're building something huge and important today, use Remix.\n\n## Disclaimer\n\nHwy is in beta! Act accordingly.\n\n## License\n\nMIT License\n\nCopyright (c) 2023 Samuel J. Cook\n","readmeFilename":"README.md","gitHead":"a71ed69da4219c58e200cdef7a0ea6f1a545f5e4","_nodeVersion":"18.18.2","_npmVersion":"9.8.1","dist":{"integrity":"sha512-3AiEhZNkRC0QUzvvkPoYwrCTiTxng+Djb+sjVQlQPo1XVeeUyWdIDX2V2LcPsU1XIq/bqIYuVa0imgRqts/dNA==","shasum":"b27cfbcc147ce36178fc0f917bd5db81d0cf13b0","tarball":"https://registry.npmjs.org/hwy/-/hwy-0.0.0-beta.13.tgz","fileCount":4,"unpackedSize":53137,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIE1f4EDc3PZnAN1usrAqIheu6tf80e0540Yh74E0yWYhAiBcsBcXpABujiZbG3J2lYjRFnquJqsHf6xUe37WUUqDPw=="}]},"_npmUser":{"name":"sjc5","email":"email@samcook.cc"},"directories":{},"maintainers":[{"name":"sjc5","email":"email@samcook.cc"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/hwy_0.0.0-beta.13_1705378631458_0.5798276254687658"},"_hasShrinkwrap":false},"0.0.0-beta.14":{"name":"hwy","version":"0.0.0-beta.14","author":{"name":"Samuel J. Cook"},"license":"MIT","description":"Simple, lightweight, and flexible web framework, built on Hono and HTMX.","type":"module","exports":{".":"./dist/index.js"},"scripts":{"build":"rm -rf dist && tsup-node index.ts --format esm --dts","dev":"rm -rf dist && tsup-node index.ts --format esm --dts --watch","publish-beta":"npm publish --tag beta","publish-non-beta":"npm publish","update-latest":"pnpm update --latest","typecheck":"tsc"},"dependencies":{"devalue":"^4.3.2","preact-render-to-string":"^6.3.1"},"devDependencies":{"@hono/node-server":"^1.4.0","@hwy-js/build":"workspace:*","@hwy-js/dev":"workspace:*","@types/node":"^20.11.2","hono":"^3.12.4","preact":"^10.19.3","tsup":"^8.0.1"},"peerDependencies":{"hono":"^3.11.1","preact":"^10.19.3"},"repository":{"type":"git","url":"git+https://github.com/hwy-js/hwy.git","directory":"packages/core"},"homepage":"https://hwy.dev","bugs":{"url":"https://github.com/hwy-js/hwy/issues"},"keywords":["simple","lightweight","flexible","framework","metaframework","web","typescript","hono","router","nested","routing","jsx","tsx","nextjs","remix","react","preact","signals"],"sideEffects":false,"_id":"hwy@0.0.0-beta.14","readme":"# Hwy\n\nHwy is a simple, lightweight, and flexible web framework, built on Hono and\nHTMX.\n\n<a href=\"https://pkg-size.dev/hwy\" target=\"_blank\">\n  <img\n    width=\"112\"\n    height=\"20\"\n    style=\"background:darkgray;border-radius:4px;\"\n    src=\"https://pkg-size.dev/badge/bundle/11742\"\n    title=\"Bundle size for hwy\"\n  />\n</a>\n\n## Quick Start\n\n```bash\nnpx create-hwy@latest\n```\n\n## What is Hwy?\n\nHwy is a lot like NextJS or Remix, but it uses **_HTMX_** instead of React on\nthe frontend.\n\nHwy lets you write **_React-style JSX_** in **_nested, file-based routes_**,\nwith **_Remix-style actions and parallel loaders_**.\n\nThe backend server is built on **_Hono_**, so you have access to a rich, growing\necosystem with lots of middleware and wonderful docs.\n\nHwy is **_100% server-rendered_**, but with the HTMX defaults Hwy sets up for\nyou out of the box, your app still **_feels like an SPA_**.\n\nLinks and forms are automatically **_progressively enhanced_** thanks to HTMX's\n`hx-boost` feature. Just use normal anchor tags and traditional form attributes.\n\nBecause Hwy replaces the **_full page_** on transitions by default, everything\nstays **_simple_**. You don't have to return different components from different\nendpoints (unless you want to).\n\nAnd best of all, **_anything you can do with Hono or HTMX, you can do with\nHwy_**.\n\n## Features\n\n- Server-rendered JSX / TSX\n- Nested, file-based routing\n- Remix-style actions and parallel loaders\n- Rich Hono middleware ecosystem\n- 100% type-safe\n- Server built on Hono\n- Client built on HTMX\n- Built-in critical CSS inlining\n- Live browser refresh during development\n- And more...\n\n## Guiding Principles\n\n- No speed limits\n- Numerous off-ramps\n- Smooth, safe roads\n- Clear traffic signs\n\n## Simple usage\n\nBelow is an example of a simple Hwy page. You'll notice it looks a lot like\nRemix, and you're right! Hwy is heavily inspired by Remix, but it uses HTMX\ninstead of React.\n\n```tsx\n// src/pages/user/$user_id.page.tsx\n\nimport type { DataProps, PageProps } from \"hwy\";\nimport { UserProfile, getUser } from \"./somewhere.js\";\n\nexport async function loader({ params }: DataProps) {\n  return await getUser(params.user_id);\n}\n\nexport default function ({ loaderData }: PageProps<typeof loader>) {\n  return <UserProfile user={loaderData} />;\n}\n```\n\n## Get Started\n\nIf you want to dive right in, just open a terminal and run\n`npx create-hwy@latest` and follow the prompts.\n\nIf you'd prefer to read more first, take a peek at\n[our docs](https://hwy.dev/docs).\n\n## Acknowledgements\n\nHwy's APIs are obviously inspired by Remix. If Remix didn't exist, Hwy likely\nwouldn't exist either. Hwy doesn't use any Remix code, but it still owes a big\nthanks to the Remix team (past and present) for their top-tier patterns design.\nIf you're building something huge and important today, use Remix.\n\n## Disclaimer\n\nHwy is in beta! Act accordingly.\n\n## License\n\nMIT License\n\nCopyright (c) 2023 Samuel J. Cook\n","readmeFilename":"README.md","gitHead":"a71ed69da4219c58e200cdef7a0ea6f1a545f5e4","_nodeVersion":"18.18.2","_npmVersion":"9.8.1","dist":{"integrity":"sha512-7inRt/3T+rOwsT5V792N9rvtXqGS7vaZjDjH8/pociJFx2nyDZeD5gD4n9Rw2TL9kx5glApeISdqv56Vgn1I3A==","shasum":"af78e76385271a35383e4e9ff3aecdf3291b8376","tarball":"https://registry.npmjs.org/hwy/-/hwy-0.0.0-beta.14.tgz","fileCount":4,"unpackedSize":53097,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCICSnzD8lur9R2W/QFKL3o4ceQzTfA6+ZZufeMRjO+q84AiEA3JmdoxsrRHXzr9ump61cwVArrn/+f9IMcngSKkBPZgA="}]},"_npmUser":{"name":"sjc5","email":"email@samcook.cc"},"directories":{},"maintainers":[{"name":"sjc5","email":"email@samcook.cc"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/hwy_0.0.0-beta.14_1705379090614_0.9171962223843508"},"_hasShrinkwrap":false},"0.0.0-beta.15":{"name":"hwy","version":"0.0.0-beta.15","author":{"name":"Samuel J. Cook"},"license":"MIT","description":"Simple, lightweight, and flexible web framework, built on Hono and HTMX.","type":"module","exports":{".":"./dist/index.js"},"scripts":{"build":"rm -rf dist && tsup-node index.ts --format esm --dts","dev":"rm -rf dist && tsup-node index.ts --format esm --dts --watch","publish-beta":"npm publish --tag beta","publish-non-beta":"npm publish","update-latest":"pnpm update --latest","typecheck":"tsc"},"dependencies":{"devalue":"^4.3.2","preact-render-to-string":"^6.3.1"},"devDependencies":{"@hono/node-server":"^1.4.0","@hwy-js/build":"workspace:*","@hwy-js/dev":"workspace:*","@types/node":"^20.11.2","hono":"^3.12.4","preact":"^10.19.3","tsup":"^8.0.1"},"peerDependencies":{"hono":"^3.11.1","preact":"^10.19.3"},"repository":{"type":"git","url":"git+https://github.com/hwy-js/hwy.git","directory":"packages/core"},"homepage":"https://hwy.dev","bugs":{"url":"https://github.com/hwy-js/hwy/issues"},"keywords":["simple","lightweight","flexible","framework","metaframework","web","typescript","hono","router","nested","routing","jsx","tsx","nextjs","remix","react","preact","signals"],"sideEffects":false,"_id":"hwy@0.0.0-beta.15","readme":"# Hwy\n\nHwy is a simple, lightweight, and flexible web framework, built on Hono and\nHTMX.\n\n<a href=\"https://pkg-size.dev/hwy\" target=\"_blank\">\n  <img\n    width=\"112\"\n    height=\"20\"\n    style=\"background:darkgray;border-radius:4px;\"\n    src=\"https://pkg-size.dev/badge/bundle/11742\"\n    title=\"Bundle size for hwy\"\n  />\n</a>\n\n## Quick Start\n\n```bash\nnpx create-hwy@latest\n```\n\n## What is Hwy?\n\nHwy is a lot like NextJS or Remix, but it uses **_HTMX_** instead of React on\nthe frontend.\n\nHwy lets you write **_React-style JSX_** in **_nested, file-based routes_**,\nwith **_Remix-style actions and parallel loaders_**.\n\nThe backend server is built on **_Hono_**, so you have access to a rich, growing\necosystem with lots of middleware and wonderful docs.\n\nHwy is **_100% server-rendered_**, but with the HTMX defaults Hwy sets up for\nyou out of the box, your app still **_feels like an SPA_**.\n\nLinks and forms are automatically **_progressively enhanced_** thanks to HTMX's\n`hx-boost` feature. Just use normal anchor tags and traditional form attributes.\n\nBecause Hwy replaces the **_full page_** on transitions by default, everything\nstays **_simple_**. You don't have to return different components from different\nendpoints (unless you want to).\n\nAnd best of all, **_anything you can do with Hono or HTMX, you can do with\nHwy_**.\n\n## Features\n\n- Server-rendered JSX / TSX\n- Nested, file-based routing\n- Remix-style actions and parallel loaders\n- Rich Hono middleware ecosystem\n- 100% type-safe\n- Server built on Hono\n- Client built on HTMX\n- Built-in critical CSS inlining\n- Live browser refresh during development\n- And more...\n\n## Guiding Principles\n\n- No speed limits\n- Numerous off-ramps\n- Smooth, safe roads\n- Clear traffic signs\n\n## Simple usage\n\nBelow is an example of a simple Hwy page. You'll notice it looks a lot like\nRemix, and you're right! Hwy is heavily inspired by Remix, but it uses HTMX\ninstead of React.\n\n```tsx\n// src/pages/user/$user_id.page.tsx\n\nimport type { DataProps, PageProps } from \"hwy\";\nimport { UserProfile, getUser } from \"./somewhere.js\";\n\nexport async function loader({ params }: DataProps) {\n  return await getUser(params.user_id);\n}\n\nexport default function ({ loaderData }: PageProps<typeof loader>) {\n  return <UserProfile user={loaderData} />;\n}\n```\n\n## Get Started\n\nIf you want to dive right in, just open a terminal and run\n`npx create-hwy@latest` and follow the prompts.\n\nIf you'd prefer to read more first, take a peek at\n[our docs](https://hwy.dev/docs).\n\n## Acknowledgements\n\nHwy's APIs are obviously inspired by Remix. If Remix didn't exist, Hwy likely\nwouldn't exist either. Hwy doesn't use any Remix code, but it still owes a big\nthanks to the Remix team (past and present) for their top-tier patterns design.\nIf you're building something huge and important today, use Remix.\n\n## Disclaimer\n\nHwy is in beta! Act accordingly.\n\n## License\n\nMIT License\n\nCopyright (c) 2023 Samuel J. Cook\n","readmeFilename":"README.md","gitHead":"a71ed69da4219c58e200cdef7a0ea6f1a545f5e4","_nodeVersion":"18.18.2","_npmVersion":"9.8.1","dist":{"integrity":"sha512-0ECxlbkCfBiMKf6wniAMKokONShc5Pdu9BvM9Oa1+jNw9PlmCIvbZIT/XEG3iO90vC2w+tTYenpv/tzSSggHRw==","shasum":"a074e14ad4cfee0a54dfb9502a2a704e6feefc8e","tarball":"https://registry.npmjs.org/hwy/-/hwy-0.0.0-beta.15.tgz","fileCount":4,"unpackedSize":53192,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIAnkyDINysa0UsVQdt+aP+Wms+14NYTk+7Fek6nkx5QFAiEAkiGiQ76usPyQ5Gb/Jn6aEBrC03gaSNO9HYfJ3l4WhYk="}]},"_npmUser":{"name":"sjc5","email":"email@samcook.cc"},"directories":{},"maintainers":[{"name":"sjc5","email":"email@samcook.cc"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/hwy_0.0.0-beta.15_1705379333685_0.25219544660286153"},"_hasShrinkwrap":false},"0.0.0-beta.16":{"name":"hwy","version":"0.0.0-beta.16","author":{"name":"Samuel J. Cook"},"license":"MIT","description":"Simple, lightweight, and flexible web framework, built on Hono and HTMX.","type":"module","exports":{".":"./dist/index.js"},"scripts":{"build":"rm -rf dist && tsup-node index.ts --format esm --dts","dev":"rm -rf dist && tsup-node index.ts --format esm --dts --watch","publish-beta":"npm publish --tag beta","publish-non-beta":"npm publish","update-latest":"pnpm update --latest","typecheck":"tsc"},"dependencies":{"devalue":"^4.3.2","preact-render-to-string":"^6.3.1"},"devDependencies":{"@hono/node-server":"^1.4.0","@hwy-js/build":"workspace:*","@hwy-js/dev":"workspace:*","@types/node":"^20.11.2","hono":"^3.12.4","preact":"^10.19.3","tsup":"^8.0.1"},"peerDependencies":{"hono":"^3.11.1","preact":"^10.19.3"},"repository":{"type":"git","url":"git+https://github.com/hwy-js/hwy.git","directory":"packages/core"},"homepage":"https://hwy.dev","bugs":{"url":"https://github.com/hwy-js/hwy/issues"},"keywords":["simple","lightweight","flexible","framework","metaframework","web","typescript","hono","router","nested","routing","jsx","tsx","nextjs","remix","react","preact","signals"],"sideEffects":false,"_id":"hwy@0.0.0-beta.16","readme":"# Hwy\n\nHwy is a simple, lightweight, and flexible web framework, built on Hono and\nHTMX.\n\n<a href=\"https://pkg-size.dev/hwy\" target=\"_blank\">\n  <img\n    width=\"112\"\n    height=\"20\"\n    style=\"background:darkgray;border-radius:4px;\"\n    src=\"https://pkg-size.dev/badge/bundle/11742\"\n    title=\"Bundle size for hwy\"\n  />\n</a>\n\n## Quick Start\n\n```bash\nnpx create-hwy@latest\n```\n\n## What is Hwy?\n\nHwy is a lot like NextJS or Remix, but it uses **_HTMX_** instead of React on\nthe frontend.\n\nHwy lets you write **_React-style JSX_** in **_nested, file-based routes_**,\nwith **_Remix-style actions and parallel loaders_**.\n\nThe backend server is built on **_Hono_**, so you have access to a rich, growing\necosystem with lots of middleware and wonderful docs.\n\nHwy is **_100% server-rendered_**, but with the HTMX defaults Hwy sets up for\nyou out of the box, your app still **_feels like an SPA_**.\n\nLinks and forms are automatically **_progressively enhanced_** thanks to HTMX's\n`hx-boost` feature. Just use normal anchor tags and traditional form attributes.\n\nBecause Hwy replaces the **_full page_** on transitions by default, everything\nstays **_simple_**. You don't have to return different components from different\nendpoints (unless you want to).\n\nAnd best of all, **_anything you can do with Hono or HTMX, you can do with\nHwy_**.\n\n## Features\n\n- Server-rendered JSX / TSX\n- Nested, file-based routing\n- Remix-style actions and parallel loaders\n- Rich Hono middleware ecosystem\n- 100% type-safe\n- Server built on Hono\n- Client built on HTMX\n- Built-in critical CSS inlining\n- Live browser refresh during development\n- And more...\n\n## Guiding Principles\n\n- No speed limits\n- Numerous off-ramps\n- Smooth, safe roads\n- Clear traffic signs\n\n## Simple usage\n\nBelow is an example of a simple Hwy page. You'll notice it looks a lot like\nRemix, and you're right! Hwy is heavily inspired by Remix, but it uses HTMX\ninstead of React.\n\n```tsx\n// src/pages/user/$user_id.page.tsx\n\nimport type { DataProps, PageProps } from \"hwy\";\nimport { UserProfile, getUser } from \"./somewhere.js\";\n\nexport async function loader({ params }: DataProps) {\n  return await getUser(params.user_id);\n}\n\nexport default function ({ loaderData }: PageProps<typeof loader>) {\n  return <UserProfile user={loaderData} />;\n}\n```\n\n## Get Started\n\nIf you want to dive right in, just open a terminal and run\n`npx create-hwy@latest` and follow the prompts.\n\nIf you'd prefer to read more first, take a peek at\n[our docs](https://hwy.dev/docs).\n\n## Acknowledgements\n\nHwy's APIs are obviously inspired by Remix. If Remix didn't exist, Hwy likely\nwouldn't exist either. Hwy doesn't use any Remix code, but it still owes a big\nthanks to the Remix team (past and present) for their top-tier patterns design.\nIf you're building something huge and important today, use Remix.\n\n## Disclaimer\n\nHwy is in beta! Act accordingly.\n\n## License\n\nMIT License\n\nCopyright (c) 2023 Samuel J. Cook\n","readmeFilename":"README.md","gitHead":"a71ed69da4219c58e200cdef7a0ea6f1a545f5e4","_nodeVersion":"18.18.2","_npmVersion":"9.8.1","dist":{"integrity":"sha512-KItwCvRwvdGGbfUoCcyJXRHLxGDSbGaMDXMq8xG317l4TF1k4vAm2Ge4P6sqdmkXkGKTAJaNzk51cWC22n3CSQ==","shasum":"bcb7d5265ba1e42ef093101294828dc7d5c4b2e2","tarball":"https://registry.npmjs.org/hwy/-/hwy-0.0.0-beta.16.tgz","fileCount":4,"unpackedSize":53240,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIGEf+ozUm2XnSgk0TSAgnx1hvhHnHGJzZizzDcIq9y68AiA8am9peW+jpOITYXyKaNyKACgjUGGiKJ70CrTDsYOhAw=="}]},"_npmUser":{"name":"sjc5","email":"email@samcook.cc"},"directories":{},"maintainers":[{"name":"sjc5","email":"email@samcook.cc"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/hwy_0.0.0-beta.16_1705381302535_0.47739630941332734"},"_hasShrinkwrap":false},"0.0.0-beta.17":{"name":"hwy","version":"0.0.0-beta.17","author":{"name":"Samuel J. Cook"},"license":"MIT","description":"Simple, lightweight, and flexible web framework, built on Hono and HTMX.","type":"module","exports":{".":"./dist/index.js"},"scripts":{"build":"rm -rf dist && tsup-node index.ts --format esm --dts","dev":"rm -rf dist && tsup-node index.ts --format esm --dts --watch","publish-beta":"npm publish --tag beta","publish-non-beta":"npm publish","update-latest":"pnpm update --latest","typecheck":"tsc"},"dependencies":{"devalue":"^4.3.2","preact-render-to-string":"^6.3.1"},"devDependencies":{"@hono/node-server":"^1.4.0","@hwy-js/build":"workspace:*","@hwy-js/dev":"workspace:*","@types/node":"^20.11.2","hono":"^3.12.4","preact":"^10.19.3","tsup":"^8.0.1"},"peerDependencies":{"hono":"^3.11.1","preact":"^10.19.3"},"repository":{"type":"git","url":"git+https://github.com/hwy-js/hwy.git","directory":"packages/core"},"homepage":"https://hwy.dev","bugs":{"url":"https://github.com/hwy-js/hwy/issues"},"keywords":["simple","lightweight","flexible","framework","metaframework","web","typescript","hono","router","nested","routing","jsx","tsx","nextjs","remix","react","preact","signals"],"sideEffects":false,"_id":"hwy@0.0.0-beta.17","readme":"# Hwy\n\nHwy is a simple, lightweight, and flexible web framework, built on Hono and\nHTMX.\n\n<a href=\"https://pkg-size.dev/hwy\" target=\"_blank\">\n  <img\n    width=\"112\"\n    height=\"20\"\n    style=\"background:darkgray;border-radius:4px;\"\n    src=\"https://pkg-size.dev/badge/bundle/11742\"\n    title=\"Bundle size for hwy\"\n  />\n</a>\n\n## Quick Start\n\n```bash\nnpx create-hwy@latest\n```\n\n## What is Hwy?\n\nHwy is a lot like NextJS or Remix, but it uses **_HTMX_** instead of React on\nthe frontend.\n\nHwy lets you write **_React-style JSX_** in **_nested, file-based routes_**,\nwith **_Remix-style actions and parallel loaders_**.\n\nThe backend server is built on **_Hono_**, so you have access to a rich, growing\necosystem with lots of middleware and wonderful docs.\n\nHwy is **_100% server-rendered_**, but with the HTMX defaults Hwy sets up for\nyou out of the box, your app still **_feels like an SPA_**.\n\nLinks and forms are automatically **_progressively enhanced_** thanks to HTMX's\n`hx-boost` feature. Just use normal anchor tags and traditional form attributes.\n\nBecause Hwy replaces the **_full page_** on transitions by default, everything\nstays **_simple_**. You don't have to return different components from different\nendpoints (unless you want to).\n\nAnd best of all, **_anything you can do with Hono or HTMX, you can do with\nHwy_**.\n\n## Features\n\n- Server-rendered JSX / TSX\n- Nested, file-based routing\n- Remix-style actions and parallel loaders\n- Rich Hono middleware ecosystem\n- 100% type-safe\n- Server built on Hono\n- Client built on HTMX\n- Built-in critical CSS inlining\n- Live browser refresh during development\n- And more...\n\n## Guiding Principles\n\n- No speed limits\n- Numerous off-ramps\n- Smooth, safe roads\n- Clear traffic signs\n\n## Simple usage\n\nBelow is an example of a simple Hwy page. You'll notice it looks a lot like\nRemix, and you're right! Hwy is heavily inspired by Remix, but it uses HTMX\ninstead of React.\n\n```tsx\n// src/pages/user/$user_id.page.tsx\n\nimport type { DataProps, PageProps } from \"hwy\";\nimport { UserProfile, getUser } from \"./somewhere.js\";\n\nexport async function loader({ params }: DataProps) {\n  return await getUser(params.user_id);\n}\n\nexport default function ({ loaderData }: PageProps<typeof loader>) {\n  return <UserProfile user={loaderData} />;\n}\n```\n\n## Get Started\n\nIf you want to dive right in, just open a terminal and run\n`npx create-hwy@latest` and follow the prompts.\n\nIf you'd prefer to read more first, take a peek at\n[our docs](https://hwy.dev/docs).\n\n## Acknowledgements\n\nHwy's APIs are obviously inspired by Remix. If Remix didn't exist, Hwy likely\nwouldn't exist either. Hwy doesn't use any Remix code, but it still owes a big\nthanks to the Remix team (past and present) for their top-tier patterns design.\nIf you're building something huge and important today, use Remix.\n\n## Disclaimer\n\nHwy is in beta! Act accordingly.\n\n## License\n\nMIT License\n\nCopyright (c) 2023 Samuel J. Cook\n","readmeFilename":"README.md","gitHead":"a71ed69da4219c58e200cdef7a0ea6f1a545f5e4","_nodeVersion":"18.18.2","_npmVersion":"9.8.1","dist":{"integrity":"sha512-gq9Mopl7wMkvkUAJS8aGNhX3TtE7pzIAajFpQQTFnjAeLOqs6fGhCcgxnSPX50NzWW2+dIU9P5kGQ/F+5QOaCA==","shasum":"b636fd9970abc642f3d7fa571c7d16faf80a0a0a","tarball":"https://registry.npmjs.org/hwy/-/hwy-0.0.0-beta.17.tgz","fileCount":4,"unpackedSize":53151,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCUoL/nWJr6+F6MZHtbNzBehadExE9ETQVvNQ44iPzwvgIhAPPVxnSpuVZXbYQKNMCok0IBjQGzjJ3ho0HkIkBx5G3V"}]},"_npmUser":{"name":"sjc5","email":"email@samcook.cc"},"directories":{},"maintainers":[{"name":"sjc5","email":"email@samcook.cc"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/hwy_0.0.0-beta.17_1705381863351_0.692704439750006"},"_hasShrinkwrap":false},"0.0.0-beta.18":{"name":"hwy","version":"0.0.0-beta.18","author":{"name":"Samuel J. Cook"},"license":"MIT","description":"Simple, lightweight, and flexible web framework, built on Hono and HTMX.","type":"module","exports":{".":"./dist/index.js"},"scripts":{"build":"rm -rf dist && tsup-node index.ts --format esm --dts","dev":"rm -rf dist && tsup-node index.ts --format esm --dts --watch","publish-beta":"npm publish --tag beta","publish-non-beta":"npm publish","update-latest":"pnpm update --latest","typecheck":"tsc"},"dependencies":{"devalue":"^4.3.2","preact-render-to-string":"^6.3.1"},"devDependencies":{"@hono/node-server":"^1.4.0","@hwy-js/build":"workspace:*","@hwy-js/dev":"workspace:*","@types/node":"^20.11.2","hono":"^3.12.4","preact":"^10.19.3","tsup":"^8.0.1"},"peerDependencies":{"hono":"^3.11.1","preact":"^10.19.3"},"repository":{"type":"git","url":"git+https://github.com/hwy-js/hwy.git","directory":"packages/core"},"homepage":"https://hwy.dev","bugs":{"url":"https://github.com/hwy-js/hwy/issues"},"keywords":["simple","lightweight","flexible","framework","metaframework","web","typescript","hono","router","nested","routing","jsx","tsx","nextjs","remix","react","preact","signals"],"sideEffects":false,"_id":"hwy@0.0.0-beta.18","readme":"# Hwy\n\nHwy is a simple, lightweight, and flexible web framework, built on Hono and\nHTMX.\n\n<a href=\"https://pkg-size.dev/hwy\" target=\"_blank\">\n  <img\n    width=\"112\"\n    height=\"20\"\n    style=\"background:darkgray;border-radius:4px;\"\n    src=\"https://pkg-size.dev/badge/bundle/11742\"\n    title=\"Bundle size for hwy\"\n  />\n</a>\n\n## Quick Start\n\n```bash\nnpx create-hwy@latest\n```\n\n## What is Hwy?\n\nHwy is a lot like NextJS or Remix, but it uses **_HTMX_** instead of React on\nthe frontend.\n\nHwy lets you write **_React-style JSX_** in **_nested, file-based routes_**,\nwith **_Remix-style actions and parallel loaders_**.\n\nThe backend server is built on **_Hono_**, so you have access to a rich, growing\necosystem with lots of middleware and wonderful docs.\n\nHwy is **_100% server-rendered_**, but with the HTMX defaults Hwy sets up for\nyou out of the box, your app still **_feels like an SPA_**.\n\nLinks and forms are automatically **_progressively enhanced_** thanks to HTMX's\n`hx-boost` feature. Just use normal anchor tags and traditional form attributes.\n\nBecause Hwy replaces the **_full page_** on transitions by default, everything\nstays **_simple_**. You don't have to return different components from different\nendpoints (unless you want to).\n\nAnd best of all, **_anything you can do with Hono or HTMX, you can do with\nHwy_**.\n\n## Features\n\n- Server-rendered JSX / TSX\n- Nested, file-based routing\n- Remix-style actions and parallel loaders\n- Rich Hono middleware ecosystem\n- 100% type-safe\n- Server built on Hono\n- Client built on HTMX\n- Built-in critical CSS inlining\n- Live browser refresh during development\n- And more...\n\n## Guiding Principles\n\n- No speed limits\n- Numerous off-ramps\n- Smooth, safe roads\n- Clear traffic signs\n\n## Simple usage\n\nBelow is an example of a simple Hwy page. You'll notice it looks a lot like\nRemix, and you're right! Hwy is heavily inspired by Remix, but it uses HTMX\ninstead of React.\n\n```tsx\n// src/pages/user/$user_id.page.tsx\n\nimport type { DataProps, PageProps } from \"hwy\";\nimport { UserProfile, getUser } from \"./somewhere.js\";\n\nexport async function loader({ params }: DataProps) {\n  return await getUser(params.user_id);\n}\n\nexport default function ({ loaderData }: PageProps<typeof loader>) {\n  return <UserProfile user={loaderData} />;\n}\n```\n\n## Get Started\n\nIf you want to dive right in, just open a terminal and run\n`npx create-hwy@latest` and follow the prompts.\n\nIf you'd prefer to read more first, take a peek at\n[our docs](https://hwy.dev/docs).\n\n## Acknowledgements\n\nHwy's APIs are obviously inspired by Remix. If Remix didn't exist, Hwy likely\nwouldn't exist either. Hwy doesn't use any Remix code, but it still owes a big\nthanks to the Remix team (past and present) for their top-tier patterns design.\nIf you're building something huge and important today, use Remix.\n\n## Disclaimer\n\nHwy is in beta! Act accordingly.\n\n## License\n\nMIT License\n\nCopyright (c) 2023 Samuel J. Cook\n","readmeFilename":"README.md","gitHead":"a71ed69da4219c58e200cdef7a0ea6f1a545f5e4","_nodeVersion":"18.18.2","_npmVersion":"9.8.1","dist":{"integrity":"sha512-o4eyeIDKC8JFsEo75MRlthZBs/hbU0en44fBOlKQ6jsu/7AbafbVhUOn5RN7w3azaWiYUt5jzWYX8X6r9FsOvQ==","shasum":"b190752ead4d875d54dc2c5fadb4005b0d04fe3f","tarball":"https://registry.npmjs.org/hwy/-/hwy-0.0.0-beta.18.tgz","fileCount":4,"unpackedSize":53151,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQD+MBRjQaj8yA9RKwjGNU2PcmhyvXym+vS9MxVUS29RrQIgTF1WFUZeGYAOnqsG2OPpBc18ryg1dbbmTaKB3q+EKFQ="}]},"_npmUser":{"name":"sjc5","email":"email@samcook.cc"},"directories":{},"maintainers":[{"name":"sjc5","email":"email@samcook.cc"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/hwy_0.0.0-beta.18_1705440626788_0.6185308346880092"},"_hasShrinkwrap":false},"0.0.0-beta.19":{"name":"hwy","version":"0.0.0-beta.19","author":{"name":"Samuel J. Cook"},"license":"MIT","description":"Simple, lightweight, and flexible web framework, built on Hono and HTMX.","type":"module","exports":{".":"./dist/index.js"},"scripts":{"build":"rm -rf dist && tsup-node index.ts --format esm --dts","dev":"rm -rf dist && tsup-node index.ts --format esm --dts --watch","publish-beta":"npm publish --tag beta","publish-non-beta":"npm publish","update-latest":"pnpm update --latest","typecheck":"tsc"},"dependencies":{"devalue":"^4.3.2","preact-render-to-string":"^6.3.1"},"devDependencies":{"@hono/node-server":"^1.4.0","@hwy-js/build":"workspace:*","@hwy-js/dev":"workspace:*","@types/node":"^20.11.2","hono":"^3.12.4","preact":"^10.19.3","tsup":"^8.0.1"},"peerDependencies":{"hono":"^3.11.1","preact":"^10.19.3"},"repository":{"type":"git","url":"git+https://github.com/hwy-js/hwy.git","directory":"packages/core"},"homepage":"https://hwy.dev","bugs":{"url":"https://github.com/hwy-js/hwy/issues"},"keywords":["simple","lightweight","flexible","framework","metaframework","web","typescript","hono","router","nested","routing","jsx","tsx","nextjs","remix","react","preact","signals"],"sideEffects":false,"_id":"hwy@0.0.0-beta.19","readme":"# Hwy\n\nHwy is a simple, lightweight, and flexible web framework, built on Hono and\nHTMX.\n\n<a href=\"https://pkg-size.dev/hwy\" target=\"_blank\">\n  <img\n    width=\"112\"\n    height=\"20\"\n    style=\"background:darkgray;border-radius:4px;\"\n    src=\"https://pkg-size.dev/badge/bundle/11742\"\n    title=\"Bundle size for hwy\"\n  />\n</a>\n\n## Quick Start\n\n```bash\nnpx create-hwy@latest\n```\n\n## What is Hwy?\n\nHwy is a lot like NextJS or Remix, but it uses **_HTMX_** instead of React on\nthe frontend.\n\nHwy lets you write **_React-style JSX_** in **_nested, file-based routes_**,\nwith **_Remix-style actions and parallel loaders_**.\n\nThe backend server is built on **_Hono_**, so you have access to a rich, growing\necosystem with lots of middleware and wonderful docs.\n\nHwy is **_100% server-rendered_**, but with the HTMX defaults Hwy sets up for\nyou out of the box, your app still **_feels like an SPA_**.\n\nLinks and forms are automatically **_progressively enhanced_** thanks to HTMX's\n`hx-boost` feature. Just use normal anchor tags and traditional form attributes.\n\nBecause Hwy replaces the **_full page_** on transitions by default, everything\nstays **_simple_**. You don't have to return different components from different\nendpoints (unless you want to).\n\nAnd best of all, **_anything you can do with Hono or HTMX, you can do with\nHwy_**.\n\n## Features\n\n- Server-rendered JSX / TSX\n- Nested, file-based routing\n- Remix-style actions and parallel loaders\n- Rich Hono middleware ecosystem\n- 100% type-safe\n- Server built on Hono\n- Client built on HTMX\n- Built-in critical CSS inlining\n- Live browser refresh during development\n- And more...\n\n## Guiding Principles\n\n- No speed limits\n- Numerous off-ramps\n- Smooth, safe roads\n- Clear traffic signs\n\n## Simple usage\n\nBelow is an example of a simple Hwy page. You'll notice it looks a lot like\nRemix, and you're right! Hwy is heavily inspired by Remix, but it uses HTMX\ninstead of React.\n\n```tsx\n// src/pages/user/$user_id.page.tsx\n\nimport type { DataProps, PageProps } from \"hwy\";\nimport { UserProfile, getUser } from \"./somewhere.js\";\n\nexport async function loader({ params }: DataProps) {\n  return await getUser(params.user_id);\n}\n\nexport default function ({ loaderData }: PageProps<typeof loader>) {\n  return <UserProfile user={loaderData} />;\n}\n```\n\n## Get Started\n\nIf you want to dive right in, just open a terminal and run\n`npx create-hwy@latest` and follow the prompts.\n\nIf you'd prefer to read more first, take a peek at\n[our docs](https://hwy.dev/docs).\n\n## Acknowledgements\n\nHwy's APIs are obviously inspired by Remix. If Remix didn't exist, Hwy likely\nwouldn't exist either. Hwy doesn't use any Remix code, but it still owes a big\nthanks to the Remix team (past and present) for their top-tier patterns design.\nIf you're building something huge and important today, use Remix.\n\n## Disclaimer\n\nHwy is in beta! Act accordingly.\n\n## License\n\nMIT License\n\nCopyright (c) 2023 Samuel J. Cook\n","readmeFilename":"README.md","gitHead":"145e4f1395c2e377500d05f97845f14735d90826","_nodeVersion":"18.18.2","_npmVersion":"9.8.1","dist":{"integrity":"sha512-joF2AM3KqKZ7lXT1eMWfMFAX255TT3qu2WdPhULAk01RDEKieOt4I4B4obru5p7Hnl9I3pmojmXtkN9xD+UxSg==","shasum":"892232c7299ae9b50f7ed7cfdefac4dc4ad613d4","tarball":"https://registry.npmjs.org/hwy/-/hwy-0.0.0-beta.19.tgz","fileCount":4,"unpackedSize":52776,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQC6kWHI4k31fvrWIJ2fBdwWi2rFCImAd/zhZ2sXeVaHaQIgDY0CXO3ebt0DSv9LRHiPaMTJQQxbIHhA1kFVsxhipeI="}]},"_npmUser":{"name":"sjc5","email":"email@samcook.cc"},"directories":{},"maintainers":[{"name":"sjc5","email":"email@samcook.cc"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/hwy_0.0.0-beta.19_1705457255181_0.5685255871717692"},"_hasShrinkwrap":false},"0.0.0-beta.20":{"name":"hwy","version":"0.0.0-beta.20","author":{"name":"Samuel J. Cook"},"license":"MIT","description":"Simple, lightweight, and flexible web framework, built on Hono and HTMX.","type":"module","exports":{".":"./dist/index.js"},"scripts":{"build":"rm -rf dist && tsup-node index.ts --format esm --dts","dev":"rm -rf dist && tsup-node index.ts --format esm --dts --watch","publish-beta":"npm publish --tag beta","publish-non-beta":"npm publish","update-latest":"pnpm update --latest","typecheck":"tsc"},"dependencies":{"devalue":"^4.3.2","preact-render-to-string":"^6.3.1"},"devDependencies":{"@hono/node-server":"^1.4.0","@hwy-js/build":"workspace:*","@hwy-js/dev":"workspace:*","@types/node":"^20.11.2","hono":"^3.12.4","preact":"^10.19.3","tsup":"^8.0.1"},"peerDependencies":{"hono":"^3.11.1","preact":"^10.19.3"},"repository":{"type":"git","url":"git+https://github.com/hwy-js/hwy.git","directory":"packages/core"},"homepage":"https://hwy.dev","bugs":{"url":"https://github.com/hwy-js/hwy/issues"},"keywords":["simple","lightweight","flexible","framework","metaframework","web","typescript","hono","router","nested","routing","jsx","tsx","nextjs","remix","react","preact","signals"],"sideEffects":false,"_id":"hwy@0.0.0-beta.20","readme":"# Hwy\n\nHwy is a simple, lightweight, and flexible web framework, built on Hono and\nHTMX.\n\n<a href=\"https://pkg-size.dev/hwy\" target=\"_blank\">\n  <img\n    width=\"112\"\n    height=\"20\"\n    style=\"background:darkgray;border-radius:4px;\"\n    src=\"https://pkg-size.dev/badge/bundle/11742\"\n    title=\"Bundle size for hwy\"\n  />\n</a>\n\n## Quick Start\n\n```bash\nnpx create-hwy@latest\n```\n\n## What is Hwy?\n\nHwy is a lot like NextJS or Remix, but it uses **_HTMX_** instead of React on\nthe frontend.\n\nHwy lets you write **_React-style JSX_** in **_nested, file-based routes_**,\nwith **_Remix-style actions and parallel loaders_**.\n\nThe backend server is built on **_Hono_**, so you have access to a rich, growing\necosystem with lots of middleware and wonderful docs.\n\nHwy is **_100% server-rendered_**, but with the HTMX defaults Hwy sets up for\nyou out of the box, your app still **_feels like an SPA_**.\n\nLinks and forms are automatically **_progressively enhanced_** thanks to HTMX's\n`hx-boost` feature. Just use normal anchor tags and traditional form attributes.\n\nBecause Hwy replaces the **_full page_** on transitions by default, everything\nstays **_simple_**. You don't have to return different components from different\nendpoints (unless you want to).\n\nAnd best of all, **_anything you can do with Hono or HTMX, you can do with\nHwy_**.\n\n## Features\n\n- Server-rendered JSX / TSX\n- Nested, file-based routing\n- Remix-style actions and parallel loaders\n- Rich Hono middleware ecosystem\n- 100% type-safe\n- Server built on Hono\n- Client built on HTMX\n- Built-in critical CSS inlining\n- Live browser refresh during development\n- And more...\n\n## Guiding Principles\n\n- No speed limits\n- Numerous off-ramps\n- Smooth, safe roads\n- Clear traffic signs\n\n## Simple usage\n\nBelow is an example of a simple Hwy page. You'll notice it looks a lot like\nRemix, and you're right! Hwy is heavily inspired by Remix, but it uses HTMX\ninstead of React.\n\n```tsx\n// src/pages/user/$user_id.page.tsx\n\nimport type { DataProps, PageProps } from \"hwy\";\nimport { UserProfile, getUser } from \"./somewhere.js\";\n\nexport async function loader({ params }: DataProps) {\n  return await getUser(params.user_id);\n}\n\nexport default function ({ loaderData }: PageProps<typeof loader>) {\n  return <UserProfile user={loaderData} />;\n}\n```\n\n## Get Started\n\nIf you want to dive right in, just open a terminal and run\n`npx create-hwy@latest` and follow the prompts.\n\nIf you'd prefer to read more first, take a peek at\n[our docs](https://hwy.dev/docs).\n\n## Acknowledgements\n\nHwy's APIs are obviously inspired by Remix. If Remix didn't exist, Hwy likely\nwouldn't exist either. Hwy doesn't use any Remix code, but it still owes a big\nthanks to the Remix team (past and present) for their top-tier patterns design.\nIf you're building something huge and important today, use Remix.\n\n## Disclaimer\n\nHwy is in beta! Act accordingly.\n\n## License\n\nMIT License\n\nCopyright (c) 2023 Samuel J. Cook\n","readmeFilename":"README.md","gitHead":"145e4f1395c2e377500d05f97845f14735d90826","_nodeVersion":"18.18.2","_npmVersion":"9.8.1","dist":{"integrity":"sha512-Gq19ggh2ZA4pU/xpK5/e6rOd5j/tP2Q9gL9DIe4vWu6E7RdgwUMNxOcwUPEy9mCO5UTTE6ms7qY0u0OVp0Rcxg==","shasum":"4721ad0d6b22ca6a3e6065361c82ecd17824605f","tarball":"https://registry.npmjs.org/hwy/-/hwy-0.0.0-beta.20.tgz","fileCount":4,"unpackedSize":52776,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCvYJfrbnLZI0TzyuhpqGY3ulgNqc0iHuMxy/UQCjuamwIhAOV6w59FGh+0vRCBCdtHqxim+eqCQpYYWaKv7z4QhC2m"}]},"_npmUser":{"name":"sjc5","email":"email@samcook.cc"},"directories":{},"maintainers":[{"name":"sjc5","email":"email@samcook.cc"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/hwy_0.0.0-beta.20_1705457470317_0.22417196692895347"},"_hasShrinkwrap":false},"0.0.0-beta.21":{"name":"hwy","version":"0.0.0-beta.21","author":{"name":"Samuel J. Cook"},"license":"MIT","description":"Simple, lightweight, and flexible web framework, built on Hono and HTMX.","type":"module","exports":{".":"./dist/index.js"},"scripts":{"build":"rm -rf dist && tsup-node index.ts --format esm --dts","dev":"rm -rf dist && tsup-node index.ts --format esm --dts --watch","publish-beta":"npm publish --tag beta","publish-non-beta":"npm publish","update-latest":"pnpm update --latest","typecheck":"tsc"},"dependencies":{"devalue":"^4.3.2","preact-render-to-string":"^6.3.1"},"devDependencies":{"@hono/node-server":"^1.4.0","@hwy-js/build":"workspace:*","@hwy-js/dev":"workspace:*","@types/node":"^20.11.2","hono":"^3.12.4","preact":"^10.19.3","tsup":"^8.0.1"},"peerDependencies":{"hono":"^3.11.1","preact":"^10.19.3"},"repository":{"type":"git","url":"git+https://github.com/hwy-js/hwy.git","directory":"packages/core"},"homepage":"https://hwy.dev","bugs":{"url":"https://github.com/hwy-js/hwy/issues"},"keywords":["simple","lightweight","flexible","framework","metaframework","web","typescript","hono","router","nested","routing","jsx","tsx","nextjs","remix","react","preact","signals"],"sideEffects":false,"_id":"hwy@0.0.0-beta.21","readme":"# Hwy\n\nHwy is a simple, lightweight, and flexible web framework, built on Hono and\nHTMX.\n\n<a href=\"https://pkg-size.dev/hwy\" target=\"_blank\">\n  <img\n    width=\"112\"\n    height=\"20\"\n    style=\"background:darkgray;border-radius:4px;\"\n    src=\"https://pkg-size.dev/badge/bundle/11742\"\n    title=\"Bundle size for hwy\"\n  />\n</a>\n\n## Quick Start\n\n```bash\nnpx create-hwy@latest\n```\n\n## What is Hwy?\n\nHwy is a lot like NextJS or Remix, but it uses **_HTMX_** instead of React on\nthe frontend.\n\nHwy lets you write **_React-style JSX_** in **_nested, file-based routes_**,\nwith **_Remix-style actions and parallel loaders_**.\n\nThe backend server is built on **_Hono_**, so you have access to a rich, growing\necosystem with lots of middleware and wonderful docs.\n\nHwy is **_100% server-rendered_**, but with the HTMX defaults Hwy sets up for\nyou out of the box, your app still **_feels like an SPA_**.\n\nLinks and forms are automatically **_progressively enhanced_** thanks to HTMX's\n`hx-boost` feature. Just use normal anchor tags and traditional form attributes.\n\nBecause Hwy replaces the **_full page_** on transitions by default, everything\nstays **_simple_**. You don't have to return different components from different\nendpoints (unless you want to).\n\nAnd best of all, **_anything you can do with Hono or HTMX, you can do with\nHwy_**.\n\n## Features\n\n- Server-rendered JSX / TSX\n- Nested, file-based routing\n- Remix-style actions and parallel loaders\n- Rich Hono middleware ecosystem\n- 100% type-safe\n- Server built on Hono\n- Client built on HTMX\n- Built-in critical CSS inlining\n- Live browser refresh during development\n- And more...\n\n## Guiding Principles\n\n- No speed limits\n- Numerous off-ramps\n- Smooth, safe roads\n- Clear traffic signs\n\n## Simple usage\n\nBelow is an example of a simple Hwy page. You'll notice it looks a lot like\nRemix, and you're right! Hwy is heavily inspired by Remix, but it uses HTMX\ninstead of React.\n\n```tsx\n// src/pages/user/$user_id.page.tsx\n\nimport type { DataProps, PageProps } from \"hwy\";\nimport { UserProfile, getUser } from \"./somewhere.js\";\n\nexport async function loader({ params }: DataProps) {\n  return await getUser(params.user_id);\n}\n\nexport default function ({ loaderData }: PageProps<typeof loader>) {\n  return <UserProfile user={loaderData} />;\n}\n```\n\n## Get Started\n\nIf you want to dive right in, just open a terminal and run\n`npx create-hwy@latest` and follow the prompts.\n\nIf you'd prefer to read more first, take a peek at\n[our docs](https://hwy.dev/docs).\n\n## Acknowledgements\n\nHwy's APIs are obviously inspired by Remix. If Remix didn't exist, Hwy likely\nwouldn't exist either. Hwy doesn't use any Remix code, but it still owes a big\nthanks to the Remix team (past and present) for their top-tier patterns design.\nIf you're building something huge and important today, use Remix.\n\n## Disclaimer\n\nHwy is in beta! Act accordingly.\n\n## License\n\nMIT License\n\nCopyright (c) 2023 Samuel J. Cook\n","readmeFilename":"README.md","gitHead":"6c7a6734aefcf26fbcdb0f0be34e6a2f889a19ec","_nodeVersion":"18.18.2","_npmVersion":"9.8.1","dist":{"integrity":"sha512-B3QpwjthVfkDyEkjun89uhuqjpH6u/7EXD2LqQNIpwHoL4DIXGawcoN1KzXmLFi9iAJ+iKu3Vror2JmG3vHqxg==","shasum":"dd4ac2aadf4aa39790dcbe6311c746db29db6bcd","tarball":"https://registry.npmjs.org/hwy/-/hwy-0.0.0-beta.21.tgz","fileCount":4,"unpackedSize":52776,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIH1CZ6q0btnjR8FUegn4qSgNiK9pJ/V/sNbIVtk53gWGAiAx+FE5zd4hgh29mlfM/nGHregHf4otEWTPJxm9B8u1VA=="}]},"_npmUser":{"name":"sjc5","email":"email@samcook.cc"},"directories":{},"maintainers":[{"name":"sjc5","email":"email@samcook.cc"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/hwy_0.0.0-beta.21_1705535695377_0.1534078817562161"},"_hasShrinkwrap":false},"0.0.0-beta.22":{"name":"hwy","version":"0.0.0-beta.22","author":{"name":"Samuel J. Cook"},"license":"MIT","description":"Simple, lightweight, and flexible web framework, built on Hono and HTMX.","type":"module","exports":{".":"./dist/index.js"},"scripts":{"build":"rm -rf dist && tsup-node index.ts --format esm --dts","dev":"rm -rf dist && tsup-node index.ts --format esm --dts --watch","publish-beta":"npm publish --tag beta","publish-non-beta":"npm publish","update-latest":"pnpm update --latest","typecheck":"tsc"},"dependencies":{"devalue":"^4.3.2","preact-render-to-string":"^6.3.1"},"devDependencies":{"@hono/node-server":"^1.4.0","@hwy-js/build":"workspace:*","@hwy-js/dev":"workspace:*","@types/node":"^20.11.2","hono":"^3.12.4","preact":"^10.19.3","tsup":"^8.0.1"},"peerDependencies":{"hono":"^3.11.1","preact":"^10.19.3"},"repository":{"type":"git","url":"git+https://github.com/hwy-js/hwy.git","directory":"packages/core"},"homepage":"https://hwy.dev","bugs":{"url":"https://github.com/hwy-js/hwy/issues"},"keywords":["simple","lightweight","flexible","framework","metaframework","web","typescript","hono","router","nested","routing","jsx","tsx","nextjs","remix","react","preact","signals"],"sideEffects":false,"_id":"hwy@0.0.0-beta.22","readme":"# Hwy\n\nHwy is a simple, lightweight, and flexible web framework, built on Hono and\nHTMX.\n\n<a href=\"https://pkg-size.dev/hwy\" target=\"_blank\">\n  <img\n    width=\"112\"\n    height=\"20\"\n    style=\"background:darkgray;border-radius:4px;\"\n    src=\"https://pkg-size.dev/badge/bundle/11742\"\n    title=\"Bundle size for hwy\"\n  />\n</a>\n\n## Quick Start\n\n```bash\nnpx create-hwy@latest\n```\n\n## What is Hwy?\n\nHwy is a lot like NextJS or Remix, but it uses **_HTMX_** instead of React on\nthe frontend.\n\nHwy lets you write **_React-style JSX_** in **_nested, file-based routes_**,\nwith **_Remix-style actions and parallel loaders_**.\n\nThe backend server is built on **_Hono_**, so you have access to a rich, growing\necosystem with lots of middleware and wonderful docs.\n\nHwy is **_100% server-rendered_**, but with the HTMX defaults Hwy sets up for\nyou out of the box, your app still **_feels like an SPA_**.\n\nLinks and forms are automatically **_progressively enhanced_** thanks to HTMX's\n`hx-boost` feature. Just use normal anchor tags and traditional form attributes.\n\nBecause Hwy replaces the **_full page_** on transitions by default, everything\nstays **_simple_**. You don't have to return different components from different\nendpoints (unless you want to).\n\nAnd best of all, **_anything you can do with Hono or HTMX, you can do with\nHwy_**.\n\n## Features\n\n- Server-rendered JSX / TSX\n- Nested, file-based routing\n- Remix-style actions and parallel loaders\n- Rich Hono middleware ecosystem\n- 100% type-safe\n- Server built on Hono\n- Client built on HTMX\n- Built-in critical CSS inlining\n- Live browser refresh during development\n- And more...\n\n## Guiding Principles\n\n- No speed limits\n- Numerous off-ramps\n- Smooth, safe roads\n- Clear traffic signs\n\n## Simple usage\n\nBelow is an example of a simple Hwy page. You'll notice it looks a lot like\nRemix, and you're right! Hwy is heavily inspired by Remix, but it uses HTMX\ninstead of React.\n\n```tsx\n// src/pages/user/$user_id.page.tsx\n\nimport type { DataProps, PageProps } from \"hwy\";\nimport { UserProfile, getUser } from \"./somewhere.js\";\n\nexport async function loader({ params }: DataProps) {\n  return await getUser(params.user_id);\n}\n\nexport default function ({ loaderData }: PageProps<typeof loader>) {\n  return <UserProfile user={loaderData} />;\n}\n```\n\n## Get Started\n\nIf you want to dive right in, just open a terminal and run\n`npx create-hwy@latest` and follow the prompts.\n\nIf you'd prefer to read more first, take a peek at\n[our docs](https://hwy.dev/docs).\n\n## Acknowledgements\n\nHwy's APIs are obviously inspired by Remix. If Remix didn't exist, Hwy likely\nwouldn't exist either. Hwy doesn't use any Remix code, but it still owes a big\nthanks to the Remix team (past and present) for their top-tier patterns design.\nIf you're building something huge and important today, use Remix.\n\n## Disclaimer\n\nHwy is in beta! Act accordingly.\n\n## License\n\nMIT License\n\nCopyright (c) 2023 Samuel J. Cook\n","readmeFilename":"README.md","gitHead":"6c7a6734aefcf26fbcdb0f0be34e6a2f889a19ec","_nodeVersion":"18.18.2","_npmVersion":"9.8.1","dist":{"integrity":"sha512-PJyv6swkcs6B7mwS31bT/VDNg/ts9zMAGbfPvKdxYx4INn/mHK9OPYQGJvcIU4/g36X+p73Gmi0nMEtiqROPNw==","shasum":"d4230d743732c0e39bb270e224d7714b84d9245e","tarball":"https://registry.npmjs.org/hwy/-/hwy-0.0.0-beta.22.tgz","fileCount":4,"unpackedSize":53000,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCZddhSaokt06B/9F6L7TNBFrYeCTZJTuNGPxjNSXmscQIgOvy81V0Br30aogc3DyI6lR4VcMY8bRyBvButWKfjazA="}]},"_npmUser":{"name":"sjc5","email":"email@samcook.cc"},"directories":{},"maintainers":[{"name":"sjc5","email":"email@samcook.cc"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/hwy_0.0.0-beta.22_1705552993938_0.37664665461079516"},"_hasShrinkwrap":false},"0.0.0-beta.23":{"name":"hwy","version":"0.0.0-beta.23","author":{"name":"Samuel J. Cook"},"license":"MIT","description":"Simple, lightweight, and flexible web framework, built on Hono and HTMX.","type":"module","exports":{".":"./dist/index.js"},"scripts":{"build":"rm -rf dist && tsup-node index.ts --format esm --dts","dev":"rm -rf dist && tsup-node index.ts --format esm --dts --watch","publish-beta":"npm publish --tag beta","publish-non-beta":"npm publish","update-latest":"pnpm update --latest","typecheck":"tsc"},"dependencies":{"devalue":"^4.3.2","preact-render-to-string":"^6.3.1"},"devDependencies":{"@hono/node-server":"^1.4.0","@hwy-js/build":"workspace:*","@hwy-js/dev":"workspace:*","@types/node":"^20.11.2","hono":"^3.12.4","preact":"^10.19.3","tsup":"^8.0.1"},"peerDependencies":{"hono":"^3.11.1","preact":"^10.19.3"},"repository":{"type":"git","url":"git+https://github.com/hwy-js/hwy.git","directory":"packages/core"},"homepage":"https://hwy.dev","bugs":{"url":"https://github.com/hwy-js/hwy/issues"},"keywords":["simple","lightweight","flexible","framework","metaframework","web","typescript","hono","router","nested","routing","jsx","tsx","nextjs","remix","react","preact","signals"],"sideEffects":false,"_id":"hwy@0.0.0-beta.23","readme":"# Hwy\n\nHwy is a simple, lightweight, and flexible web framework, built on Hono and\nHTMX.\n\n<a href=\"https://pkg-size.dev/hwy\" target=\"_blank\">\n  <img\n    width=\"112\"\n    height=\"20\"\n    style=\"background:darkgray;border-radius:4px;\"\n    src=\"https://pkg-size.dev/badge/bundle/11742\"\n    title=\"Bundle size for hwy\"\n  />\n</a>\n\n## Quick Start\n\n```bash\nnpx create-hwy@latest\n```\n\n## What is Hwy?\n\nHwy is a lot like NextJS or Remix, but it uses **_HTMX_** instead of React on\nthe frontend.\n\nHwy lets you write **_React-style JSX_** in **_nested, file-based routes_**,\nwith **_Remix-style actions and parallel loaders_**.\n\nThe backend server is built on **_Hono_**, so you have access to a rich, growing\necosystem with lots of middleware and wonderful docs.\n\nHwy is **_100% server-rendered_**, but with the HTMX defaults Hwy sets up for\nyou out of the box, your app still **_feels like an SPA_**.\n\nLinks and forms are automatically **_progressively enhanced_** thanks to HTMX's\n`hx-boost` feature. Just use normal anchor tags and traditional form attributes.\n\nBecause Hwy replaces the **_full page_** on transitions by default, everything\nstays **_simple_**. You don't have to return different components from different\nendpoints (unless you want to).\n\nAnd best of all, **_anything you can do with Hono or HTMX, you can do with\nHwy_**.\n\n## Features\n\n- Server-rendered JSX / TSX\n- Nested, file-based routing\n- Remix-style actions and parallel loaders\n- Rich Hono middleware ecosystem\n- 100% type-safe\n- Server built on Hono\n- Client built on HTMX\n- Built-in critical CSS inlining\n- Live browser refresh during development\n- And more...\n\n## Guiding Principles\n\n- No speed limits\n- Numerous off-ramps\n- Smooth, safe roads\n- Clear traffic signs\n\n## Simple usage\n\nBelow is an example of a simple Hwy page. You'll notice it looks a lot like\nRemix, and you're right! Hwy is heavily inspired by Remix, but it uses HTMX\ninstead of React.\n\n```tsx\n// src/pages/user/$user_id.page.tsx\n\nimport type { DataProps, PageProps } from \"hwy\";\nimport { UserProfile, getUser } from \"./somewhere.js\";\n\nexport async function loader({ params }: DataProps) {\n  return await getUser(params.user_id);\n}\n\nexport default function ({ loaderData }: PageProps<typeof loader>) {\n  return <UserProfile user={loaderData} />;\n}\n```\n\n## Get Started\n\nIf you want to dive right in, just open a terminal and run\n`npx create-hwy@latest` and follow the prompts.\n\nIf you'd prefer to read more first, take a peek at\n[our docs](https://hwy.dev/docs).\n\n## Acknowledgements\n\nHwy's APIs are obviously inspired by Remix. If Remix didn't exist, Hwy likely\nwouldn't exist either. Hwy doesn't use any Remix code, but it still owes a big\nthanks to the Remix team (past and present) for their top-tier patterns design.\nIf you're building something huge and important today, use Remix.\n\n## Disclaimer\n\nHwy is in beta! Act accordingly.\n\n## License\n\nMIT License\n\nCopyright (c) 2023 Samuel J. Cook\n","readmeFilename":"README.md","gitHead":"6c7a6734aefcf26fbcdb0f0be34e6a2f889a19ec","_nodeVersion":"18.18.2","_npmVersion":"9.8.1","dist":{"integrity":"sha512-++xRFPveQgGynG3LAdBRQqsAriHiiUJOxPev5AlWLKy5vFyfRIo0mMzUnhZEi7tsjCodoa7rK6+z2/f2ldfARQ==","shasum":"fb36513efde7fc4a127a866ed24cc95edbabc40c","tarball":"https://registry.npmjs.org/hwy/-/hwy-0.0.0-beta.23.tgz","fileCount":4,"unpackedSize":53000,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDnMn+X7OqMfWsVU7FmZIVJGLhonDkDch58iMGme2x8xwIhAP6tN5dEr+1v+FRVxYMG+4u/leYfl53jVDGhY3gze5Se"}]},"_npmUser":{"name":"sjc5","email":"email@samcook.cc"},"directories":{},"maintainers":[{"name":"sjc5","email":"email@samcook.cc"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/hwy_0.0.0-beta.23_1705558465345_0.6270584290431156"},"_hasShrinkwrap":false},"0.0.0-beta.24":{"name":"hwy","version":"0.0.0-beta.24","author":{"name":"Samuel J. Cook"},"license":"MIT","description":"Simple, lightweight, and flexible web framework, built on Hono and HTMX.","type":"module","exports":{".":"./dist/index.js"},"scripts":{"build":"rm -rf dist && tsup-node index.ts --format esm --dts","dev":"rm -rf dist && tsup-node index.ts --format esm --dts --watch","publish-beta":"npm publish --tag beta","publish-non-beta":"npm publish","update-latest":"pnpm update --latest","typecheck":"tsc"},"dependencies":{"devalue":"^4.3.2","preact-render-to-string":"^6.3.1"},"devDependencies":{"@hono/node-server":"^1.4.0","@hwy-js/build":"workspace:*","@hwy-js/dev":"workspace:*","@types/node":"^20.11.2","hono":"^3.12.4","preact":"^10.19.3","tsup":"^8.0.1"},"peerDependencies":{"hono":"^3.11.1","preact":"^10.19.3"},"repository":{"type":"git","url":"git+https://github.com/hwy-js/hwy.git","directory":"packages/core"},"homepage":"https://hwy.dev","bugs":{"url":"https://github.com/hwy-js/hwy/issues"},"keywords":["simple","lightweight","flexible","framework","metaframework","web","typescript","hono","router","nested","routing","jsx","tsx","nextjs","remix","react","preact","signals"],"sideEffects":false,"_id":"hwy@0.0.0-beta.24","readme":"# Hwy\n\nHwy is a simple, lightweight, and flexible web framework, built on Hono and\nHTMX.\n\n<a href=\"https://pkg-size.dev/hwy\" target=\"_blank\">\n  <img\n    width=\"112\"\n    height=\"20\"\n    style=\"background:darkgray;border-radius:4px;\"\n    src=\"https://pkg-size.dev/badge/bundle/11742\"\n    title=\"Bundle size for hwy\"\n  />\n</a>\n\n## Quick Start\n\n```bash\nnpx create-hwy@latest\n```\n\n## What is Hwy?\n\nHwy is a lot like NextJS or Remix, but it uses **_HTMX_** instead of React on\nthe frontend.\n\nHwy lets you write **_React-style JSX_** in **_nested, file-based routes_**,\nwith **_Remix-style actions and parallel loaders_**.\n\nThe backend server is built on **_Hono_**, so you have access to a rich, growing\necosystem with lots of middleware and wonderful docs.\n\nHwy is **_100% server-rendered_**, but with the HTMX defaults Hwy sets up for\nyou out of the box, your app still **_feels like an SPA_**.\n\nLinks and forms are automatically **_progressively enhanced_** thanks to HTMX's\n`hx-boost` feature. Just use normal anchor tags and traditional form attributes.\n\nBecause Hwy replaces the **_full page_** on transitions by default, everything\nstays **_simple_**. You don't have to return different components from different\nendpoints (unless you want to).\n\nAnd best of all, **_anything you can do with Hono or HTMX, you can do with\nHwy_**.\n\n## Features\n\n- Server-rendered JSX / TSX\n- Nested, file-based routing\n- Remix-style actions and parallel loaders\n- Rich Hono middleware ecosystem\n- 100% type-safe\n- Server built on Hono\n- Client built on HTMX\n- Built-in critical CSS inlining\n- Live browser refresh during development\n- And more...\n\n## Guiding Principles\n\n- No speed limits\n- Numerous off-ramps\n- Smooth, safe roads\n- Clear traffic signs\n\n## Simple usage\n\nBelow is an example of a simple Hwy page. You'll notice it looks a lot like\nRemix, and you're right! Hwy is heavily inspired by Remix, but it uses HTMX\ninstead of React.\n\n```tsx\n// src/pages/user/$user_id.page.tsx\n\nimport type { DataProps, PageProps } from \"hwy\";\nimport { UserProfile, getUser } from \"./somewhere.js\";\n\nexport async function loader({ params }: DataProps) {\n  return await getUser(params.user_id);\n}\n\nexport default function ({ loaderData }: PageProps<typeof loader>) {\n  return <UserProfile user={loaderData} />;\n}\n```\n\n## Get Started\n\nIf you want to dive right in, just open a terminal and run\n`npx create-hwy@latest` and follow the prompts.\n\nIf you'd prefer to read more first, take a peek at\n[our docs](https://hwy.dev/docs).\n\n## Acknowledgements\n\nHwy's APIs are obviously inspired by Remix. If Remix didn't exist, Hwy likely\nwouldn't exist either. Hwy doesn't use any Remix code, but it still owes a big\nthanks to the Remix team (past and present) for their top-tier patterns design.\nIf you're building something huge and important today, use Remix.\n\n## Disclaimer\n\nHwy is in beta! Act accordingly.\n\n## License\n\nMIT License\n\nCopyright (c) 2023 Samuel J. Cook\n","readmeFilename":"README.md","gitHead":"6c7a6734aefcf26fbcdb0f0be34e6a2f889a19ec","_nodeVersion":"18.18.2","_npmVersion":"9.8.1","dist":{"integrity":"sha512-reNPO+f4ieaxva+Ewm4LaN8zklN8yemb3+bv6ON1JKqD8dSlFrS+8IBloB3uwJtXiNP7mVSuIDhiF7iG8RRIjg==","shasum":"3f2d804b1eabbb1325b1c8465fd023dbf8250026","tarball":"https://registry.npmjs.org/hwy/-/hwy-0.0.0-beta.24.tgz","fileCount":4,"unpackedSize":53000,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIAa3fLn9UyxI0jA4GqnXPt0Fud2dgtsnOzBCO3kH6LTPAiAWo3MQm/iTrnV7dXgv1BJrKHFyhQwp0rZc8GDq7UVDIg=="}]},"_npmUser":{"name":"sjc5","email":"email@samcook.cc"},"directories":{},"maintainers":[{"name":"sjc5","email":"email@samcook.cc"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/hwy_0.0.0-beta.24_1705560010342_0.2376159297345588"},"_hasShrinkwrap":false},"0.0.0-beta.25":{"name":"hwy","version":"0.0.0-beta.25","author":{"name":"Samuel J. Cook"},"license":"MIT","description":"Simple, lightweight, and flexible web framework, built on Hono and HTMX.","type":"module","exports":{".":"./dist/index.js"},"scripts":{"build":"rm -rf dist && tsup-node index.ts --format esm --dts","dev":"rm -rf dist && tsup-node index.ts --format esm --dts --watch","publish-beta":"npm publish --tag beta","publish-non-beta":"npm publish","update-latest":"pnpm update --latest","typecheck":"tsc"},"dependencies":{"devalue":"^4.3.2","preact-render-to-string":"^6.3.1"},"devDependencies":{"@hono/node-server":"^1.4.0","@hwy-js/build":"workspace:*","@hwy-js/dev":"workspace:*","@types/node":"^20.11.2","hono":"^3.12.4","preact":"^10.19.3","tsup":"^8.0.1"},"peerDependencies":{"hono":"^3.11.1","preact":"^10.19.3"},"repository":{"type":"git","url":"git+https://github.com/hwy-js/hwy.git","directory":"packages/core"},"homepage":"https://hwy.dev","bugs":{"url":"https://github.com/hwy-js/hwy/issues"},"keywords":["simple","lightweight","flexible","framework","metaframework","web","typescript","hono","router","nested","routing","jsx","tsx","nextjs","remix","react","preact","signals"],"sideEffects":false,"_id":"hwy@0.0.0-beta.25","readme":"# Hwy\n\nHwy is a simple, lightweight, and flexible web framework, built on Hono and\nHTMX.\n\n<a href=\"https://pkg-size.dev/hwy\" target=\"_blank\">\n  <img\n    width=\"112\"\n    height=\"20\"\n    style=\"background:darkgray;border-radius:4px;\"\n    src=\"https://pkg-size.dev/badge/bundle/11742\"\n    title=\"Bundle size for hwy\"\n  />\n</a>\n\n## Quick Start\n\n```bash\nnpx create-hwy@latest\n```\n\n## What is Hwy?\n\nHwy is a lot like NextJS or Remix, but it uses **_HTMX_** instead of React on\nthe frontend.\n\nHwy lets you write **_React-style JSX_** in **_nested, file-based routes_**,\nwith **_Remix-style actions and parallel loaders_**.\n\nThe backend server is built on **_Hono_**, so you have access to a rich, growing\necosystem with lots of middleware and wonderful docs.\n\nHwy is **_100% server-rendered_**, but with the HTMX defaults Hwy sets up for\nyou out of the box, your app still **_feels like an SPA_**.\n\nLinks and forms are automatically **_progressively enhanced_** thanks to HTMX's\n`hx-boost` feature. Just use normal anchor tags and traditional form attributes.\n\nBecause Hwy replaces the **_full page_** on transitions by default, everything\nstays **_simple_**. You don't have to return different components from different\nendpoints (unless you want to).\n\nAnd best of all, **_anything you can do with Hono or HTMX, you can do with\nHwy_**.\n\n## Features\n\n- Server-rendered JSX / TSX\n- Nested, file-based routing\n- Remix-style actions and parallel loaders\n- Rich Hono middleware ecosystem\n- 100% type-safe\n- Server built on Hono\n- Client built on HTMX\n- Built-in critical CSS inlining\n- Live browser refresh during development\n- And more...\n\n## Guiding Principles\n\n- No speed limits\n- Numerous off-ramps\n- Smooth, safe roads\n- Clear traffic signs\n\n## Simple usage\n\nBelow is an example of a simple Hwy page. You'll notice it looks a lot like\nRemix, and you're right! Hwy is heavily inspired by Remix, but it uses HTMX\ninstead of React.\n\n```tsx\n// src/pages/user/$user_id.page.tsx\n\nimport type { DataProps, PageProps } from \"hwy\";\nimport { UserProfile, getUser } from \"./somewhere.js\";\n\nexport async function loader({ params }: DataProps) {\n  return await getUser(params.user_id);\n}\n\nexport default function ({ loaderData }: PageProps<typeof loader>) {\n  return <UserProfile user={loaderData} />;\n}\n```\n\n## Get Started\n\nIf you want to dive right in, just open a terminal and run\n`npx create-hwy@latest` and follow the prompts.\n\nIf you'd prefer to read more first, take a peek at\n[our docs](https://hwy.dev/docs).\n\n## Acknowledgements\n\nHwy's APIs are obviously inspired by Remix. If Remix didn't exist, Hwy likely\nwouldn't exist either. Hwy doesn't use any Remix code, but it still owes a big\nthanks to the Remix team (past and present) for their top-tier patterns design.\nIf you're building something huge and important today, use Remix.\n\n## Disclaimer\n\nHwy is in beta! Act accordingly.\n\n## License\n\nMIT License\n\nCopyright (c) 2023 Samuel J. Cook\n","readmeFilename":"README.md","gitHead":"a76cec10100d2c40ecd11570b98164e611cdec7b","_nodeVersion":"18.18.2","_npmVersion":"9.8.1","dist":{"integrity":"sha512-72Rg2QqfaPcUTOnnh561FjoNdtXi90/Pt9XscP4UMp8nWZGHsMt2X2qToqi/sF45gxs63WiNJ2NAK95ucr1nqw==","shasum":"92bb125c658a93941786fa9a0a9a028e4ab1d6cd","tarball":"https://registry.npmjs.org/hwy/-/hwy-0.0.0-beta.25.tgz","fileCount":4,"unpackedSize":53457,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCo7XWdeQQHtYuCHruXldTicvWqO1p1ocyKH3COSCGErAIhAOl/55FWQfY5bXP3INDruRJ09qEcJSykfit+6ftlY9b6"}]},"_npmUser":{"name":"sjc5","email":"email@samcook.cc"},"directories":{},"maintainers":[{"name":"sjc5","email":"email@samcook.cc"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/hwy_0.0.0-beta.25_1705618427984_0.6734419174759787"},"_hasShrinkwrap":false},"0.0.0-beta.26":{"name":"hwy","version":"0.0.0-beta.26","author":{"name":"Samuel J. Cook"},"license":"MIT","description":"Simple, lightweight, and flexible web framework, built on Hono and HTMX.","type":"module","exports":{".":"./dist/index.js"},"scripts":{"build":"rm -rf dist && tsup-node index.ts --format esm --dts","dev":"rm -rf dist && tsup-node index.ts --format esm --dts --watch","publish-beta":"npm publish --tag beta","publish-non-beta":"npm publish","update-latest":"pnpm update --latest","typecheck":"tsc"},"dependencies":{"devalue":"^4.3.2","preact-render-to-string":"^6.3.1"},"devDependencies":{"@hono/node-server":"^1.5.0","@hwy-js/build":"workspace:*","@hwy-js/dev":"workspace:*","@types/node":"^20.11.6","hono":"^3.12.6","preact":"^10.19.3","tsup":"^8.0.1"},"peerDependencies":{"hono":"^3.11.1","preact":"^10.19.3"},"repository":{"type":"git","url":"git+https://github.com/hwy-js/hwy.git","directory":"packages/core"},"homepage":"https://hwy.dev","bugs":{"url":"https://github.com/hwy-js/hwy/issues"},"keywords":["simple","lightweight","flexible","framework","metaframework","web","typescript","hono","router","nested","routing","jsx","tsx","nextjs","remix","react","preact","signals"],"sideEffects":false,"_id":"hwy@0.0.0-beta.26","readme":"# Hwy\n\nHwy is a simple, lightweight, and flexible web framework, built on Hono and\nHTMX.\n\n<a href=\"https://pkg-size.dev/hwy\" target=\"_blank\">\n  <img\n    width=\"112\"\n    height=\"20\"\n    style=\"background:darkgray;border-radius:4px;\"\n    src=\"https://pkg-size.dev/badge/bundle/11742\"\n    title=\"Bundle size for hwy\"\n  />\n</a>\n\n## Quick Start\n\n```bash\nnpx create-hwy@latest\n```\n\n## What is Hwy?\n\nHwy is a lot like NextJS or Remix, but it uses **_HTMX_** instead of React on\nthe frontend.\n\nHwy lets you write **_React-style JSX_** in **_nested, file-based routes_**,\nwith **_Remix-style actions and parallel loaders_**.\n\nThe backend server is built on **_Hono_**, so you have access to a rich, growing\necosystem with lots of middleware and wonderful docs.\n\nHwy is **_100% server-rendered_**, but with the HTMX defaults Hwy sets up for\nyou out of the box, your app still **_feels like an SPA_**.\n\nLinks and forms are automatically **_progressively enhanced_** thanks to HTMX's\n`hx-boost` feature. Just use normal anchor tags and traditional form attributes.\n\nBecause Hwy replaces the **_full page_** on transitions by default, everything\nstays **_simple_**. You don't have to return different components from different\nendpoints (unless you want to).\n\nAnd best of all, **_anything you can do with Hono or HTMX, you can do with\nHwy_**.\n\n## Features\n\n- Server-rendered JSX / TSX\n- Nested, file-based routing\n- Remix-style actions and parallel loaders\n- Rich Hono middleware ecosystem\n- 100% type-safe\n- Server built on Hono\n- Client built on HTMX\n- Built-in critical CSS inlining\n- Live browser refresh during development\n- And more...\n\n## Guiding Principles\n\n- No speed limits\n- Numerous off-ramps\n- Smooth, safe roads\n- Clear traffic signs\n\n## Simple usage\n\nBelow is an example of a simple Hwy page. You'll notice it looks a lot like\nRemix, and you're right! Hwy is heavily inspired by Remix, but it uses HTMX\ninstead of React.\n\n```tsx\n// src/pages/user/$user_id.page.tsx\n\nimport type { DataProps, PageProps } from \"hwy\";\nimport { UserProfile, getUser } from \"./somewhere.js\";\n\nexport async function loader({ params }: DataProps) {\n  return await getUser(params.user_id);\n}\n\nexport default function ({ loaderData }: PageProps<typeof loader>) {\n  return <UserProfile user={loaderData} />;\n}\n```\n\n## Get Started\n\nIf you want to dive right in, just open a terminal and run\n`npx create-hwy@latest` and follow the prompts.\n\nIf you'd prefer to read more first, take a peek at\n[our docs](https://hwy.dev/docs).\n\n## Acknowledgements\n\nHwy's APIs are obviously inspired by Remix. If Remix didn't exist, Hwy likely\nwouldn't exist either. Hwy doesn't use any Remix code, but it still owes a big\nthanks to the Remix team (past and present) for their top-tier patterns design.\nIf you're building something huge and important today, use Remix.\n\n## Disclaimer\n\nHwy is in beta! Act accordingly.\n\n## License\n\nMIT License\n\nCopyright (c) 2023 Samuel J. Cook\n","readmeFilename":"README.md","gitHead":"a76cec10100d2c40ecd11570b98164e611cdec7b","_nodeVersion":"18.18.2","_npmVersion":"9.8.1","dist":{"integrity":"sha512-D2qU5zdYdE7owZ9yS4BQBJffzMjMuHKmgoFYTzg3KEoUqTR9wTI9/eouPXRYwXeWl6MWhFU+3W9DTXDS9UYsbQ==","shasum":"2116fc4329fd6dfe4ec88cf9c94f86bb7c4c5ebc","tarball":"https://registry.npmjs.org/hwy/-/hwy-0.0.0-beta.26.tgz","fileCount":4,"unpackedSize":53457,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQC1BK6hnWlon8i5cU4+3QmgmwC6bvOS3rLUAid8nNy03wIhAPkd5jXQc5dx4t3vvnzfUwDEuMd1zrFY6F/RoPqFhfPE"}]},"_npmUser":{"name":"sjc5","email":"email@samcook.cc"},"directories":{},"maintainers":[{"name":"sjc5","email":"email@samcook.cc"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/hwy_0.0.0-beta.26_1706155002659_0.8271808652786345"},"_hasShrinkwrap":false},"0.0.0-beta.27":{"name":"hwy","version":"0.0.0-beta.27","author":{"name":"Samuel J. Cook"},"license":"MIT","description":"Simple, lightweight, and flexible web framework, built on Hono and HTMX.","type":"module","exports":{".":"./dist/index.js"},"scripts":{"build":"rm -rf dist && tsup-node index.ts --format esm --dts","dev":"rm -rf dist && tsup-node index.ts --format esm --dts --watch","publish-beta":"npm publish --tag beta","publish-non-beta":"npm publish","update-latest":"pnpm update --latest","typecheck":"tsc"},"dependencies":{"devalue":"^4.3.2","preact-render-to-string":"^6.3.1"},"devDependencies":{"@hono/node-server":"^1.5.0","@hwy-js/build":"workspace:*","@hwy-js/dev":"workspace:*","@types/node":"^20.11.6","hono":"^3.12.6","preact":"^10.19.3","tsup":"^8.0.1"},"peerDependencies":{"hono":"^3.11.1","preact":"^10.19.3"},"repository":{"type":"git","url":"git+https://github.com/hwy-js/hwy.git","directory":"packages/core"},"homepage":"https://hwy.dev","bugs":{"url":"https://github.com/hwy-js/hwy/issues"},"keywords":["simple","lightweight","flexible","framework","metaframework","web","typescript","hono","router","nested","routing","jsx","tsx","nextjs","remix","react","preact","signals"],"sideEffects":false,"_id":"hwy@0.0.0-beta.27","readme":"# Hwy\n\nHwy is a simple, lightweight, and flexible web framework, built on Hono and\nHTMX.\n\n<a href=\"https://pkg-size.dev/hwy\" target=\"_blank\">\n  <img\n    width=\"112\"\n    height=\"20\"\n    style=\"background:darkgray;border-radius:4px;\"\n    src=\"https://pkg-size.dev/badge/bundle/11742\"\n    title=\"Bundle size for hwy\"\n  />\n</a>\n\n## Quick Start\n\n```bash\nnpx create-hwy@latest\n```\n\n## What is Hwy?\n\nHwy is a lot like NextJS or Remix, but it uses **_HTMX_** instead of React on\nthe frontend.\n\nHwy lets you write **_React-style JSX_** in **_nested, file-based routes_**,\nwith **_Remix-style actions and parallel loaders_**.\n\nThe backend server is built on **_Hono_**, so you have access to a rich, growing\necosystem with lots of middleware and wonderful docs.\n\nHwy is **_100% server-rendered_**, but with the HTMX defaults Hwy sets up for\nyou out of the box, your app still **_feels like an SPA_**.\n\nLinks and forms are automatically **_progressively enhanced_** thanks to HTMX's\n`hx-boost` feature. Just use normal anchor tags and traditional form attributes.\n\nBecause Hwy replaces the **_full page_** on transitions by default, everything\nstays **_simple_**. You don't have to return different components from different\nendpoints (unless you want to).\n\nAnd best of all, **_anything you can do with Hono or HTMX, you can do with\nHwy_**.\n\n## Features\n\n- Server-rendered JSX / TSX\n- Nested, file-based routing\n- Remix-style actions and parallel loaders\n- Rich Hono middleware ecosystem\n- 100% type-safe\n- Server built on Hono\n- Client built on HTMX\n- Built-in critical CSS inlining\n- Live browser refresh during development\n- And more...\n\n## Guiding Principles\n\n- No speed limits\n- Numerous off-ramps\n- Smooth, safe roads\n- Clear traffic signs\n\n## Simple usage\n\nBelow is an example of a simple Hwy page. You'll notice it looks a lot like\nRemix, and you're right! Hwy is heavily inspired by Remix, but it uses HTMX\ninstead of React.\n\n```tsx\n// src/pages/user/$user_id.page.tsx\n\nimport type { DataProps, PageProps } from \"hwy\";\nimport { UserProfile, getUser } from \"./somewhere.js\";\n\nexport async function loader({ params }: DataProps) {\n  return await getUser(params.user_id);\n}\n\nexport default function ({ loaderData }: PageProps<typeof loader>) {\n  return <UserProfile user={loaderData} />;\n}\n```\n\n## Get Started\n\nIf you want to dive right in, just open a terminal and run\n`npx create-hwy@latest` and follow the prompts.\n\nIf you'd prefer to read more first, take a peek at\n[our docs](https://hwy.dev/docs).\n\n## Acknowledgements\n\nHwy's APIs are obviously inspired by Remix. If Remix didn't exist, Hwy likely\nwouldn't exist either. Hwy doesn't use any Remix code, but it still owes a big\nthanks to the Remix team (past and present) for their top-tier patterns design.\nIf you're building something huge and important today, use Remix.\n\n## Disclaimer\n\nHwy is in beta! Act accordingly.\n\n## License\n\nMIT License\n\nCopyright (c) 2023 Samuel J. Cook\n","readmeFilename":"README.md","gitHead":"a76cec10100d2c40ecd11570b98164e611cdec7b","_nodeVersion":"18.18.2","_npmVersion":"9.8.1","dist":{"integrity":"sha512-y2bes9pu1YGgJYvcnsgH+HHK+w6bdCbe7vK2ejtqETQ7kXtp/WF6OCscjsV2Pn9x72xVUIc1O2INLFpzsGQxug==","shasum":"c743e912a6ccf3362b7cc5ddd5c2af81071f841b","tarball":"https://registry.npmjs.org/hwy/-/hwy-0.0.0-beta.27.tgz","fileCount":4,"unpackedSize":53457,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIC+n6iuU+qNJPXW10ZkshjZaOubC0TWccn5x1o1Zb9YkAiEAqRv4EZuEXWbhgWCsQebyeRXk3uwU1njg0vxckl4uxqQ="}]},"_npmUser":{"name":"sjc5","email":"email@samcook.cc"},"directories":{},"maintainers":[{"name":"sjc5","email":"email@samcook.cc"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/hwy_0.0.0-beta.27_1706155133507_0.5759068075117495"},"_hasShrinkwrap":false},"0.0.0-beta.28":{"name":"hwy","version":"0.0.0-beta.28","author":{"name":"Samuel J. Cook"},"license":"MIT","description":"Simple, lightweight, and flexible web framework, built on h3, esbuild, and Preact.","type":"module","exports":{".":"./dist/index.js"},"scripts":{"build":"rm -rf dist && tsup-node index.ts --format esm --dts","dev":"rm -rf dist && tsup-node index.ts --format esm --dts --watch","publish-beta":"npm publish --tag beta","publish-non-beta":"npm publish","update-latest":"pnpm update --latest","typecheck":"tsc"},"dependencies":{"devalue":"^4.3.2","preact-render-to-string":"^6.4.0"},"devDependencies":{"@hwy-js/build":"workspace:*","@hwy-js/dev":"workspace:*","@types/node":"^20.11.25","h3":"^1.11.1","preact":"^10.19.6","tsup":"^8.0.2"},"repository":{"type":"git","url":"git+https://github.com/hwy-js/hwy.git","directory":"packages/core"},"homepage":"https://hwy.dev","bugs":{"url":"https://github.com/hwy-js/hwy/issues"},"keywords":["simple","lightweight","flexible","framework","metaframework","web","typescript","unjs","h3","router","nested","routing","jsx","tsx","nextjs","remix","react","preact","signals"],"sideEffects":false,"_id":"hwy@0.0.0-beta.28","readme":"ERROR: No README data found!","readmeFilename":"README.md","gitHead":"6d6f8a9ef6f0db2a5f7bb032736dc7a75073ccbc","_nodeVersion":"20.11.1","_npmVersion":"10.2.4","dist":{"integrity":"sha512-08iIo3ftsrgDEHKpssTOHXOeCDqayGdXYREWIMUZnBU7ds/EsZfGiyhnPtfKLWJ2kU98ZgyhzJG+NZ4evMQz+Q==","shasum":"8b8891f85893314002c66c49e5b37268a053637d","tarball":"https://registry.npmjs.org/hwy/-/hwy-0.0.0-beta.28.tgz","fileCount":4,"unpackedSize":54767,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIDQFt+MKuLZ6rwMINPnzXvYuyhDXR/dbCs2a9hMdgYPNAiEAkQb+Xbhct1qoIWntWgQUuQEXhw6BjGoZ+q9h2eKZPgM="}]},"_npmUser":{"name":"sjc5","email":"email@samcook.cc"},"directories":{},"maintainers":[{"name":"sjc5","email":"email@samcook.cc"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/hwy_0.0.0-beta.28_1710028017021_0.5676760974532862"},"_hasShrinkwrap":false},"0.0.0-beta.29":{"name":"hwy","version":"0.0.0-beta.29","author":{"name":"Samuel J. Cook"},"license":"MIT","description":"Simple, lightweight, and flexible web framework, built on h3, esbuild, and Preact.","type":"module","exports":{".":"./dist/index.js"},"scripts":{"build":"rm -rf dist && tsup-node index.ts --format esm --dts","dev":"rm -rf dist && tsup-node index.ts --format esm --dts --watch","publish-beta":"npm publish --tag beta","publish-non-beta":"npm publish","update-latest":"pnpm update --latest","typecheck":"tsc"},"dependencies":{"devalue":"^4.3.2","preact-render-to-string":"^6.4.0"},"devDependencies":{"@hwy-js/build":"workspace:*","@hwy-js/dev":"workspace:*","@types/node":"^20.11.25","h3":"^1.11.1","preact":"^10.19.6","tsup":"^8.0.2"},"repository":{"type":"git","url":"git+https://github.com/hwy-js/hwy.git","directory":"packages/core"},"homepage":"https://hwy.dev","bugs":{"url":"https://github.com/hwy-js/hwy/issues"},"keywords":["simple","lightweight","flexible","framework","metaframework","web","typescript","unjs","h3","router","nested","routing","jsx","tsx","nextjs","remix","react","preact","signals"],"sideEffects":false,"_id":"hwy@0.0.0-beta.29","readme":"ERROR: No README data found!","readmeFilename":"README.md","gitHead":"6d6f8a9ef6f0db2a5f7bb032736dc7a75073ccbc","_nodeVersion":"20.11.1","_npmVersion":"10.2.4","dist":{"integrity":"sha512-sc35BezxN7loV9cvnlWlipqqMjiAmCBrKLmyYWJXYC7mlTlGu15j+VLSyVoSWcZLmLnm2gPvgw6WKjzFTrNRpA==","shasum":"0463374636d650bf439707e81489b53829148dd3","tarball":"https://registry.npmjs.org/hwy/-/hwy-0.0.0-beta.29.tgz","fileCount":4,"unpackedSize":54725,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDqUyt1t4P0wL7PAIuK7+8XIhFeE4OPnvOPjbViKU/WEAIhAKbWmypAOtKhI9FuVa79myVIGUJsHvyCebmCoptqla+5"}]},"_npmUser":{"name":"sjc5","email":"email@samcook.cc"},"directories":{},"maintainers":[{"name":"sjc5","email":"email@samcook.cc"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/hwy_0.0.0-beta.29_1710030001893_0.9166047580749543"},"_hasShrinkwrap":false},"0.0.0-beta.30":{"name":"hwy","version":"0.0.0-beta.30","author":{"name":"Samuel J. Cook"},"license":"MIT","description":"Simple, lightweight, and flexible web framework, built on h3, esbuild, and Preact.","type":"module","exports":{".":"./dist/index.js"},"scripts":{"build":"rm -rf dist && tsup-node index.ts --format esm --dts","dev":"rm -rf dist && tsup-node index.ts --format esm --dts --watch","publish-beta":"npm publish --tag beta","publish-non-beta":"npm publish","update-latest":"pnpm update --latest","typecheck":"tsc"},"dependencies":{"devalue":"^4.3.2","preact-render-to-string":"^6.4.0"},"devDependencies":{"@hwy-js/build":"workspace:*","@hwy-js/dev":"workspace:*","@types/node":"^20.11.25","h3":"^1.11.1","preact":"^10.19.6","tsup":"^8.0.2"},"repository":{"type":"git","url":"git+https://github.com/hwy-js/hwy.git","directory":"packages/core"},"homepage":"https://hwy.dev","bugs":{"url":"https://github.com/hwy-js/hwy/issues"},"keywords":["simple","lightweight","flexible","framework","metaframework","web","typescript","unjs","h3","router","nested","routing","jsx","tsx","nextjs","remix","react","preact","signals"],"sideEffects":false,"_id":"hwy@0.0.0-beta.30","readme":"ERROR: No README data found!","readmeFilename":"README.md","gitHead":"6d6f8a9ef6f0db2a5f7bb032736dc7a75073ccbc","_nodeVersion":"20.11.1","_npmVersion":"10.2.4","dist":{"integrity":"sha512-uXEpSEOHDgi2sffHFjiXtOj86cS5PMxzlakolBCpiR9CF5Dbrj43WlXT6p95RCfd2WgpAQ477ljDxUnzVAvqcw==","shasum":"5251e535b191da4dacdc2a675a4e08064afbbe5e","tarball":"https://registry.npmjs.org/hwy/-/hwy-0.0.0-beta.30.tgz","fileCount":4,"unpackedSize":54725,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQC+WJlMT3kbRy8Jlw4habkkEVrzI+gLkiEC1HAw9Yrh5wIgOMgizcxGV9tonBfOlcdHwr4MXRiZqYQZkBYj2ezzuHw="}]},"_npmUser":{"name":"sjc5","email":"email@samcook.cc"},"directories":{},"maintainers":[{"name":"sjc5","email":"email@samcook.cc"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/hwy_0.0.0-beta.30_1710030127688_0.9729838792314309"},"_hasShrinkwrap":false},"0.0.0-beta.31":{"name":"hwy","version":"0.0.0-beta.31","author":{"name":"Samuel J. Cook"},"license":"MIT","description":"Simple, lightweight, and flexible web framework, built on h3, esbuild, and Preact.","type":"module","exports":{".":"./dist/index.js"},"scripts":{"build":"rm -rf dist && tsup-node index.ts --format esm --dts","dev":"rm -rf dist && tsup-node index.ts --format esm --dts --watch","publish-beta":"npm publish --tag beta","publish-non-beta":"npm publish","update-latest":"pnpm update --latest","typecheck":"tsc"},"dependencies":{"devalue":"^4.3.2","preact-render-to-string":"^6.4.0"},"devDependencies":{"@hwy-js/build":"workspace:*","@hwy-js/dev":"workspace:*","@types/node":"^20.11.25","h3":"^1.11.1","preact":"^10.19.6","tsup":"^8.0.2"},"repository":{"type":"git","url":"git+https://github.com/hwy-js/hwy.git","directory":"packages/core"},"homepage":"https://hwy.dev","bugs":{"url":"https://github.com/hwy-js/hwy/issues"},"keywords":["simple","lightweight","flexible","framework","metaframework","web","typescript","unjs","h3","router","nested","routing","jsx","tsx","nextjs","remix","react","preact","signals"],"sideEffects":false,"_id":"hwy@0.0.0-beta.31","readme":"ERROR: No README data found!","readmeFilename":"README.md","gitHead":"6d6f8a9ef6f0db2a5f7bb032736dc7a75073ccbc","_nodeVersion":"20.11.1","_npmVersion":"10.2.4","dist":{"integrity":"sha512-IJMx+f33IJ1jqEI/fn0NHbB1k/xAlTXJ8l1/j6SaEv/Uf6zNh5n0kfQzGvvpcZMVnJhqdDf/mtT7Actai9QKdQ==","shasum":"6747418619a5fe23a1a678bc72c1a6ed376bafbc","tarball":"https://registry.npmjs.org/hwy/-/hwy-0.0.0-beta.31.tgz","fileCount":4,"unpackedSize":54725,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIFIOQPiijCZ7drUVDmrdtvhFnACaNWacg6X8GjKUZt4CAiAxa+jHfyfZeT/D0m8/DYr4U2M1ABWjd6F1Q0Rv2tlysA=="}]},"_npmUser":{"name":"sjc5","email":"email@samcook.cc"},"directories":{},"maintainers":[{"name":"sjc5","email":"email@samcook.cc"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/hwy_0.0.0-beta.31_1710030492589_0.08293568473312685"},"_hasShrinkwrap":false},"0.0.0-beta.32":{"name":"hwy","version":"0.0.0-beta.32","author":{"name":"Samuel J. Cook"},"license":"MIT","description":"Simple, lightweight, and flexible web framework, built on h3, esbuild, and Preact.","type":"module","exports":{".":"./dist/index.js"},"scripts":{"build":"rm -rf dist && tsup-node index.ts --format esm --dts","dev":"rm -rf dist && tsup-node index.ts --format esm --dts --watch","publish-beta":"npm publish --tag beta","publish-non-beta":"npm publish","update-latest":"pnpm update --latest","typecheck":"tsc"},"dependencies":{"devalue":"^4.3.2","preact-render-to-string":"^6.4.0"},"devDependencies":{"@hwy-js/build":"workspace:*","@hwy-js/dev":"workspace:*","@types/node":"^20.11.25","h3":"^1.11.1","preact":"^10.19.6","tsup":"^8.0.2"},"repository":{"type":"git","url":"git+https://github.com/hwy-js/hwy.git","directory":"packages/core"},"homepage":"https://hwy.dev","bugs":{"url":"https://github.com/hwy-js/hwy/issues"},"keywords":["simple","lightweight","flexible","framework","metaframework","web","typescript","unjs","h3","router","nested","routing","jsx","tsx","nextjs","remix","react","preact","signals"],"sideEffects":false,"_id":"hwy@0.0.0-beta.32","readme":"ERROR: No README data found!","readmeFilename":"README.md","gitHead":"6d6f8a9ef6f0db2a5f7bb032736dc7a75073ccbc","_nodeVersion":"20.11.1","_npmVersion":"10.2.4","dist":{"integrity":"sha512-a3XUA0N38Og92mNxMI8mMlv5XXL1MHPoqNvzmxgRaRKbvEDkshhrgBtcZh+NI1kG+FNvzvsu2jiRMxJBUC9jGw==","shasum":"2b284b5a1cf0a14391a38b5d4db9af7920b41b7a","tarball":"https://registry.npmjs.org/hwy/-/hwy-0.0.0-beta.32.tgz","fileCount":4,"unpackedSize":54725,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIBJYUOZPCQIRARbXlOwGPaCWn6CyyMEEQzBOWEZT3BTwAiEAq6zevwngT+bkBKfQrHmnhKPwP1q3TeDJoFNRt5K8iVo="}]},"_npmUser":{"name":"sjc5","email":"email@samcook.cc"},"directories":{},"maintainers":[{"name":"sjc5","email":"email@samcook.cc"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/hwy_0.0.0-beta.32_1710030994469_0.4237449391876269"},"_hasShrinkwrap":false},"0.0.0-beta.33":{"name":"hwy","version":"0.0.0-beta.33","author":{"name":"Samuel J. Cook"},"license":"MIT","description":"Simple, lightweight, and flexible web framework, built on h3, esbuild, and Preact.","type":"module","exports":{".":"./dist/index.js"},"scripts":{"build":"rm -rf dist && tsup-node index.ts --format esm --dts","dev":"rm -rf dist && tsup-node index.ts --format esm --dts --watch","publish-beta":"npm publish --tag beta","publish-non-beta":"npm publish","update-latest":"pnpm update --latest","typecheck":"tsc"},"dependencies":{"devalue":"^4.3.2","preact-render-to-string":"^6.4.0"},"devDependencies":{"@hwy-js/build":"workspace:*","@hwy-js/dev":"workspace:*","@types/node":"^20.11.25","h3":"^1.11.1","preact":"^10.19.6","tsup":"^8.0.2"},"repository":{"type":"git","url":"git+https://github.com/hwy-js/hwy.git","directory":"packages/core"},"homepage":"https://hwy.dev","bugs":{"url":"https://github.com/hwy-js/hwy/issues"},"keywords":["simple","lightweight","flexible","framework","metaframework","web","typescript","unjs","h3","router","nested","routing","jsx","tsx","nextjs","remix","react","preact","signals"],"sideEffects":false,"_id":"hwy@0.0.0-beta.33","readme":"ERROR: No README data found!","readmeFilename":"README.md","gitHead":"6d6f8a9ef6f0db2a5f7bb032736dc7a75073ccbc","_nodeVersion":"20.11.1","_npmVersion":"10.2.4","dist":{"integrity":"sha512-OqFArKnZXY54hyVQ52MtOSfD1tpX6Sq6SGvAewbJXEKcrEw3zIUGZrqNa2bAVrhJOhPu/5qLU2UwxIxx+WaEyw==","shasum":"270d2f72ecbf10d081bd31e71e1f1c06a51cdaad","tarball":"https://registry.npmjs.org/hwy/-/hwy-0.0.0-beta.33.tgz","fileCount":4,"unpackedSize":54725,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIHLgV8Wjkxo1u3eKw/NP3rKN7k9+19Eun6DkC8ZgL8X4AiBl4nkstmpCpBKmkslJZccNO2CLfMZl0LyCFc5D3QfmhQ=="}]},"_npmUser":{"name":"sjc5","email":"email@samcook.cc"},"directories":{},"maintainers":[{"name":"sjc5","email":"email@samcook.cc"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/hwy_0.0.0-beta.33_1710031149151_0.71974371498705"},"_hasShrinkwrap":false},"0.0.0-beta.34":{"name":"hwy","version":"0.0.0-beta.34","author":{"name":"Samuel J. Cook"},"license":"MIT","description":"Simple, lightweight, and flexible web framework, built on h3, esbuild, and Preact.","type":"module","exports":{".":"./dist/index.js"},"scripts":{"build":"rm -rf dist && tsup-node index.ts --format esm --dts","dev":"rm -rf dist && tsup-node index.ts --format esm --dts --watch","publish-beta":"npm publish --tag beta","publish-non-beta":"npm publish","update-latest":"pnpm update --latest","typecheck":"tsc"},"dependencies":{"devalue":"^4.3.2","preact-render-to-string":"^6.4.0"},"devDependencies":{"@hwy-js/build":"workspace:*","@hwy-js/dev":"workspace:*","@types/node":"^20.11.25","h3":"^1.11.1","preact":"^10.19.6","tsup":"^8.0.2"},"repository":{"type":"git","url":"git+https://github.com/hwy-js/hwy.git","directory":"packages/core"},"homepage":"https://hwy.dev","bugs":{"url":"https://github.com/hwy-js/hwy/issues"},"keywords":["simple","lightweight","flexible","framework","metaframework","web","typescript","unjs","h3","router","nested","routing","jsx","tsx","nextjs","remix","react","preact","signals"],"sideEffects":false,"_id":"hwy@0.0.0-beta.34","readme":"ERROR: No README data found!","readmeFilename":"README.md","gitHead":"6d6f8a9ef6f0db2a5f7bb032736dc7a75073ccbc","_nodeVersion":"20.11.1","_npmVersion":"10.2.4","dist":{"integrity":"sha512-xYotDVCAkRiVBf1i87AhB9/1JqnAPk8O3L8JG+Hln7lyZ8DgD/e4Q10D4HT5/A2EMrLvXGu8P11JylYi/Yc4hg==","shasum":"cfd988e11a809174c03b675b256bbd735364583b","tarball":"https://registry.npmjs.org/hwy/-/hwy-0.0.0-beta.34.tgz","fileCount":4,"unpackedSize":54725,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIFTZXSIFji0oyDNRZC0p4k9yyS8Um0gLgaJm9d6j44dnAiBI49rX6NNNK1q/22NbXCHym/0IyppWTUQKSeDqHHqknQ=="}]},"_npmUser":{"name":"sjc5","email":"email@samcook.cc"},"directories":{},"maintainers":[{"name":"sjc5","email":"email@samcook.cc"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/hwy_0.0.0-beta.34_1710031485316_0.35753574140254285"},"_hasShrinkwrap":false},"0.0.0-beta.35":{"name":"hwy","version":"0.0.0-beta.35","author":{"name":"Samuel J. Cook"},"license":"MIT","description":"Simple, lightweight, and flexible web framework, built on h3, esbuild, and Preact.","type":"module","exports":{".":"./dist/index.js"},"scripts":{"build":"rm -rf dist && tsup-node index.ts --format esm --dts","dev":"rm -rf dist && tsup-node index.ts --format esm --dts --watch","publish-beta":"npm publish --tag beta","publish-non-beta":"npm publish","update-latest":"pnpm update --latest","typecheck":"tsc"},"dependencies":{"devalue":"^4.3.2","preact-render-to-string":"^6.4.0"},"devDependencies":{"@hwy-js/build":"workspace:*","@hwy-js/dev":"workspace:*","@types/node":"^20.11.25","h3":"^1.11.1","preact":"^10.19.6","tsup":"^8.0.2"},"repository":{"type":"git","url":"git+https://github.com/hwy-js/hwy.git","directory":"packages/core"},"homepage":"https://hwy.dev","bugs":{"url":"https://github.com/hwy-js/hwy/issues"},"keywords":["simple","lightweight","flexible","framework","metaframework","web","typescript","unjs","h3","router","nested","routing","jsx","tsx","nextjs","remix","react","preact","signals"],"sideEffects":false,"_id":"hwy@0.0.0-beta.35","readme":"ERROR: No README data found!","readmeFilename":"README.md","gitHead":"6d6f8a9ef6f0db2a5f7bb032736dc7a75073ccbc","_nodeVersion":"20.11.1","_npmVersion":"10.2.4","dist":{"integrity":"sha512-RyYzHnfgkwqVGZsH3YTJxjwjE9Npe++ZkO7pOEKW7kSGKAFUI1JrCaN2YqWLqOzcfEK8FPIHkwA9gDXuox+H/A==","shasum":"9a80b2ce9ea4d3f275c6879fa344f81b6b49f822","tarball":"https://registry.npmjs.org/hwy/-/hwy-0.0.0-beta.35.tgz","fileCount":4,"unpackedSize":54725,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCH86P/WnlSbnxG37HdC1BoEVLnpgNJ6GZs3fbQC95cNQIhAItuS/XS/s0wXtqE+/xWr+QLMyvlZyuR6/Vt4gVFyMfQ"}]},"_npmUser":{"name":"sjc5","email":"email@samcook.cc"},"directories":{},"maintainers":[{"name":"sjc5","email":"email@samcook.cc"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/hwy_0.0.0-beta.35_1710031824251_0.6450628853675637"},"_hasShrinkwrap":false},"0.0.0-beta.36":{"name":"hwy","version":"0.0.0-beta.36","author":{"name":"Samuel J. Cook"},"license":"MIT","description":"Simple, lightweight, and flexible web framework, built on h3, esbuild, and Preact.","type":"module","exports":{".":"./dist/index.js"},"scripts":{"build":"rm -rf dist && tsup-node index.ts --format esm --dts","dev":"rm -rf dist && tsup-node index.ts --format esm --dts --watch","publish-beta":"npm publish --tag beta","publish-non-beta":"npm publish","update-latest":"pnpm update --latest","typecheck":"tsc"},"dependencies":{"devalue":"^4.3.2","preact-render-to-string":"^6.4.0"},"devDependencies":{"@hwy-js/build":"workspace:*","@hwy-js/dev":"workspace:*","@types/node":"^20.11.25","h3":"^1.11.1","preact":"^10.19.6","tsup":"^8.0.2"},"repository":{"type":"git","url":"git+https://github.com/hwy-js/hwy.git","directory":"packages/core"},"homepage":"https://hwy.dev","bugs":{"url":"https://github.com/hwy-js/hwy/issues"},"keywords":["simple","lightweight","flexible","framework","metaframework","web","typescript","unjs","h3","router","nested","routing","jsx","tsx","nextjs","remix","react","preact","signals"],"sideEffects":false,"_id":"hwy@0.0.0-beta.36","readme":"ERROR: No README data found!","readmeFilename":"README.md","gitHead":"6d6f8a9ef6f0db2a5f7bb032736dc7a75073ccbc","_nodeVersion":"20.11.1","_npmVersion":"10.2.4","dist":{"integrity":"sha512-Rv1bc/0pM7WErq8Nq3bqVQ3TGIqhbw7vBzKw6jRgG+zI0MvMQCpOk+fHB19Y0wNBjgjqfTRpArAZnTdBvv+ZLw==","shasum":"a068e54e78dd5c4c08169adda4309c48907bd605","tarball":"https://registry.npmjs.org/hwy/-/hwy-0.0.0-beta.36.tgz","fileCount":4,"unpackedSize":57552,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIFY7LWFM7nXQox7SZDG9K4ggr1uRSyoFGMmOgYENu50rAiBy9AJp6bgo0cDhMo5CwVJQstAJcM+SZhTpKMVbEl2NSA=="}]},"_npmUser":{"name":"sjc5","email":"email@samcook.cc"},"directories":{},"maintainers":[{"name":"sjc5","email":"email@samcook.cc"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/hwy_0.0.0-beta.36_1710033279400_0.5244846568993591"},"_hasShrinkwrap":false},"0.0.0-beta.38":{"name":"hwy","version":"0.0.0-beta.38","author":{"name":"Samuel J. Cook"},"license":"MIT","description":"Simple, lightweight, and flexible web framework, built on h3, esbuild, and Preact.","type":"module","exports":{".":"./dist/index.js"},"scripts":{"build":"rm -rf dist && tsup-node index.ts --format esm --dts","dev":"rm -rf dist && tsup-node index.ts --format esm --dts --watch","publish-beta":"npm publish --tag beta","publish-non-beta":"npm publish","update-latest":"pnpm update --latest","typecheck":"tsc"},"dependencies":{"devalue":"^4.3.2","preact-render-to-string":"^6.4.0"},"devDependencies":{"@hwy-js/build":"workspace:*","@hwy-js/dev":"workspace:*","@types/node":"^20.11.25","h3":"^1.11.1","preact":"^10.19.6","tsup":"^8.0.2"},"repository":{"type":"git","url":"git+https://github.com/hwy-js/hwy.git","directory":"packages/core"},"homepage":"https://hwy.dev","bugs":{"url":"https://github.com/hwy-js/hwy/issues"},"keywords":["simple","lightweight","flexible","framework","metaframework","web","typescript","unjs","h3","router","nested","routing","jsx","tsx","nextjs","remix","react","preact","signals"],"sideEffects":false,"_id":"hwy@0.0.0-beta.38","readme":"ERROR: No README data found!","readmeFilename":"README.md","gitHead":"6d6f8a9ef6f0db2a5f7bb032736dc7a75073ccbc","_nodeVersion":"20.11.1","_npmVersion":"10.2.4","dist":{"integrity":"sha512-yKZNDZgo597Qf4tedmZYm51ff4cT4h/VrsCcIFFPEJocc0fdwgJnjc1o7xbKtwyN+3RbZKSZwa5iEhhMSTQziQ==","shasum":"d8d283c94179b56eeb31481aaf138d906fc9ac7c","tarball":"https://registry.npmjs.org/hwy/-/hwy-0.0.0-beta.38.tgz","fileCount":4,"unpackedSize":57510,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQC3fbJGXnRJ14BOhAsbfWxcCrIQSYpCJSCEUhb3BHaNYAIgeulyO2i4M2bScgIKSISE5o6Nv88/orbUwEhMe3e27Js="}]},"_npmUser":{"name":"sjc5","email":"email@samcook.cc"},"directories":{},"maintainers":[{"name":"sjc5","email":"email@samcook.cc"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/hwy_0.0.0-beta.38_1710033697509_0.2927839372496268"},"_hasShrinkwrap":false},"0.0.0-beta.40":{"name":"hwy","version":"0.0.0-beta.40","author":{"name":"Samuel J. Cook"},"license":"MIT","description":"Simple, lightweight, and flexible web framework, built on h3, esbuild, and Preact.","type":"module","exports":{".":"./dist/index.js"},"scripts":{"build":"rm -rf dist && tsup-node index.ts --format esm --dts","dev":"rm -rf dist && tsup-node index.ts --format esm --dts --watch","publish-beta":"npm publish --tag beta","publish-non-beta":"npm publish","update-latest":"pnpm update --latest","typecheck":"tsc"},"dependencies":{"devalue":"^4.3.2","preact-render-to-string":"^6.4.0"},"devDependencies":{"@hwy-js/build":"workspace:*","@hwy-js/dev":"workspace:*","@types/node":"^20.11.25","h3":"^1.11.1","preact":"^10.19.6","tsup":"^8.0.2"},"repository":{"type":"git","url":"git+https://github.com/hwy-js/hwy.git","directory":"packages/core"},"homepage":"https://hwy.dev","bugs":{"url":"https://github.com/hwy-js/hwy/issues"},"keywords":["simple","lightweight","flexible","framework","metaframework","web","typescript","unjs","h3","router","nested","routing","jsx","tsx","nextjs","remix","react","preact","signals"],"sideEffects":false,"_id":"hwy@0.0.0-beta.40","readme":"ERROR: No README data found!","readmeFilename":"README.md","gitHead":"c638158b0def7805d1e5ec45b520c03e8b2c051d","_nodeVersion":"20.11.1","_npmVersion":"10.2.4","dist":{"integrity":"sha512-eF2l8Wb9I2k3XLieK7+vs7ocR/HvY0sUnxRvjkcOWL3UMSf4vKloPoT4STvRGN8xXnLnA6OwTyG2eb7gq6R5Lw==","shasum":"fcc6a2e508ccd1da113f7bd8f48aa1ebd9762c85","tarball":"https://registry.npmjs.org/hwy/-/hwy-0.0.0-beta.40.tgz","fileCount":4,"unpackedSize":57510,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIBEmtAXbZ5KpI3QChdSyn4TPR0C02b9jUechiAI5QCp9AiAbR9V16vFEoaEeOzwdBU5gDlzBmhfSeK6gLybH5HDc0w=="}]},"_npmUser":{"name":"sjc5","email":"email@samcook.cc"},"directories":{},"maintainers":[{"name":"sjc5","email":"email@samcook.cc"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/hwy_0.0.0-beta.40_1710037947966_0.6864140455088696"},"_hasShrinkwrap":false},"0.0.0-beta.41":{"name":"hwy","version":"0.0.0-beta.41","author":{"name":"Samuel J. Cook"},"license":"MIT","description":"Simple, lightweight, and flexible web framework, built on h3, esbuild, and Preact.","type":"module","exports":{".":"./dist/index.js"},"scripts":{"build":"rm -rf dist && tsup-node index.ts --format esm --dts","dev":"rm -rf dist && tsup-node index.ts --format esm --dts --watch","publish-beta":"npm publish --tag beta","publish-non-beta":"npm publish","update-latest":"pnpm update --latest","typecheck":"tsc"},"dependencies":{"devalue":"^4.3.2","preact-render-to-string":"^6.4.0"},"devDependencies":{"@hwy-js/build":"workspace:*","@hwy-js/dev":"workspace:*","@types/node":"^20.11.25","h3":"^1.11.1","preact":"^10.19.6","tsup":"^8.0.2"},"repository":{"type":"git","url":"git+https://github.com/hwy-js/hwy.git","directory":"packages/core"},"homepage":"https://hwy.dev","bugs":{"url":"https://github.com/hwy-js/hwy/issues"},"keywords":["simple","lightweight","flexible","framework","metaframework","web","typescript","unjs","h3","router","nested","routing","jsx","tsx","nextjs","remix","react","preact","signals"],"sideEffects":false,"_id":"hwy@0.0.0-beta.41","readme":"ERROR: No README data found!","readmeFilename":"README.md","gitHead":"c638158b0def7805d1e5ec45b520c03e8b2c051d","_nodeVersion":"20.11.1","_npmVersion":"10.2.4","dist":{"integrity":"sha512-x7CXfyXtcsJMvaz2dsHimqyAn5+McR4CDAQRBsd2nQo0heJMtqAwdLti/H1cLs8P4fogKx+gESo/GN2Jh8freQ==","shasum":"47dbe2ff3df15db1f656e8274843df6a77ea75df","tarball":"https://registry.npmjs.org/hwy/-/hwy-0.0.0-beta.41.tgz","fileCount":4,"unpackedSize":57395,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQD0lqvbu7dfbDLGNQldzODg/8mDDuWmvdZzxiArPCiyVQIgJsFj2V1e2xPUI++QJLjiRIQyPS4MAoQ1XD6PaIukRdM="}]},"_npmUser":{"name":"sjc5","email":"email@samcook.cc"},"directories":{},"maintainers":[{"name":"sjc5","email":"email@samcook.cc"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/hwy_0.0.0-beta.41_1710039197359_0.04383266121099827"},"_hasShrinkwrap":false},"0.0.0-beta.42":{"name":"hwy","version":"0.0.0-beta.42","author":{"name":"Samuel J. Cook"},"license":"MIT","description":"Simple, lightweight, and flexible web framework, built on h3, esbuild, and Preact.","type":"module","exports":{".":"./dist/index.js"},"scripts":{"build":"rm -rf dist && tsup-node index.ts --format esm --dts","dev":"rm -rf dist && tsup-node index.ts --format esm --dts --watch","publish-beta":"npm publish --tag beta","publish-non-beta":"npm publish","update-latest":"pnpm update --latest","typecheck":"tsc"},"dependencies":{"devalue":"^4.3.2","preact-render-to-string":"^6.4.0"},"devDependencies":{"@hwy-js/build":"workspace:*","@hwy-js/dev":"workspace:*","@types/node":"^20.11.25","h3":"^1.11.1","preact":"^10.19.6","tsup":"^8.0.2"},"repository":{"type":"git","url":"git+https://github.com/hwy-js/hwy.git","directory":"packages/core"},"homepage":"https://hwy.dev","bugs":{"url":"https://github.com/hwy-js/hwy/issues"},"keywords":["simple","lightweight","flexible","framework","metaframework","web","typescript","unjs","h3","router","nested","routing","jsx","tsx","nextjs","remix","react","preact","signals"],"sideEffects":false,"_id":"hwy@0.0.0-beta.42","readme":"ERROR: No README data found!","readmeFilename":"README.md","gitHead":"c638158b0def7805d1e5ec45b520c03e8b2c051d","_nodeVersion":"20.11.1","_npmVersion":"10.2.4","dist":{"integrity":"sha512-Z1Tjd1SFl7Y4mw+LbWHxeaW/u0i8CWCqauGgkbtWhiQzcHJIxipwcLW7Xu6uYZeRduJuUgvB8Asiw/wqtpo10w==","shasum":"11727c908aad5fe1beb5ae275910eb13c8bf9446","tarball":"https://registry.npmjs.org/hwy/-/hwy-0.0.0-beta.42.tgz","fileCount":4,"unpackedSize":57470,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIDVJDAdt+RDCfKr1YCJa7ezhwIsQtD+4S6HzZQrAQgDlAiEAiw/zi5BmRLGxWQpCHZTxNfnqLM7ENrtjOtf0bBZ2dME="}]},"_npmUser":{"name":"sjc5","email":"email@samcook.cc"},"directories":{},"maintainers":[{"name":"sjc5","email":"email@samcook.cc"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/hwy_0.0.0-beta.42_1710041649902_0.01604887407138933"},"_hasShrinkwrap":false},"0.0.0-beta.43":{"name":"hwy","version":"0.0.0-beta.43","author":{"name":"Samuel J. Cook"},"license":"MIT","description":"Simple, lightweight, and flexible web framework, built on h3, esbuild, and Preact.","type":"module","exports":{".":"./dist/index.js"},"scripts":{"build":"rm -rf dist && tsup-node index.ts --format esm --dts","dev":"rm -rf dist && tsup-node index.ts --format esm --dts --watch","publish-beta":"npm publish --tag beta","publish-non-beta":"npm publish","update-latest":"pnpm update --latest","typecheck":"tsc"},"dependencies":{"devalue":"^4.3.2","preact-render-to-string":"^6.4.0"},"devDependencies":{"@hwy-js/build":"workspace:*","@hwy-js/dev":"workspace:*","@types/node":"^20.11.25","h3":"^1.11.1","preact":"^10.19.6","tsup":"^8.0.2"},"repository":{"type":"git","url":"git+https://github.com/hwy-js/hwy.git","directory":"packages/core"},"homepage":"https://hwy.dev","bugs":{"url":"https://github.com/hwy-js/hwy/issues"},"keywords":["simple","lightweight","flexible","framework","metaframework","web","typescript","unjs","h3","router","nested","routing","jsx","tsx","nextjs","remix","react","preact","signals"],"sideEffects":false,"_id":"hwy@0.0.0-beta.43","readme":"ERROR: No README data found!","readmeFilename":"README.md","gitHead":"c638158b0def7805d1e5ec45b520c03e8b2c051d","_nodeVersion":"20.11.1","_npmVersion":"10.2.4","dist":{"integrity":"sha512-z9c0B3LcenNHptX2ouCU//vicl6Sp0kIexDE9de1q/aaQ3DHb2u+OFyFVXXw8U2OgNQQhNuaQcCMyB8rTHpiNA==","shasum":"fd4835aa5a3387b4ab866d43373416dfbbc8fffe","tarball":"https://registry.npmjs.org/hwy/-/hwy-0.0.0-beta.43.tgz","fileCount":4,"unpackedSize":57470,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCpCI7ZI+0s5Jt6ImNv07NugXbDuuIWRhf7na8//6DuCgIhAKQU/rMleAtkh53+YTGkmlOlN93UmeboFBSp38hmAq8/"}]},"_npmUser":{"name":"sjc5","email":"email@samcook.cc"},"directories":{},"maintainers":[{"name":"sjc5","email":"email@samcook.cc"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/hwy_0.0.0-beta.43_1710042671570_0.45630845497808625"},"_hasShrinkwrap":false},"0.0.0-beta.44":{"name":"hwy","version":"0.0.0-beta.44","author":{"name":"Samuel J. Cook"},"license":"MIT","description":"Simple, lightweight, and flexible web framework, built on h3, esbuild, and Preact.","type":"module","exports":{".":"./dist/index.js"},"scripts":{"build":"rm -rf dist && tsup-node index.ts --format esm --dts","dev":"rm -rf dist && tsup-node index.ts --format esm --dts --watch","publish-beta":"npm publish --tag beta","publish-non-beta":"npm publish","update-latest":"pnpm update --latest","typecheck":"tsc"},"dependencies":{"devalue":"^4.3.2","preact-render-to-string":"^6.4.0"},"devDependencies":{"@hwy-js/build":"workspace:*","@hwy-js/dev":"workspace:*","@types/node":"^20.11.25","h3":"^1.11.1","preact":"^10.19.6","tsup":"^8.0.2"},"repository":{"type":"git","url":"git+https://github.com/hwy-js/hwy.git","directory":"packages/core"},"homepage":"https://hwy.dev","bugs":{"url":"https://github.com/hwy-js/hwy/issues"},"keywords":["simple","lightweight","flexible","framework","metaframework","web","typescript","unjs","h3","router","nested","routing","jsx","tsx","nextjs","remix","react","preact","signals"],"sideEffects":false,"_id":"hwy@0.0.0-beta.44","readme":"ERROR: No README data found!","readmeFilename":"README.md","gitHead":"c638158b0def7805d1e5ec45b520c03e8b2c051d","_nodeVersion":"20.11.1","_npmVersion":"10.2.4","dist":{"integrity":"sha512-L6osyuvv9YUWp/vIw3tdjhMVNhePSQCjlGTS/f7pE80RfpiDGvCFcq4QGfhf72P61vTdw+yw+1UMa2nHDuieng==","shasum":"f99de37c7f72c2f7afc87381c9362f1734cba59f","tarball":"https://registry.npmjs.org/hwy/-/hwy-0.0.0-beta.44.tgz","fileCount":4,"unpackedSize":57470,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIHfy8I87FqgN48Xk9ExTB2W9AVqwFIkacNPZQr+jMU/TAiEAh/V3k16I9sU26ntLerpXoxV3rGDyZLLrXFFsmlPaqUc="}]},"_npmUser":{"name":"sjc5","email":"email@samcook.cc"},"directories":{},"maintainers":[{"name":"sjc5","email":"email@samcook.cc"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/hwy_0.0.0-beta.44_1710042884109_0.9970769274143991"},"_hasShrinkwrap":false},"0.0.0-beta.45":{"name":"hwy","version":"0.0.0-beta.45","author":{"name":"Samuel J. Cook"},"license":"MIT","description":"Simple, lightweight, and flexible web framework, built on h3, esbuild, and Preact.","type":"module","exports":{".":"./dist/index.js"},"scripts":{"build":"rm -rf dist && tsup-node index.ts --format esm --dts","dev":"rm -rf dist && tsup-node index.ts --format esm --dts --watch","publish-beta":"npm publish --tag beta","publish-non-beta":"npm publish","update-latest":"pnpm update --latest","typecheck":"tsc"},"dependencies":{"devalue":"^4.3.2","preact-render-to-string":"^6.4.0"},"devDependencies":{"@hwy-js/build":"workspace:*","@hwy-js/dev":"workspace:*","@types/node":"^20.11.25","h3":"^1.11.1","preact":"^10.19.6","tsup":"^8.0.2"},"repository":{"type":"git","url":"git+https://github.com/hwy-js/hwy.git","directory":"packages/core"},"homepage":"https://hwy.dev","bugs":{"url":"https://github.com/hwy-js/hwy/issues"},"keywords":["simple","lightweight","flexible","framework","metaframework","web","typescript","unjs","h3","router","nested","routing","jsx","tsx","nextjs","remix","react","preact","signals"],"sideEffects":false,"_id":"hwy@0.0.0-beta.45","readme":"ERROR: No README data found!","readmeFilename":"README.md","gitHead":"c638158b0def7805d1e5ec45b520c03e8b2c051d","_nodeVersion":"20.11.1","_npmVersion":"10.2.4","dist":{"integrity":"sha512-Tb2NUoVgi3Fxym2EnJtf6QmqwC+MWxHEEdsJzoelnaxsHnPm2KMdy8kvevfqZj3eN5QUCvKYvhgPDbiXlPAmtQ==","shasum":"22eef2959aaee6902101dcb649ed81b48a456405","tarball":"https://registry.npmjs.org/hwy/-/hwy-0.0.0-beta.45.tgz","fileCount":4,"unpackedSize":57470,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCz6aNYzA6lntyqxp5l1ZJaTj5M55ToffYPQXsdNafSPwIgAeMLR4ZVGgvloxu1AGysYq80BZJ1eIbmk5Ig9kKVSRU="}]},"_npmUser":{"name":"sjc5","email":"email@samcook.cc"},"directories":{},"maintainers":[{"name":"sjc5","email":"email@samcook.cc"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/hwy_0.0.0-beta.45_1710047237181_0.3685526266413168"},"_hasShrinkwrap":false},"0.0.0-beta.46":{"name":"hwy","version":"0.0.0-beta.46","author":{"name":"Samuel J. Cook"},"license":"MIT","description":"Simple, lightweight, and flexible web framework, built on h3, esbuild, and Preact.","type":"module","exports":{".":"./dist/index.js"},"scripts":{"build":"rm -rf dist && tsup-node index.ts --format esm --dts","dev":"rm -rf dist && tsup-node index.ts --format esm --dts --watch","publish-beta":"npm publish --tag beta","publish-non-beta":"npm publish","update-latest":"pnpm update --latest","typecheck":"tsc"},"dependencies":{"devalue":"^4.3.2","preact-render-to-string":"^6.4.0"},"devDependencies":{"@hwy-js/build":"workspace:*","@hwy-js/dev":"workspace:*","@types/node":"^20.11.25","h3":"^1.11.1","preact":"^10.19.6","tsup":"^8.0.2"},"repository":{"type":"git","url":"git+https://github.com/hwy-js/hwy.git","directory":"packages/core"},"homepage":"https://hwy.dev","bugs":{"url":"https://github.com/hwy-js/hwy/issues"},"keywords":["simple","lightweight","flexible","framework","metaframework","web","typescript","unjs","h3","router","nested","routing","jsx","tsx","nextjs","remix","react","preact","signals"],"sideEffects":false,"_id":"hwy@0.0.0-beta.46","readme":"ERROR: No README data found!","readmeFilename":"README.md","gitHead":"c638158b0def7805d1e5ec45b520c03e8b2c051d","_nodeVersion":"20.11.1","_npmVersion":"10.2.4","dist":{"integrity":"sha512-7e9kmqu2YcDHMigvTKrPpAa2Bx6+9/Ux5ynHvrku9nafZRkjgF9QvLazw9LClDfkQs8wIQRlHbiwS4HVVu3dDg==","shasum":"52b8de89ab8bce7c3a767ec0f26cdd0d4672a053","tarball":"https://registry.npmjs.org/hwy/-/hwy-0.0.0-beta.46.tgz","fileCount":4,"unpackedSize":57470,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDBcvytjUEABM50uPlxHuvNi67ClQuhVRZkI7WZQZUipQIhAIivAEegpVhisWKEPbtJAKmLwU1djKyuQut7WFg4fvUr"}]},"_npmUser":{"name":"sjc5","email":"email@samcook.cc"},"directories":{},"maintainers":[{"name":"sjc5","email":"email@samcook.cc"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/hwy_0.0.0-beta.46_1710047822550_0.7135328845961662"},"_hasShrinkwrap":false},"0.0.0-beta.47":{"name":"hwy","version":"0.0.0-beta.47","author":{"name":"Samuel J. Cook"},"license":"MIT","description":"Simple, lightweight, and flexible web framework, built on h3, esbuild, and Preact.","type":"module","exports":{".":"./dist/index.js"},"scripts":{"build":"rm -rf dist && tsup-node index.ts --format esm --dts","dev":"rm -rf dist && tsup-node index.ts --format esm --dts --watch","publish-beta":"npm publish --tag beta","publish-non-beta":"npm publish","update-latest":"pnpm update --latest","typecheck":"tsc"},"dependencies":{"devalue":"^4.3.2","preact-render-to-string":"^6.4.0"},"devDependencies":{"@hwy-js/build":"workspace:*","@hwy-js/dev":"workspace:*","@types/node":"^20.11.25","h3":"^1.11.1","preact":"^10.19.6","tsup":"^8.0.2"},"repository":{"type":"git","url":"git+https://github.com/hwy-js/hwy.git","directory":"packages/core"},"homepage":"https://hwy.dev","bugs":{"url":"https://github.com/hwy-js/hwy/issues"},"keywords":["simple","lightweight","flexible","framework","metaframework","web","typescript","unjs","h3","router","nested","routing","jsx","tsx","nextjs","remix","react","preact","signals"],"sideEffects":false,"_id":"hwy@0.0.0-beta.47","readme":"ERROR: No README data found!","readmeFilename":"README.md","gitHead":"c638158b0def7805d1e5ec45b520c03e8b2c051d","_nodeVersion":"20.11.1","_npmVersion":"10.2.4","dist":{"integrity":"sha512-5vuuDXa4FxrTr0rsS6CuCPD/eElqBu0E47MYp9YbIhhv4+UvH1Dhu6kCn1vaILr61evLnuXtzIkRrPHaNRkuzQ==","shasum":"9d36ddccc0676a38e10b3baf150ba51296b25ccc","tarball":"https://registry.npmjs.org/hwy/-/hwy-0.0.0-beta.47.tgz","fileCount":4,"unpackedSize":57705,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIAlLvs5i3ZTqLhdSZcNq72xdIpE0/yk73hoqoNLKOHPyAiAb6qM8lcqSWLDHy0BtqkawyMOJ49iYEhC+NDXKfQaS3w=="}]},"_npmUser":{"name":"sjc5","email":"email@samcook.cc"},"directories":{},"maintainers":[{"name":"sjc5","email":"email@samcook.cc"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/hwy_0.0.0-beta.47_1710048228093_0.9236470252055753"},"_hasShrinkwrap":false},"0.0.0-beta.49":{"name":"hwy","version":"0.0.0-beta.49","author":{"name":"Samuel J. Cook"},"license":"MIT","description":"Simple, lightweight, and flexible web framework, built on h3, esbuild, and Preact.","type":"module","exports":{".":"./dist/index.js"},"scripts":{"build":"rm -rf dist && tsup-node index.ts --format esm --dts","dev":"rm -rf dist && tsup-node index.ts --format esm --dts --watch","publish-beta":"npm publish --tag beta","publish-non-beta":"npm publish","update-latest":"pnpm update --latest","typecheck":"tsc"},"dependencies":{"devalue":"^4.3.2","preact-render-to-string":"^6.4.0"},"devDependencies":{"@hwy-js/build":"workspace:*","@hwy-js/dev":"workspace:*","@types/node":"^20.11.25","h3":"^1.11.1","preact":"^10.19.6","tsup":"^8.0.2"},"repository":{"type":"git","url":"git+https://github.com/hwy-js/hwy.git","directory":"packages/core"},"homepage":"https://hwy.dev","bugs":{"url":"https://github.com/hwy-js/hwy/issues"},"keywords":["simple","lightweight","flexible","framework","metaframework","web","typescript","unjs","h3","router","nested","routing","jsx","tsx","nextjs","remix","react","preact","signals"],"sideEffects":false,"_id":"hwy@0.0.0-beta.49","readme":"ERROR: No README data found!","readmeFilename":"README.md","gitHead":"c638158b0def7805d1e5ec45b520c03e8b2c051d","_nodeVersion":"20.11.1","_npmVersion":"10.2.4","dist":{"integrity":"sha512-E6MtEiyf0vEIPUpYC08cZkbZBeKP08w9X0BYj4WYyfdLm/zvBneYe7VmmUfaHxpcYWect7yiGlKljACdVmKrMw==","shasum":"ccb09ad615df2a4141aacc7984c3d584042b43a8","tarball":"https://registry.npmjs.org/hwy/-/hwy-0.0.0-beta.49.tgz","fileCount":4,"unpackedSize":57705,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCICTbvE1bZcDv90swCKNdzqIGAcWq96MKt33G2l2RYdSjAiEAgalv1AhShsX2aFHXhIhE3M2cHKmn5zNnRvHON8cB1e0="}]},"_npmUser":{"name":"sjc5","email":"email@samcook.cc"},"directories":{},"maintainers":[{"name":"sjc5","email":"email@samcook.cc"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/hwy_0.0.0-beta.49_1710048684494_0.27240345350376693"},"_hasShrinkwrap":false},"0.0.0-beta.50":{"name":"hwy","version":"0.0.0-beta.50","author":{"name":"Samuel J. Cook"},"license":"MIT","description":"Simple, lightweight, and flexible web framework, built on h3, esbuild, and Preact.","type":"module","exports":{".":"./dist/index.js"},"scripts":{"build":"rm -rf dist && tsup-node index.ts --format esm --dts","dev":"rm -rf dist && tsup-node index.ts --format esm --dts --watch","publish-beta":"npm publish --tag beta","publish-non-beta":"npm publish","update-latest":"pnpm update --latest","typecheck":"tsc"},"dependencies":{"devalue":"^4.3.2","preact-render-to-string":"^6.4.0"},"devDependencies":{"@hwy-js/build":"workspace:*","@hwy-js/dev":"workspace:*","@types/node":"^20.11.25","h3":"^1.11.1","preact":"^10.19.6","tsup":"^8.0.2"},"repository":{"type":"git","url":"git+https://github.com/hwy-js/hwy.git","directory":"packages/core"},"homepage":"https://hwy.dev","bugs":{"url":"https://github.com/hwy-js/hwy/issues"},"keywords":["simple","lightweight","flexible","framework","metaframework","web","typescript","unjs","h3","router","nested","routing","jsx","tsx","nextjs","remix","react","preact","signals"],"sideEffects":false,"_id":"hwy@0.0.0-beta.50","readme":"ERROR: No README data found!","readmeFilename":"README.md","gitHead":"937752b3a25d16ed874f74980f89a730fcdf1a8c","_nodeVersion":"20.11.1","_npmVersion":"10.2.4","dist":{"integrity":"sha512-29h1PEC2ZJNISKWUoi1JYaO6+n32gU0SNKngHkViTJbpDDQfL6AIyENjCksbL6xP+v7OYlKoKqR3LQDCnuEMpA==","shasum":"2031b15a04db3c345bcbca40e59356dd72d7a318","tarball":"https://registry.npmjs.org/hwy/-/hwy-0.0.0-beta.50.tgz","fileCount":4,"unpackedSize":57705,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCr9dijbzei/O9NnjTlHGFQImlnxDkXrw6zM+aYwhLaWgIgCthq9KTla7m4w+CrjUIdgASmd1vwxZq9dPNTaaMvy1M="}]},"_npmUser":{"name":"sjc5","email":"email@samcook.cc"},"directories":{},"maintainers":[{"name":"sjc5","email":"email@samcook.cc"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/hwy_0.0.0-beta.50_1710048806981_0.6304703965990501"},"_hasShrinkwrap":false},"0.0.0-beta.51":{"name":"hwy","version":"0.0.0-beta.51","author":{"name":"Samuel J. Cook"},"license":"MIT","description":"Simple, lightweight, and flexible web framework, built on h3, esbuild, and Preact.","type":"module","exports":{".":"./dist/index.js"},"scripts":{"build":"rm -rf dist && tsup-node index.ts --format esm --dts","dev":"rm -rf dist && tsup-node index.ts --format esm --dts --watch","publish-beta":"npm publish --tag beta","publish-non-beta":"npm publish","update-latest":"pnpm update --latest","typecheck":"tsc"},"dependencies":{"devalue":"^4.3.2","preact-render-to-string":"^6.4.0"},"devDependencies":{"@hwy-js/build":"workspace:*","@hwy-js/dev":"workspace:*","@types/node":"^20.11.25","h3":"^1.11.1","preact":"^10.19.6","tsup":"^8.0.2"},"repository":{"type":"git","url":"git+https://github.com/hwy-js/hwy.git","directory":"packages/core"},"homepage":"https://hwy.dev","bugs":{"url":"https://github.com/hwy-js/hwy/issues"},"keywords":["simple","lightweight","flexible","framework","metaframework","web","typescript","unjs","h3","router","nested","routing","jsx","tsx","nextjs","remix","react","preact","signals"],"sideEffects":false,"_id":"hwy@0.0.0-beta.51","readme":"ERROR: No README data found!","readmeFilename":"README.md","gitHead":"11eb546118f24f533ca391b4cae35b8f59cfb314","_nodeVersion":"20.11.1","_npmVersion":"10.2.4","dist":{"integrity":"sha512-MVYmBJvPxhOcCQ6EWavASS+vZCf1BxgPed7bd6komDT957c6a6EuklwtlDBceLlmpL9/FCM+SICI+w0UwE7O/w==","shasum":"6657f48e3cab3de9279f92e4c2e5fad49efa6ead","tarball":"https://registry.npmjs.org/hwy/-/hwy-0.0.0-beta.51.tgz","fileCount":4,"unpackedSize":57705,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIHln2+iys2f+j9zYQjw3KeLlq9R/loI1JCDLbm82CgOpAiEA8rpbVU/6+TEl3SQfSWLzKtzlft1jZ0MY8IKX1JDTM7g="}]},"_npmUser":{"name":"sjc5","email":"email@samcook.cc"},"directories":{},"maintainers":[{"name":"sjc5","email":"email@samcook.cc"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/hwy_0.0.0-beta.51_1710102034370_0.9075780595260261"},"_hasShrinkwrap":false},"0.0.0-beta.52":{"name":"hwy","version":"0.0.0-beta.52","author":{"name":"Samuel J. Cook"},"license":"MIT","description":"Simple, lightweight, and flexible web framework, built on h3, esbuild, and Preact.","type":"module","exports":{".":"./dist/index.js"},"scripts":{"build":"rm -rf dist && tsup-node index.ts --format esm --dts","dev":"rm -rf dist && tsup-node index.ts --format esm --dts --watch","publish-beta":"npm publish --tag beta","publish-non-beta":"npm publish","update-latest":"pnpm update --latest","typecheck":"tsc"},"dependencies":{"devalue":"^4.3.2","preact-render-to-string":"^6.4.0"},"devDependencies":{"@hwy-js/build":"workspace:*","@hwy-js/dev":"workspace:*","@types/node":"^20.11.25","h3":"^1.11.1","preact":"^10.19.6","tsup":"^8.0.2"},"repository":{"type":"git","url":"git+https://github.com/hwy-js/hwy.git","directory":"packages/core"},"homepage":"https://hwy.dev","bugs":{"url":"https://github.com/hwy-js/hwy/issues"},"keywords":["simple","lightweight","flexible","framework","metaframework","web","typescript","unjs","h3","router","nested","routing","jsx","tsx","nextjs","remix","react","preact","signals"],"sideEffects":false,"_id":"hwy@0.0.0-beta.52","readme":"ERROR: No README data found!","readmeFilename":"README.md","gitHead":"29c66b55b1cc824e24f7e8e3b95f97ae262ef2ac","_nodeVersion":"20.11.1","_npmVersion":"10.2.4","dist":{"integrity":"sha512-/Kib3QXN0fa8SgFDNvbXjVJX1QfDuZwoK1RSdY1qWVEyedLZ4/UGgKunuhYMBhBSTsamZziu3rYnw1GPwbcPtg==","shasum":"0a219f5aa71d5616153b0f7bc73ecd87aac371c5","tarball":"https://registry.npmjs.org/hwy/-/hwy-0.0.0-beta.52.tgz","fileCount":4,"unpackedSize":57705,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIEe7dCPdchczErKqFVBsKQuRD/v0gpf79FhN3UXtgbUEAiBM4B/kl4YK0QtiNuA9bEq3tvc3W4jai3pAE8Xjikjt2A=="}]},"_npmUser":{"name":"sjc5","email":"email@samcook.cc"},"directories":{},"maintainers":[{"name":"sjc5","email":"email@samcook.cc"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/hwy_0.0.0-beta.52_1710116601660_0.4248379863794727"},"_hasShrinkwrap":false},"0.0.0-beta.53":{"name":"hwy","version":"0.0.0-beta.53","author":{"name":"Samuel J. Cook"},"license":"MIT","description":"Simple, lightweight, and flexible web framework, built on h3, esbuild, and Preact.","type":"module","exports":{".":"./dist/index.js"},"scripts":{"build":"rm -rf dist && tsup-node index.ts --format esm --dts","dev":"rm -rf dist && tsup-node index.ts --format esm --dts --watch","publish-beta":"npm publish --tag beta","publish-non-beta":"npm publish","update-latest":"pnpm update --latest","typecheck":"tsc"},"dependencies":{"devalue":"^4.3.2","preact-render-to-string":"^6.4.0"},"devDependencies":{"@hwy-js/build":"workspace:*","@hwy-js/dev":"workspace:*","@types/node":"^20.11.25","h3":"^1.11.1","preact":"^10.19.6","tsup":"^8.0.2"},"repository":{"type":"git","url":"git+https://github.com/hwy-js/hwy.git","directory":"packages/core"},"homepage":"https://hwy.dev","bugs":{"url":"https://github.com/hwy-js/hwy/issues"},"keywords":["simple","lightweight","flexible","framework","metaframework","web","typescript","unjs","h3","router","nested","routing","jsx","tsx","nextjs","remix","react","preact","signals"],"sideEffects":false,"_id":"hwy@0.0.0-beta.53","readme":"ERROR: No README data found!","readmeFilename":"README.md","gitHead":"29c66b55b1cc824e24f7e8e3b95f97ae262ef2ac","_nodeVersion":"20.11.1","_npmVersion":"10.2.4","dist":{"integrity":"sha512-5W/NzAM787PBHkGQZA/oK7z4Ta9IAAE7hGgs4OxcD8JsLKVSFgYVQ9PrN28zVbfeZ05m3zxIKhxdHoViVCn7NA==","shasum":"a60f97e553b6587a6d97507a7b61c0f5e1b560b5","tarball":"https://registry.npmjs.org/hwy/-/hwy-0.0.0-beta.53.tgz","fileCount":4,"unpackedSize":57705,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIFycGKecbJDepgGTEV27tlZCYAozDZW51mHDIVX6ro/kAiBq1GYp4yT9vQAdfV5G0SEIkSQrRTIjVlHiCTLWzCcHkg=="}]},"_npmUser":{"name":"sjc5","email":"email@samcook.cc"},"directories":{},"maintainers":[{"name":"sjc5","email":"email@samcook.cc"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/hwy_0.0.0-beta.53_1710118246227_0.009322030517997293"},"_hasShrinkwrap":false},"0.0.0-beta.54":{"name":"hwy","version":"0.0.0-beta.54","author":{"name":"Samuel J. Cook"},"license":"MIT","description":"Simple, lightweight, and flexible web framework, built on h3, esbuild, and Preact.","type":"module","exports":{".":"./dist/index.js"},"scripts":{"build":"rm -rf dist && tsup-node index.ts --format esm --dts","dev":"rm -rf dist && tsup-node index.ts --format esm --dts --watch","publish-beta":"npm publish --tag beta","publish-non-beta":"npm publish","update-latest":"pnpm update --latest","typecheck":"tsc"},"dependencies":{"devalue":"^4.3.2","preact-render-to-string":"^6.4.0"},"devDependencies":{"@hwy-js/build":"workspace:*","@hwy-js/dev":"workspace:*","@types/node":"^20.11.25","h3":"^1.11.1","preact":"^10.19.6","tsup":"^8.0.2"},"repository":{"type":"git","url":"git+https://github.com/hwy-js/hwy.git","directory":"packages/core"},"homepage":"https://hwy.dev","bugs":{"url":"https://github.com/hwy-js/hwy/issues"},"keywords":["simple","lightweight","flexible","framework","metaframework","web","typescript","unjs","h3","router","nested","routing","jsx","tsx","nextjs","remix","react","preact","signals"],"sideEffects":false,"_id":"hwy@0.0.0-beta.54","readme":"ERROR: No README data found!","readmeFilename":"README.md","gitHead":"29c66b55b1cc824e24f7e8e3b95f97ae262ef2ac","_nodeVersion":"20.11.1","_npmVersion":"10.2.4","dist":{"integrity":"sha512-QQ0f7WEH/K4yYUqTVQDcf2wjmI96YRPzWjtzX+14p7zD8F22fCvQNlw8d6Xz5xHwy+lY/d0gMMCUM7tLANMcLg==","shasum":"65148427ce6520f88682f2c055f19eb82b38e434","tarball":"https://registry.npmjs.org/hwy/-/hwy-0.0.0-beta.54.tgz","fileCount":4,"unpackedSize":57705,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIDUlPXCmhrqSnNmoX80Vh+SssYViR/aTXP45AAV6MFZNAiBkPW0q14mluLUiFKP6J9ek3/QsL8HKzVaUTRCBEMwkWA=="}]},"_npmUser":{"name":"sjc5","email":"email@samcook.cc"},"directories":{},"maintainers":[{"name":"sjc5","email":"email@samcook.cc"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/hwy_0.0.0-beta.54_1710122750837_0.6732432152174721"},"_hasShrinkwrap":false},"0.0.0-beta.55":{"name":"hwy","version":"0.0.0-beta.55","author":{"name":"Samuel J. Cook"},"license":"MIT","description":"Simple, lightweight, and flexible web framework, built on h3, esbuild, and Preact.","type":"module","exports":{".":"./dist/index.js"},"scripts":{"build":"rm -rf dist && tsup-node index.ts --format esm --dts","dev":"rm -rf dist && tsup-node index.ts --format esm --dts --watch","publish-beta":"npm publish --tag beta","publish-non-beta":"npm publish","update-latest":"pnpm update --latest","typecheck":"tsc"},"dependencies":{"devalue":"^4.3.2","preact-render-to-string":"^6.4.0"},"devDependencies":{"@hwy-js/build":"workspace:*","@hwy-js/dev":"workspace:*","@types/node":"^20.11.25","h3":"^1.11.1","preact":"^10.19.6","tsup":"^8.0.2"},"repository":{"type":"git","url":"git+https://github.com/hwy-js/hwy.git","directory":"packages/core"},"homepage":"https://hwy.dev","bugs":{"url":"https://github.com/hwy-js/hwy/issues"},"keywords":["simple","lightweight","flexible","framework","metaframework","web","typescript","unjs","h3","router","nested","routing","jsx","tsx","nextjs","remix","react","preact","signals"],"sideEffects":false,"_id":"hwy@0.0.0-beta.55","readme":"ERROR: No README data found!","readmeFilename":"README.md","gitHead":"bc8d90c7d6ad3bff9e049fac12553303ff404f33","_nodeVersion":"20.11.1","_npmVersion":"10.2.4","dist":{"integrity":"sha512-IXlizSYQuxTi6rakP3xDoo1OUMUVGbCI+2KU1xkjO7rj6d/046bigPDqi8/ONHeJyrcWOAQ/OFd0kjFnusQetA==","shasum":"392082d0045f523ade8242c166d58fbbdeb0a6c0","tarball":"https://registry.npmjs.org/hwy/-/hwy-0.0.0-beta.55.tgz","fileCount":4,"unpackedSize":57705,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCktZj25GBr3JSrIo/AstW9hwUBr0+9SWxeb4EV6ykuiAIgAeUBao4OMdN2wpLNH9e/DRUDuN9bF/uOl1ZHjemazcg="}]},"_npmUser":{"name":"sjc5","email":"email@samcook.cc"},"directories":{},"maintainers":[{"name":"sjc5","email":"email@samcook.cc"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/hwy_0.0.0-beta.55_1710206005325_0.6869288476303854"},"_hasShrinkwrap":false},"0.0.0-beta.56":{"name":"hwy","version":"0.0.0-beta.56","author":{"name":"Samuel J. Cook"},"license":"MIT","description":"Simple, lightweight, and flexible web framework, built on h3, esbuild, and Preact.","type":"module","exports":{".":"./dist/index.js"},"scripts":{"build":"rm -rf dist && tsup-node index.ts --format esm --dts","dev":"rm -rf dist && tsup-node index.ts --format esm --dts --watch","publish-beta":"npm publish --tag beta","publish-non-beta":"npm publish","update-latest":"pnpm update --latest","typecheck":"tsc"},"dependencies":{"devalue":"^4.3.2","preact-render-to-string":"^6.4.0"},"devDependencies":{"@hwy-js/build":"workspace:*","@hwy-js/dev":"workspace:*","@types/node":"^20.11.25","h3":"^1.11.1","preact":"^10.19.6","tsup":"^8.0.2"},"repository":{"type":"git","url":"git+https://github.com/hwy-js/hwy.git","directory":"packages/core"},"homepage":"https://hwy.dev","bugs":{"url":"https://github.com/hwy-js/hwy/issues"},"keywords":["simple","lightweight","flexible","framework","metaframework","web","typescript","unjs","h3","router","nested","routing","jsx","tsx","nextjs","remix","react","preact","signals"],"sideEffects":false,"_id":"hwy@0.0.0-beta.56","readme":"ERROR: No README data found!","readmeFilename":"README.md","gitHead":"bc8d90c7d6ad3bff9e049fac12553303ff404f33","_nodeVersion":"20.11.1","_npmVersion":"10.2.4","dist":{"integrity":"sha512-KMfnKveapYFIh2lOPgmTs21/Gt1cYF8zfLUu2gt4iqPmzNX1wvBkQu5zSrjOkrTJw5dJi2kedTZDZ3BK1b9voQ==","shasum":"6cc1093b676eebb209f22c12fbc82b1724a2a36f","tarball":"https://registry.npmjs.org/hwy/-/hwy-0.0.0-beta.56.tgz","fileCount":4,"unpackedSize":57705,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCsePAIRBqnrW6MkDo3M4FzO39Df2oWJ9PcjeMxPpKTGgIhAJMWpLf9cDf53Up89UxhOdh/3WA06eLtedAgXaBkQBuS"}]},"_npmUser":{"name":"sjc5","email":"email@samcook.cc"},"directories":{},"maintainers":[{"name":"sjc5","email":"email@samcook.cc"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/hwy_0.0.0-beta.56_1710224205961_0.4405863000214787"},"_hasShrinkwrap":false},"0.0.0-beta.57":{"name":"hwy","version":"0.0.0-beta.57","author":{"name":"Samuel J. Cook"},"license":"MIT","description":"Simple, lightweight, and flexible web framework, built on h3, esbuild, and Preact.","type":"module","exports":{".":"./dist/index.js"},"scripts":{"build":"rm -rf dist && tsup-node index.ts --format esm --dts","dev":"rm -rf dist && tsup-node index.ts --format esm --dts --watch","publish-beta":"npm publish --tag beta","publish-non-beta":"npm publish","update-latest":"pnpm update --latest","typecheck":"tsc"},"dependencies":{"devalue":"^4.3.2","preact-render-to-string":"^6.4.0"},"devDependencies":{"@hwy-js/build":"workspace:*","@hwy-js/dev":"workspace:*","@types/node":"^20.11.25","h3":"^1.11.1","preact":"^10.19.6","tsup":"^8.0.2"},"repository":{"type":"git","url":"git+https://github.com/hwy-js/hwy.git","directory":"packages/core"},"homepage":"https://hwy.dev","bugs":{"url":"https://github.com/hwy-js/hwy/issues"},"keywords":["simple","lightweight","flexible","framework","metaframework","web","typescript","unjs","h3","router","nested","routing","jsx","tsx","nextjs","remix","react","preact","signals"],"sideEffects":false,"_id":"hwy@0.0.0-beta.57","readme":"ERROR: No README data found!","readmeFilename":"README.md","gitHead":"bc8d90c7d6ad3bff9e049fac12553303ff404f33","_nodeVersion":"20.11.1","_npmVersion":"10.2.4","dist":{"integrity":"sha512-oamZfNZdq5kZO3jgOLNgn59HgllqCQqVwdOENKcauso03P8M9xxlk+lQKmeYRzwHASe92gqtGLsLApOW5wtQ9Q==","shasum":"75b9b0ca71e150bb36d09a5d797f0020c46155a2","tarball":"https://registry.npmjs.org/hwy/-/hwy-0.0.0-beta.57.tgz","fileCount":4,"unpackedSize":57703,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQC6JqiPlm1ywn2aVeJnt9UlMtks5QtnsvC2yycf3jyNxwIgSLJm+CNfjgJ9hBBvS80EhOqTtDDKqVjMWIppOFbyfFo="}]},"_npmUser":{"name":"sjc5","email":"email@samcook.cc"},"directories":{},"maintainers":[{"name":"sjc5","email":"email@samcook.cc"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/hwy_0.0.0-beta.57_1710293967217_0.5892696253149095"},"_hasShrinkwrap":false},"0.0.0-beta.58":{"name":"hwy","version":"0.0.0-beta.58","author":{"name":"Samuel J. Cook"},"license":"MIT","description":"Simple, lightweight, and flexible web framework, built on h3, esbuild, and Preact.","type":"module","exports":{".":"./dist/index.js"},"scripts":{"build":"rm -rf dist && tsup-node index.ts --format esm --dts","dev":"rm -rf dist && tsup-node index.ts --format esm --dts --watch","publish-beta":"npm publish --tag beta","publish-non-beta":"npm publish","update-latest":"pnpm update --latest","typecheck":"tsc"},"dependencies":{"devalue":"^4.3.2","preact-render-to-string":"^6.4.0"},"devDependencies":{"@hwy-js/build":"workspace:*","@hwy-js/dev":"workspace:*","@types/node":"^20.11.26","h3":"^1.11.1","preact":"^10.19.6","tsup":"^8.0.2"},"repository":{"type":"git","url":"git+https://github.com/hwy-js/hwy.git","directory":"packages/core"},"homepage":"https://hwy.dev","bugs":{"url":"https://github.com/hwy-js/hwy/issues"},"keywords":["simple","lightweight","flexible","framework","metaframework","web","typescript","unjs","h3","router","nested","routing","jsx","tsx","nextjs","remix","react","preact","signals"],"sideEffects":false,"_id":"hwy@0.0.0-beta.58","readme":"ERROR: No README data found!","readmeFilename":"README.md","gitHead":"481304f5c5d7c7c11bb501b0c80350022f9a2501","_nodeVersion":"20.11.1","_npmVersion":"10.2.4","dist":{"integrity":"sha512-L+6qDJSBWWJLFJCvFD5gL/Ityg5u9UkdezrN3lMCWVnEZr3Qmaj7pPnYcWzaErA7oNIENR1f5RFg6BrHyP2M/A==","shasum":"811164192870ed276abbcc47476ebddd4817dc96","tarball":"https://registry.npmjs.org/hwy/-/hwy-0.0.0-beta.58.tgz","fileCount":4,"unpackedSize":57703,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIEa5h5nca59HXS5tH0rnkMJDvxL+8l+n3K93hLHSliVOAiACE+BWARs1K6cbSwBBJCpHS5qxLWYoFznAxJ14/zk99A=="}]},"_npmUser":{"name":"sjc5","email":"email@samcook.cc"},"directories":{},"maintainers":[{"name":"sjc5","email":"email@samcook.cc"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/hwy_0.0.0-beta.58_1710440077965_0.2107789833994218"},"_hasShrinkwrap":false},"0.0.0-beta.59":{"name":"hwy","version":"0.0.0-beta.59","author":{"name":"Samuel J. Cook"},"license":"MIT","description":"Simple, lightweight, and flexible web framework, built on h3, esbuild, and Preact.","type":"module","exports":{".":"./dist/index.js"},"scripts":{"build":"rm -rf dist && tsup-node index.ts --format esm --dts","dev":"rm -rf dist && tsup-node index.ts --format esm --dts --watch","publish-beta":"npm publish --tag beta","publish-non-beta":"npm publish","update-latest":"pnpm update --latest","typecheck":"tsc"},"dependencies":{"devalue":"^4.3.2","preact-render-to-string":"^6.4.0"},"devDependencies":{"@hwy-js/build":"workspace:*","@hwy-js/dev":"workspace:*","@types/node":"^20.11.26","h3":"^1.11.1","preact":"^10.19.6","tsup":"^8.0.2"},"repository":{"type":"git","url":"git+https://github.com/hwy-js/hwy.git","directory":"packages/core"},"homepage":"https://hwy.dev","bugs":{"url":"https://github.com/hwy-js/hwy/issues"},"keywords":["simple","lightweight","flexible","framework","metaframework","web","typescript","unjs","h3","router","nested","routing","jsx","tsx","nextjs","remix","react","preact","signals"],"sideEffects":false,"_id":"hwy@0.0.0-beta.59","readme":"ERROR: No README data found!","readmeFilename":"README.md","gitHead":"481304f5c5d7c7c11bb501b0c80350022f9a2501","_nodeVersion":"20.11.1","_npmVersion":"10.2.4","dist":{"integrity":"sha512-hwXrLMrNMXprlXYRxNqFlBJ/xA+1UaNorGBtBAlq44vh0s7tiDzeaeAza6g7pVLnZ/DCVPPNIHpnzGnmDmt/GQ==","shasum":"cf2849fc5833d5f2942072e59380322cf6b5a535","tarball":"https://registry.npmjs.org/hwy/-/hwy-0.0.0-beta.59.tgz","fileCount":4,"unpackedSize":57703,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCq5Q6pdBh/fGCLTdco1HyIKPu27ckHTr0tH9HBNumTFQIhAID0OdWaOls/Z6ge17NJm4AHgdKGSdawTSa3t0jPqc3D"}]},"_npmUser":{"name":"sjc5","email":"email@samcook.cc"},"directories":{},"maintainers":[{"name":"sjc5","email":"email@samcook.cc"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/hwy_0.0.0-beta.59_1710440527602_0.06029104177220379"},"_hasShrinkwrap":false},"0.0.0-beta.60":{"name":"hwy","version":"0.0.0-beta.60","author":{"name":"Samuel J. Cook"},"license":"MIT","description":"Simple, lightweight, and flexible web framework, built on h3, esbuild, and React.","type":"module","exports":{".":"./dist/index.js"},"scripts":{"build":"rm -rf dist && tsup-node index.ts --format esm --dts","dev":"rm -rf dist && tsup-node index.ts --format esm --dts --watch","publish-beta":"npm publish --tag beta","publish-non-beta":"npm publish","update-latest":"pnpm update --latest","typecheck":"tsc"},"dependencies":{"devalue":"^4.3.2"},"devDependencies":{"@hwy-js/build":"workspace:*","@hwy-js/dev":"workspace:*","@types/node":"^20.11.27","@types/react":"^18.2.66","@types/react-dom":"^18.2.22","h3":"^1.11.1","react":"^18.2.0","react-dom":"^18.2.0","tsup":"^8.0.2"},"repository":{"type":"git","url":"git+https://github.com/hwy-js/hwy.git","directory":"packages/core"},"homepage":"https://hwy.dev","bugs":{"url":"https://github.com/hwy-js/hwy/issues"},"keywords":["simple","lightweight","flexible","framework","metaframework","web","typescript","unjs","h3","router","nested","routing","jsx","tsx","nextjs","remix","react"],"sideEffects":false,"_id":"hwy@0.0.0-beta.60","readme":"ERROR: No README data found!","readmeFilename":"README.md","gitHead":"8aa1ac5305d4c25adfd0e5ab520f3d79df36c40c","_nodeVersion":"20.11.1","_npmVersion":"10.2.4","dist":{"integrity":"sha512-YYuW6Mx9vBZiOgoUjorRzS5CDC4gHxzSr21dmzPOaYBmbvzNfII+Anhkwe3/WIof6nK8cht/Yd0vCEqHbEUJNg==","shasum":"2718825a891f0d6d145a0d48793235a4e214c6f5","tarball":"https://registry.npmjs.org/hwy/-/hwy-0.0.0-beta.60.tgz","fileCount":4,"unpackedSize":54702,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIFpQ3sShd21ZOc7jEsncr2lKJWKoRUU6z4WcyIy8Ado3AiEAusZcTwU1fsViPMdPI0wAhfbyvB9tHg40qwdXK0C5aBE="}]},"_npmUser":{"name":"sjc5","email":"email@samcook.cc"},"directories":{},"maintainers":[{"name":"sjc5","email":"email@samcook.cc"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/hwy_0.0.0-beta.60_1710461430219_0.2902466747927708"},"_hasShrinkwrap":false},"0.0.0-beta.61":{"name":"hwy","version":"0.0.0-beta.61","author":{"name":"Samuel J. Cook"},"license":"MIT","description":"Simple, lightweight, and flexible web framework.","type":"module","exports":{".":"./dist/index.js"},"scripts":{"build":"rm -rf dist && tsup-node index.ts --format esm --dts","dev":"rm -rf dist && tsup-node index.ts --format esm --dts --watch","publish-beta":"npm publish --tag beta","publish-non-beta":"npm publish","update-latest":"pnpm update --latest","typecheck":"tsc"},"dependencies":{"devalue":"^4.3.2"},"devDependencies":{"@hwy-js/build":"workspace:*","@hwy-js/dev":"workspace:*","@types/node":"^20.11.27","@types/react":"^18.2.66","@types/react-dom":"^18.2.22","h3":"^1.11.1","react":"^18.2.0","react-dom":"^18.2.0","tsup":"^8.0.2"},"repository":{"type":"git","url":"git+https://github.com/hwy-js/hwy.git","directory":"packages/core"},"homepage":"https://hwy.dev","bugs":{"url":"https://github.com/hwy-js/hwy/issues"},"keywords":["simple","lightweight","flexible","framework","metaframework","web","typescript","unjs","h3","router","nested","routing","jsx","tsx","nextjs","remix","react"],"sideEffects":false,"_id":"hwy@0.0.0-beta.61","readme":"ERROR: No README data found!","readmeFilename":"README.md","gitHead":"e9dfd7f40b0948384244f53fe309ba1dcbcf84c5","_nodeVersion":"20.11.1","_npmVersion":"10.2.4","dist":{"integrity":"sha512-zRdu31yuHrcp0UuqtvULA8VlINYaAfguwThxQyjKMXtI+/8DlFbVyGyw9IEOC7yGMKGE+60ZJAbc2OFS744pYw==","shasum":"c7b292c46e30c9b4283e287f8e1fe12573b4c5f8","tarball":"https://registry.npmjs.org/hwy/-/hwy-0.0.0-beta.61.tgz","fileCount":4,"unpackedSize":54669,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDN7l3lJ3Ik2sQO9C8jMn3bsEvgVgDQNWjik2ME/i58XgIhAKbtobKI0gXJhPHD2suJy/Fk904HwAWq1Sll/qVoix1F"}]},"_npmUser":{"name":"sjc5","email":"email@samcook.cc"},"directories":{},"maintainers":[{"name":"sjc5","email":"email@samcook.cc"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/hwy_0.0.0-beta.61_1710472103399_0.39067920533990086"},"_hasShrinkwrap":false},"0.0.0-beta.62":{"name":"hwy","version":"0.0.0-beta.62","author":{"name":"Samuel J. Cook"},"license":"MIT","description":"Simple, lightweight, and flexible web framework.","type":"module","exports":{".":"./dist/index.js"},"scripts":{"build":"rm -rf dist && tsup-node index.ts --format esm --dts","dev":"rm -rf dist && tsup-node index.ts --format esm --dts --watch","publish-beta":"npm publish --tag beta","publish-non-beta":"npm publish","update-latest":"pnpm update --latest","typecheck":"tsc"},"dependencies":{"devalue":"^4.3.2"},"devDependencies":{"@hwy-js/build":"workspace:*","@hwy-js/dev":"workspace:*","@types/node":"^20.11.27","@types/react":"^18.2.66","@types/react-dom":"^18.2.22","h3":"^1.11.1","react":"^18.2.0","react-dom":"^18.2.0","tsup":"^8.0.2"},"repository":{"type":"git","url":"git+https://github.com/hwy-js/hwy.git","directory":"packages/core"},"homepage":"https://hwy.dev","bugs":{"url":"https://github.com/hwy-js/hwy/issues"},"keywords":["simple","lightweight","flexible","framework","metaframework","web","typescript","unjs","h3","router","nested","routing","jsx","tsx","nextjs","remix","react"],"sideEffects":false,"_id":"hwy@0.0.0-beta.62","readme":"ERROR: No README data found!","readmeFilename":"README.md","gitHead":"5bc0c6b0bd3e5409f51a7f6d8c079097855aa5fb","_nodeVersion":"20.11.1","_npmVersion":"10.2.4","dist":{"integrity":"sha512-KmKink0gaI8n946mayNQuUZxU9hKIuERPOYjycHe0tWPU6vQnBdwotQZrSxZd3XDSPbviSWsXLvVB3/B6Xlotw==","shasum":"a2ef16ef32d4db813ea677c4f2703d9606f4e5f6","tarball":"https://registry.npmjs.org/hwy/-/hwy-0.0.0-beta.62.tgz","fileCount":4,"unpackedSize":54531,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCICOavypGtU/DXu+8LbmuL93m+rtIns0bvXgE9RiiuVsGAiBXqzKfMzU6Bq76umGL/TQKsjeADQ9h05XZo0JHe8yWDg=="}]},"_npmUser":{"name":"sjc5","email":"email@samcook.cc"},"directories":{},"maintainers":[{"name":"sjc5","email":"email@samcook.cc"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/hwy_0.0.0-beta.62_1710617987943_0.5860535257976154"},"_hasShrinkwrap":false},"0.0.0-beta.63":{"name":"hwy","version":"0.0.0-beta.63","author":{"name":"Samuel J. Cook"},"license":"MIT","description":"Simple, lightweight, and flexible web framework.","type":"module","exports":{".":"./dist/index.js"},"scripts":{"build":"rm -rf dist && tsup-node index.ts --format esm --dts","dev":"rm -rf dist && tsup-node index.ts --format esm --dts --watch","publish-beta":"npm publish --tag beta","publish-non-beta":"npm publish","update-latest":"pnpm update --latest","typecheck":"tsc"},"dependencies":{"devalue":"^4.3.2"},"devDependencies":{"@hwy-js/build":"workspace:*","@hwy-js/dev":"workspace:*","@types/node":"^20.11.27","@types/react":"^18.2.66","@types/react-dom":"^18.2.22","h3":"^1.11.1","react":"^18.2.0","react-dom":"^18.2.0","tsup":"^8.0.2"},"repository":{"type":"git","url":"git+https://github.com/hwy-js/hwy.git","directory":"packages/core"},"homepage":"https://hwy.dev","bugs":{"url":"https://github.com/hwy-js/hwy/issues"},"keywords":["simple","lightweight","flexible","framework","metaframework","web","typescript","unjs","h3","router","nested","routing","jsx","tsx","nextjs","remix","react"],"sideEffects":false,"_id":"hwy@0.0.0-beta.63","readme":"ERROR: No README data found!","readmeFilename":"README.md","gitHead":"456dea0202bb5c817f27b1fa9f96fa8ed09a5f3f","_nodeVersion":"20.11.1","_npmVersion":"10.2.4","dist":{"integrity":"sha512-XXpEr2iUl1/ADrfF8aOXGGMup1U1hUMYmAccmvypU/kFxIEhkJM8kdvRPElIoNmkb6mety2+KxLRRqIUcAk1iw==","shasum":"c0c97d1222fb2612b807fe6b34f94414f7723d48","tarball":"https://registry.npmjs.org/hwy/-/hwy-0.0.0-beta.63.tgz","fileCount":4,"unpackedSize":54570,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCB31VTk5SUpKqHI5T0evWSyz+r5LvuN3QkR2lHA/fy9wIhAP1hAfJqQrNkhVQIxbSODGjnHbyZ9ulBKeqktTJOApR9"}]},"_npmUser":{"name":"sjc5","email":"email@samcook.cc"},"directories":{},"maintainers":[{"name":"sjc5","email":"email@samcook.cc"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/hwy_0.0.0-beta.63_1710621305462_0.6160070641422244"},"_hasShrinkwrap":false},"0.0.0-beta.64":{"name":"hwy","version":"0.0.0-beta.64","author":{"name":"Samuel J. Cook"},"license":"MIT","description":"Simple, lightweight, and flexible web framework.","type":"module","exports":{".":"./dist/index.js"},"scripts":{"build":"rm -rf dist && tsup-node index.ts --format esm --dts","dev":"rm -rf dist && tsup-node index.ts --format esm --dts --watch","publish-beta":"npm publish --tag beta","publish-non-beta":"npm publish","update-latest":"pnpm update --latest","typecheck":"tsc"},"dependencies":{"devalue":"^4.3.2"},"devDependencies":{"@hwy-js/build":"workspace:*","@hwy-js/dev":"workspace:*","@types/node":"^20.11.27","@types/react":"^18.2.66","@types/react-dom":"^18.2.22","h3":"^1.11.1","react":"^18.2.0","react-dom":"^18.2.0","tsup":"^8.0.2"},"repository":{"type":"git","url":"git+https://github.com/hwy-js/hwy.git","directory":"packages/core"},"homepage":"https://hwy.dev","bugs":{"url":"https://github.com/hwy-js/hwy/issues"},"keywords":["simple","lightweight","flexible","framework","metaframework","web","typescript","unjs","h3","router","nested","routing","jsx","tsx","nextjs","remix","react"],"sideEffects":false,"_id":"hwy@0.0.0-beta.64","readme":"ERROR: No README data found!","readmeFilename":"README.md","gitHead":"456dea0202bb5c817f27b1fa9f96fa8ed09a5f3f","_nodeVersion":"20.11.1","_npmVersion":"10.2.4","dist":{"integrity":"sha512-+eYumCy+NpEa2RBetravOqd8MIzBt7x6d7i6lwwpOq6Yw1ACHGVpef2nEoFSZpNi2LnlnJ8eBTQ3T3qbMnbhGQ==","shasum":"18f50d88c3a19d4d2fd92859fc638aec51736afa","tarball":"https://registry.npmjs.org/hwy/-/hwy-0.0.0-beta.64.tgz","fileCount":4,"unpackedSize":54570,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDv+OqxA6yYcfWwq3CpVQ3KzJyNSPTFWg87KjCYoNZd8QIhAJlhyoYB65OM8iDhUbU1AxDosBtZNIEazNgvP4WmY9mH"}]},"_npmUser":{"name":"sjc5","email":"email@samcook.cc"},"directories":{},"maintainers":[{"name":"sjc5","email":"email@samcook.cc"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/hwy_0.0.0-beta.64_1710622768306_0.5618884338543368"},"_hasShrinkwrap":false},"0.0.0-beta.65":{"name":"hwy","version":"0.0.0-beta.65","author":{"name":"Samuel J. Cook"},"license":"MIT","description":"Simple, lightweight, and flexible web framework.","type":"module","exports":{".":"./dist/index.js"},"scripts":{"build":"rm -rf dist && tsup-node index.ts --format esm --dts","dev":"rm -rf dist && tsup-node index.ts --format esm --dts --watch","publish-beta":"npm publish --tag beta","publish-non-beta":"npm publish","update-latest":"pnpm update --latest","typecheck":"tsc"},"dependencies":{"devalue":"^4.3.2"},"devDependencies":{"@hwy-js/build":"workspace:*","@hwy-js/dev":"workspace:*","@types/node":"^20.11.28","@types/react":"^18.2.66","@types/react-dom":"^18.2.22","h3":"^1.11.1","react":"^18.2.0","react-dom":"^18.2.0","tsup":"^8.0.2"},"repository":{"type":"git","url":"git+https://github.com/hwy-js/hwy.git","directory":"packages/core"},"homepage":"https://hwy.dev","bugs":{"url":"https://github.com/hwy-js/hwy/issues"},"keywords":["simple","lightweight","flexible","framework","metaframework","web","typescript","unjs","h3","router","nested","routing","jsx","tsx","nextjs","remix","react"],"sideEffects":false,"_id":"hwy@0.0.0-beta.65","readme":"ERROR: No README data found!","readmeFilename":"README.md","gitHead":"6869a608a268fe478fbe40806c1006d45a506956","_nodeVersion":"20.11.1","_npmVersion":"10.2.4","dist":{"integrity":"sha512-Cp4OLtDjhxTti2HjMEaFbaLDY8emjhROK9lELiKbNyx8uCuVfCcFAyA28j5n2NBAiUeej2mq+fMuo9mP3zPk6Q==","shasum":"ca4399c1cf5d04960f70eedf64f3685b17939888","tarball":"https://registry.npmjs.org/hwy/-/hwy-0.0.0-beta.65.tgz","fileCount":4,"unpackedSize":53436,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCVvy5oR3R99WHMY8CZgEFKIW9eIQ7Onb61qQWABg2cpwIgRM43sJLBKrDBfuaDY5wjqxwx2+lYhYUZGWcG6NZSXP0="}]},"_npmUser":{"name":"sjc5","email":"email@samcook.cc"},"directories":{},"maintainers":[{"name":"sjc5","email":"email@samcook.cc"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/hwy_0.0.0-beta.65_1710636200161_0.452668916829311"},"_hasShrinkwrap":false},"0.0.0-beta.66":{"name":"hwy","version":"0.0.0-beta.66","author":{"name":"Samuel J. Cook"},"license":"MIT","description":"Simple, lightweight, and flexible web framework.","type":"module","exports":{".":"./dist/index.js"},"scripts":{"build":"rm -rf dist && tsup-node index.ts --format esm --dts","dev":"rm -rf dist && tsup-node index.ts --format esm --dts --watch","publish-beta":"npm publish --tag beta","publish-non-beta":"npm publish","update-latest":"pnpm update --latest","typecheck":"tsc"},"dependencies":{"devalue":"^4.3.2"},"devDependencies":{"@hwy-js/build":"workspace:*","@hwy-js/dev":"workspace:*","@types/node":"^20.11.28","@types/react":"^18.2.66","@types/react-dom":"^18.2.22","h3":"^1.11.1","react":"^18.2.0","react-dom":"^18.2.0","tsup":"^8.0.2"},"repository":{"type":"git","url":"git+https://github.com/hwy-js/hwy.git","directory":"packages/core"},"homepage":"https://hwy.dev","bugs":{"url":"https://github.com/hwy-js/hwy/issues"},"keywords":["simple","lightweight","flexible","framework","metaframework","web","typescript","unjs","h3","router","nested","routing","jsx","tsx","nextjs","remix","react"],"sideEffects":false,"_id":"hwy@0.0.0-beta.66","readme":"ERROR: No README data found!","readmeFilename":"README.md","gitHead":"da3ea07cafa77c9748acd9907f7e39ada91ad905","_nodeVersion":"20.11.1","_npmVersion":"10.2.4","dist":{"integrity":"sha512-OHV7HWiq/TQH0KQ6rDELW9PsSRqKXLRXFMyWByRrTit2HXYY8yHDBde90+EkJsIWTJIh+7tpO4SXB3Eh8b5Ufg==","shasum":"7a02ff402f4e60ab114b9f906c2c0fe9d2186587","tarball":"https://registry.npmjs.org/hwy/-/hwy-0.0.0-beta.66.tgz","fileCount":4,"unpackedSize":53436,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDc6s3PmdXWTaFlisj43rhdgbnYdld7faOL5KqsRwKOogIhAO/vwGNWiMnQHFNzxrvW+emXzSYfHyguHZ5gvwEo3Fnp"}]},"_npmUser":{"name":"sjc5","email":"email@samcook.cc"},"directories":{},"maintainers":[{"name":"sjc5","email":"email@samcook.cc"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/hwy_0.0.0-beta.66_1710638239788_0.6010217359876147"},"_hasShrinkwrap":false},"0.0.0-beta.67":{"name":"hwy","version":"0.0.0-beta.67","author":{"name":"Samuel J. Cook"},"license":"MIT","description":"Simple, lightweight, and flexible web framework.","type":"module","exports":{".":"./dist/index.js"},"scripts":{"build":"rm -rf dist && tsup-node index.ts --format esm --dts","dev":"rm -rf dist && tsup-node index.ts --format esm --dts --watch","publish-beta":"npm publish --tag beta","publish-non-beta":"npm publish","update-latest":"pnpm update --latest","typecheck":"tsc"},"dependencies":{"devalue":"^4.3.2"},"devDependencies":{"@hwy-js/build":"workspace:*","@hwy-js/dev":"workspace:*","@types/node":"^20.11.28","@types/react":"^18.2.66","@types/react-dom":"^18.2.22","h3":"^1.11.1","react":"^18.2.0","react-dom":"^18.2.0","tsup":"^8.0.2"},"repository":{"type":"git","url":"git+https://github.com/hwy-js/hwy.git","directory":"packages/core"},"homepage":"https://hwy.dev","bugs":{"url":"https://github.com/hwy-js/hwy/issues"},"keywords":["simple","lightweight","flexible","framework","metaframework","web","typescript","unjs","h3","router","nested","routing","jsx","tsx","nextjs","remix","react"],"sideEffects":false,"_id":"hwy@0.0.0-beta.67","readme":"# 🛣️ Hwy\n\nHwy is a simple, lightweight, and flexible web framework.\n\n## Quick Start\n\n```bash\nnpx create-hwy@latest\n```\n\n## What is Hwy?\n\nAt its core, Hwy is a server-rendered, multi-page app (\"MPA\") framework for NodeJS. Hwy is built on top of <a href=\"https://h3.unjs.io\" target=\"_blank\">h3</a> (the core server framework behind Nuxt and SolidStart), <a href=\"https://esbuild.github.io\" target=\"_blank\">esbuild</a> (for TypeScript transpilation and bundling), and <a href=\"https://react.dev\" target=\"_blank\">React</a> (for rendering JSX on the server, and optionally on the client).\n\nIf you want to upgrade beyond an MPA pattern, Hwy has first-class support for both React and HTMX on the client. This means you can build a full-featured SPA with Hwy, or you can build a traditional MPA, or you can build something in between.\n\n## Features\n\n- Server-rendered JSX\n- Nested, file-based routing\n- Remix-style actions and parallel loaders\n- 100% type-safe\n- Server built on h3\n- MPA default, easily upgrade to client-side React or HTMX\n- Built-in critical CSS inlining\n- Live browser refresh during development\n- And more...\n\n## Simple usage\n\nBelow is an example of a simple Hwy page. You'll notice it looks a lot like Remix, and you're right!\n\n```tsx\n// src/pages/user/$user_id.page.tsx\n\nimport type { DataProps, PageProps } from \"hwy\";\nimport { UserProfile, getUser } from \"./somewhere.js\";\n\nexport async function loader({ params }: DataProps) {\n  return await getUser(params.user_id);\n}\n\nexport default function ({ loaderData }: PageProps<typeof loader>) {\n  return <UserProfile user={loaderData} />;\n}\n```\n\n## Get Started\n\nIf you want to dive right in, just open a terminal and run `npx create-hwy@latest` and follow the prompts.\n\nIf you'd prefer to read more first, take a peek at [our website](https://hwy.dev).\n\n## Acknowledgements\n\nHwy's APIs are heavily inspired by Remix. If Remix didn't exist, Hwy likely wouldn't exist either. Hwy doesn't use any Remix code, but it still owes a big thanks to the Remix team (past and present) for their top-tier patterns design. If you're building something huge and important today, use Remix.\n\n## Disclaimer\n\nHwy is in beta! Act accordingly.\n\n## License\n\nMIT License. Copyright (c) 2023 Samuel J. Cook.\n","readmeFilename":"README.md","gitHead":"c42de3062b7d4d2a26be476167f95308028b0189","_nodeVersion":"20.11.1","_npmVersion":"10.2.4","dist":{"integrity":"sha512-J08uXJTHNqUUPqtC4OM1BaoxR8/95hPGg8b+R7GJ+QeJZAszRW6NuflrGDcQswVZwz68CB8Yf42n8FZHp2Thpw==","shasum":"3f34fe8f333cfffde48b0b3bdf236a4dcb5745b5","tarball":"https://registry.npmjs.org/hwy/-/hwy-0.0.0-beta.67.tgz","fileCount":4,"unpackedSize":55689,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIHGjfoqbPEPmQL5qk3oY/6do+J4Xz82OwJF/LcC+uk4nAiB8FM2C+RsbRrr50LAymo6YoFss+6UcLahfj1Cx3l+o/A=="}]},"_npmUser":{"name":"sjc5","email":"email@samcook.cc"},"directories":{},"maintainers":[{"name":"sjc5","email":"email@samcook.cc"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/hwy_0.0.0-beta.67_1710654400269_0.7788174280612683"},"_hasShrinkwrap":false},"0.0.0-beta.68":{"name":"hwy","version":"0.0.0-beta.68","author":{"name":"Samuel J. Cook"},"license":"MIT","description":"Simple, lightweight, and flexible web framework.","type":"module","exports":{".":"./dist/index.js"},"scripts":{"build":"rm -rf dist && tsup-node index.ts --format esm --dts","dev":"rm -rf dist && tsup-node index.ts --format esm --dts --watch","publish-beta":"npm publish --tag beta","publish-non-beta":"npm publish","update-latest":"pnpm update --latest","typecheck":"tsc"},"dependencies":{"devalue":"^4.3.2"},"devDependencies":{"@hwy-js/build":"workspace:*","@hwy-js/dev":"workspace:*","@types/node":"^20.11.28","@types/react":"^18.2.66","@types/react-dom":"^18.2.22","h3":"^1.11.1","react":"^18.2.0","react-dom":"^18.2.0","tsup":"^8.0.2"},"repository":{"type":"git","url":"git+https://github.com/hwy-js/hwy.git","directory":"packages/core"},"homepage":"https://hwy.dev","bugs":{"url":"https://github.com/hwy-js/hwy/issues"},"keywords":["simple","lightweight","flexible","framework","metaframework","web","typescript","unjs","h3","router","nested","routing","jsx","tsx","nextjs","remix","react"],"sideEffects":false,"_id":"hwy@0.0.0-beta.68","readme":"# 🛣️ Hwy\n\nHwy is a simple, lightweight, and flexible web framework.\n\n## Quick Start\n\n```bash\nnpx create-hwy@latest\n```\n\n## What is Hwy?\n\nAt its core, Hwy is a server-rendered, multi-page app (\"MPA\") framework for NodeJS. Hwy is built on top of <a href=\"https://h3.unjs.io\" target=\"_blank\">h3</a> (the core server framework behind Nuxt and SolidStart), <a href=\"https://esbuild.github.io\" target=\"_blank\">esbuild</a> (for TypeScript transpilation and bundling), and <a href=\"https://react.dev\" target=\"_blank\">React</a> (for rendering JSX on the server, and optionally on the client).\n\nIf you want to upgrade beyond an MPA pattern, Hwy has first-class support for both React and HTMX on the client. This means you can build a full-featured SPA with Hwy, or you can build a traditional MPA, or you can build something in between.\n\n## Features\n\n- Server-rendered JSX\n- Nested, file-based routing\n- Remix-style actions and parallel loaders\n- 100% type-safe\n- Server built on h3\n- MPA default, easily upgrade to client-side React or HTMX\n- Built-in critical CSS inlining\n- Live browser refresh during development\n- And more...\n\n## Simple usage\n\nBelow is an example of a simple Hwy page. You'll notice it looks a lot like Remix, and you're right!\n\n```tsx\n// src/pages/user/$user_id.page.tsx\n\nimport type { DataProps, PageProps } from \"hwy\";\nimport { UserProfile, getUser } from \"./somewhere.js\";\n\nexport async function loader({ params }: DataProps) {\n  return await getUser(params.user_id);\n}\n\nexport default function ({ loaderData }: PageProps<typeof loader>) {\n  return <UserProfile user={loaderData} />;\n}\n```\n\n## Get Started\n\nIf you want to dive right in, just open a terminal and run `npx create-hwy@latest` and follow the prompts.\n\nIf you'd prefer to read more first, take a peek at [our website](https://hwy.dev).\n\n## Acknowledgements\n\nHwy's APIs are heavily inspired by Remix. If Remix didn't exist, Hwy likely wouldn't exist either. Hwy doesn't use any Remix code, but it still owes a big thanks to the Remix team (past and present) for their top-tier patterns design. If you're building something huge and important today, use Remix.\n\n## Disclaimer\n\nHwy is in beta! Act accordingly.\n\n## License\n\nMIT License. Copyright (c) 2023 Samuel J. Cook.\n","readmeFilename":"README.md","gitHead":"377e853b26e7250e0e709ee5a37edc8056032b6f","_nodeVersion":"20.11.1","_npmVersion":"10.2.4","dist":{"integrity":"sha512-RmFMrP3Ex2I5AqcCtvO/qQAo+f7KMJd+GNXdzH54LsfKG2lES1pXfWSYVqrB0jtipRG9dC3RPhMNEg0cHBPA0A==","shasum":"a185b5b2e22a1cf7e79bf231f773811fb203c34f","tarball":"https://registry.npmjs.org/hwy/-/hwy-0.0.0-beta.68.tgz","fileCount":4,"unpackedSize":55689,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQD5TKodjRV9ZfnWPHBhyN6Cp0DQMIHm+couNTBUvPy0pAIgDibzyoofFcgJlMg8Tin4U7eAOBOlOmf2Q7fY86j+2DI="}]},"_npmUser":{"name":"sjc5","email":"email@samcook.cc"},"directories":{},"maintainers":[{"name":"sjc5","email":"email@samcook.cc"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/hwy_0.0.0-beta.68_1710730564322_0.5107712710195011"},"_hasShrinkwrap":false},"0.0.0-beta.69":{"name":"hwy","version":"0.0.0-beta.69","author":{"name":"Samuel J. Cook"},"license":"MIT","description":"Simple, lightweight, and flexible web framework.","type":"module","exports":{".":"./dist/index.js"},"scripts":{"build":"rm -rf dist && tsup-node index.ts --format esm --dts","dev":"rm -rf dist && tsup-node index.ts --format esm --dts --watch","publish-beta":"npm publish --tag beta","publish-non-beta":"npm publish","update-latest":"pnpm update --latest","typecheck":"tsc"},"dependencies":{"devalue":"^4.3.2"},"devDependencies":{"@hwy-js/build":"workspace:*","@hwy-js/dev":"workspace:*","@types/node":"^20.11.28","@types/react":"^18.2.66","@types/react-dom":"^18.2.22","h3":"^1.11.1","react":"^18.2.0","react-dom":"^18.2.0","tsup":"^8.0.2"},"repository":{"type":"git","url":"git+https://github.com/hwy-js/hwy.git","directory":"packages/core"},"homepage":"https://hwy.dev","bugs":{"url":"https://github.com/hwy-js/hwy/issues"},"keywords":["simple","lightweight","flexible","framework","metaframework","web","typescript","unjs","h3","router","nested","routing","jsx","tsx","nextjs","remix","react"],"sideEffects":false,"_id":"hwy@0.0.0-beta.69","readme":"# 🛣️ Hwy\n\nHwy is a simple, lightweight, and flexible web framework.\n\n## Quick Start\n\n```bash\nnpx create-hwy@latest\n```\n\n## What is Hwy?\n\nAt its core, Hwy is a server-rendered, multi-page app (\"MPA\") framework for NodeJS. Hwy is built on top of <a href=\"https://h3.unjs.io\" target=\"_blank\">h3</a> (the core server framework behind Nuxt and SolidStart), <a href=\"https://esbuild.github.io\" target=\"_blank\">esbuild</a> (for TypeScript transpilation and bundling), and <a href=\"https://react.dev\" target=\"_blank\">React</a> (for rendering JSX on the server, and optionally on the client).\n\nIf you want to upgrade beyond an MPA pattern, Hwy has first-class support for both React and HTMX on the client. This means you can build a full-featured SPA with Hwy, or you can build a traditional MPA, or you can build something in between.\n\n## Features\n\n- Server-rendered JSX\n- Nested, file-based routing\n- Remix-style actions and parallel loaders\n- 100% type-safe\n- Server built on h3\n- MPA default, easily upgrade to client-side React or HTMX\n- Built-in critical CSS inlining\n- Live browser refresh during development\n- And more...\n\n## Simple usage\n\nBelow is an example of a simple Hwy page. You'll notice it looks a lot like Remix, and you're right!\n\n```tsx\n// src/pages/user/$user_id.page.tsx\n\nimport type { DataProps, PageProps } from \"hwy\";\nimport { UserProfile, getUser } from \"./somewhere.js\";\n\nexport async function loader({ params }: DataProps) {\n  return await getUser(params.user_id);\n}\n\nexport default function ({ loaderData }: PageProps<typeof loader>) {\n  return <UserProfile user={loaderData} />;\n}\n```\n\n## Get Started\n\nIf you want to dive right in, just open a terminal and run `npx create-hwy@latest` and follow the prompts.\n\nIf you'd prefer to read more first, take a peek at [our website](https://hwy.dev).\n\n## Acknowledgements\n\nHwy's APIs are heavily inspired by Remix. If Remix didn't exist, Hwy likely wouldn't exist either. Hwy doesn't use any Remix code, but it still owes a big thanks to the Remix team (past and present) for their top-tier patterns design. If you're building something huge and important today, use Remix.\n\n## Disclaimer\n\nHwy is in beta! Act accordingly.\n\n## License\n\nMIT License. Copyright (c) 2023 Samuel J. Cook.\n","readmeFilename":"README.md","gitHead":"156bb8011e6b1b3108a4d19959c62a3aadba0908","_nodeVersion":"20.11.1","_npmVersion":"10.2.4","dist":{"integrity":"sha512-SC4yGphxq/7QDGRtDKSl0Ppe+fX8zn/aHGeGIU4Ci+EDWI8664frrYcq7mLz9/5bCM6RUNL5/zZEfeQEAvkSmg==","shasum":"24443e7fca9eee092a764a0b4652ad196a75d238","tarball":"https://registry.npmjs.org/hwy/-/hwy-0.0.0-beta.69.tgz","fileCount":4,"unpackedSize":56559,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIEKg1mHQydxkOXd1pK6F6jF0m1yKZfD6iMCGdvPow7wqAiB1VFCwhfcblk3/XZ9Zqv8bqFRWBVnaew4LUQ6skQqyRA=="}]},"_npmUser":{"name":"sjc5","email":"email@samcook.cc"},"directories":{},"maintainers":[{"name":"sjc5","email":"email@samcook.cc"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/hwy_0.0.0-beta.69_1710994634431_0.11540594342226496"},"_hasShrinkwrap":false},"0.0.0-beta.70":{"name":"hwy","version":"0.0.0-beta.70","author":{"name":"Samuel J. Cook"},"license":"MIT","description":"Simple, lightweight, and flexible web framework.","type":"module","exports":{".":"./dist/index.js"},"scripts":{"build":"rm -rf dist && tsup-node index.ts --format esm --dts","dev":"rm -rf dist && tsup-node index.ts --format esm --dts --watch","publish-beta":"npm publish --tag beta","publish-non-beta":"npm publish","update-latest":"pnpm update --latest","typecheck":"tsc"},"dependencies":{"devalue":"^4.3.2"},"devDependencies":{"@hwy-js/build":"workspace:*","@hwy-js/dev":"workspace:*","@types/node":"^20.11.28","@types/react":"^18.2.66","@types/react-dom":"^18.2.22","h3":"^1.11.1","react":"^18.2.0","react-dom":"^18.2.0","tsup":"^8.0.2"},"repository":{"type":"git","url":"git+https://github.com/hwy-js/hwy.git","directory":"packages/core"},"homepage":"https://hwy.dev","bugs":{"url":"https://github.com/hwy-js/hwy/issues"},"keywords":["simple","lightweight","flexible","framework","metaframework","web","typescript","unjs","h3","router","nested","routing","jsx","tsx","nextjs","remix","react"],"sideEffects":false,"_id":"hwy@0.0.0-beta.70","readme":"# 🛣️ Hwy\n\nHwy is a simple, lightweight, and flexible web framework.\n\n## Quick Start\n\n```bash\nnpx create-hwy@latest\n```\n\n## What is Hwy?\n\nAt its core, Hwy is a server-rendered, multi-page app (\"MPA\") framework for NodeJS. Hwy is built on top of <a href=\"https://h3.unjs.io\" target=\"_blank\">h3</a> (the core server framework behind Nuxt and SolidStart), <a href=\"https://esbuild.github.io\" target=\"_blank\">esbuild</a> (for TypeScript transpilation and bundling), and <a href=\"https://react.dev\" target=\"_blank\">React</a> (for rendering JSX on the server, and optionally on the client).\n\nIf you want to upgrade beyond an MPA pattern, Hwy has first-class support for both React and HTMX on the client. This means you can build a full-featured SPA with Hwy, or you can build a traditional MPA, or you can build something in between.\n\n## Features\n\n- Server-rendered JSX\n- Nested, file-based routing\n- Remix-style actions and parallel loaders\n- 100% type-safe\n- Server built on h3\n- MPA default, easily upgrade to client-side React or HTMX\n- Built-in critical CSS inlining\n- Live browser refresh during development\n- And more...\n\n## Simple usage\n\nBelow is an example of a simple Hwy page. You'll notice it looks a lot like Remix, and you're right!\n\n```tsx\n// src/pages/user/$user_id.page.tsx\n\nimport type { DataProps, PageProps } from \"hwy\";\nimport { UserProfile, getUser } from \"./somewhere.js\";\n\nexport async function loader({ params }: DataProps) {\n  return await getUser(params.user_id);\n}\n\nexport default function ({ loaderData }: PageProps<typeof loader>) {\n  return <UserProfile user={loaderData} />;\n}\n```\n\n## Get Started\n\nIf you want to dive right in, just open a terminal and run `npx create-hwy@latest` and follow the prompts.\n\nIf you'd prefer to read more first, take a peek at [our website](https://hwy.dev).\n\n## Acknowledgements\n\nHwy's APIs are heavily inspired by Remix. If Remix didn't exist, Hwy likely wouldn't exist either. Hwy doesn't use any Remix code, but it still owes a big thanks to the Remix team (past and present) for their top-tier patterns design. If you're building something huge and important today, use Remix.\n\n## Disclaimer\n\nHwy is in beta! Act accordingly.\n\n## License\n\nMIT License. Copyright (c) 2023 Samuel J. Cook.\n","readmeFilename":"README.md","gitHead":"3c66600b9da2d7d5a8b497a73e8425182f093f3e","_nodeVersion":"20.11.1","_npmVersion":"10.2.4","dist":{"integrity":"sha512-MWN4fjk+bcOlzzVSSFvnq4AVekZzX6NBZA/O2UTxgTP3/hS92heznQPQH0xFTNNB6Ns1Of07IyDsSP/4yqr09A==","shasum":"d620b565b525e909adaec38e285661835cbe74e8","tarball":"https://registry.npmjs.org/hwy/-/hwy-0.0.0-beta.70.tgz","fileCount":4,"unpackedSize":56479,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIA/jyQK1wBi1/thv4h0dhjnyC5gz3rtR6fTSHxT/eVmnAiBzst4vnefXNCBwHsUEdwysAnMZiAOO1IfWKL1wf9VMcQ=="}]},"_npmUser":{"name":"sjc5","email":"email@samcook.cc"},"directories":{},"maintainers":[{"name":"sjc5","email":"email@samcook.cc"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/hwy_0.0.0-beta.70_1711506032983_0.5126119233762512"},"_hasShrinkwrap":false},"0.0.0-beta.71":{"name":"hwy","version":"0.0.0-beta.71","author":{"name":"Samuel J. Cook"},"license":"MIT","description":"Simple, lightweight, and flexible web framework.","type":"module","exports":{".":"./dist/index.js"},"scripts":{"build":"rm -rf dist && tsup-node index.ts --format esm --dts","dev":"rm -rf dist && tsup-node index.ts --format esm --dts --watch","publish-beta":"npm publish --tag beta","publish-non-beta":"npm publish","update-latest":"pnpm update --latest","typecheck":"tsc"},"dependencies":{"devalue":"^4.3.2"},"devDependencies":{"@hwy-js/build":"workspace:*","@hwy-js/dev":"workspace:*","@types/node":"^20.11.28","@types/react":"^18.2.66","@types/react-dom":"^18.2.22","h3":"^1.11.1","react":"^18.2.0","react-dom":"^18.2.0","tsup":"^8.0.2"},"repository":{"type":"git","url":"git+https://github.com/hwy-js/hwy.git","directory":"packages/core"},"homepage":"https://hwy.dev","bugs":{"url":"https://github.com/hwy-js/hwy/issues"},"keywords":["simple","lightweight","flexible","framework","metaframework","web","typescript","unjs","h3","router","nested","routing","jsx","tsx","nextjs","remix","react"],"sideEffects":false,"_id":"hwy@0.0.0-beta.71","readme":"# 🛣️ Hwy\n\nHwy is a simple, lightweight, and flexible web framework.\n\n## Quick Start\n\n```bash\nnpx create-hwy@latest\n```\n\n## What is Hwy?\n\nAt its core, Hwy is a server-rendered, multi-page app (\"MPA\") framework for NodeJS. Hwy is built on top of <a href=\"https://h3.unjs.io\" target=\"_blank\">h3</a> (the core server framework behind Nuxt and SolidStart), <a href=\"https://esbuild.github.io\" target=\"_blank\">esbuild</a> (for TypeScript transpilation and bundling), and <a href=\"https://react.dev\" target=\"_blank\">React</a> (for rendering JSX on the server, and optionally on the client).\n\nIf you want to upgrade beyond an MPA pattern, Hwy has first-class support for both React and HTMX on the client. This means you can build a full-featured SPA with Hwy, or you can build a traditional MPA, or you can build something in between.\n\n## Features\n\n- Server-rendered JSX\n- Nested, file-based routing\n- Remix-style actions and parallel loaders\n- 100% type-safe\n- Server built on h3\n- MPA default, easily upgrade to client-side React or HTMX\n- Built-in critical CSS inlining\n- Live browser refresh during development\n- And more...\n\n## Simple usage\n\nBelow is an example of a simple Hwy page. You'll notice it looks a lot like Remix, and you're right!\n\n```tsx\n// src/pages/user/$user_id.page.tsx\n\nimport type { DataProps, PageProps } from \"hwy\";\nimport { UserProfile, getUser } from \"./somewhere.js\";\n\nexport async function loader({ params }: DataProps) {\n  return await getUser(params.user_id);\n}\n\nexport default function ({ loaderData }: PageProps<typeof loader>) {\n  return <UserProfile user={loaderData} />;\n}\n```\n\n## Get Started\n\nIf you want to dive right in, just open a terminal and run `npx create-hwy@latest` and follow the prompts.\n\nIf you'd prefer to read more first, take a peek at [our website](https://hwy.dev).\n\n## Acknowledgements\n\nHwy's APIs are heavily inspired by Remix. If Remix didn't exist, Hwy likely wouldn't exist either. Hwy doesn't use any Remix code, but it still owes a big thanks to the Remix team (past and present) for their top-tier patterns design. If you're building something huge and important today, use Remix.\n\n## Disclaimer\n\nHwy is in beta! Act accordingly.\n\n## License\n\nMIT License. Copyright (c) 2023 Samuel J. Cook.\n","readmeFilename":"README.md","gitHead":"e81c2ea2441e35745f57d39281f9904ad87f32b0","_nodeVersion":"18.20.0","_npmVersion":"10.5.0","dist":{"integrity":"sha512-qxYU5QCE4kxDbcrOYZc++7CHFdg9uJOXvtb0GIym6sjdLouuxObDHQiMYnZnRHVAZuYlZF2x/l7jq3RG7aaeHw==","shasum":"be8cf84959202cca9c5c70a9c0e01be7756dc3ff","tarball":"https://registry.npmjs.org/hwy/-/hwy-0.0.0-beta.71.tgz","fileCount":4,"unpackedSize":53810,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIEWkWu7rdA/O+fteqQGxiyEZrRSHT1/Dmk6eq02v9LKiAiAoFgbsHGOPQV4De8LGJ49X34DyDrM+AkJqWgN33Pfy/Q=="}]},"_npmUser":{"name":"sjc5","email":"email@samcook.cc"},"directories":{},"maintainers":[{"name":"sjc5","email":"email@samcook.cc"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/hwy_0.0.0-beta.71_1712538149624_0.40037791022485925"},"_hasShrinkwrap":false},"0.0.0-beta.72":{"name":"hwy","version":"0.0.0-beta.72","author":{"name":"Samuel J. Cook"},"license":"MIT","description":"Simple, lightweight, and flexible web framework.","type":"module","exports":{".":"./dist/index.js"},"scripts":{"build":"rm -rf dist && tsup-node index.ts --format esm --dts","dev":"rm -rf dist && tsup-node index.ts --format esm --dts --watch","publish-beta":"npm publish --tag beta","publish-non-beta":"npm publish","update-latest":"pnpm update --latest","typecheck":"tsc"},"dependencies":{"devalue":"^4.3.2"},"devDependencies":{"@hwy-js/build":"workspace:*","@hwy-js/dev":"workspace:*","@types/node":"^20.11.28","@types/react":"^18.2.66","@types/react-dom":"^18.2.22","h3":"^1.11.1","react":"^18.2.0","react-dom":"^18.2.0","tsup":"^8.0.2"},"repository":{"type":"git","url":"git+https://github.com/hwy-js/hwy.git","directory":"packages/core"},"homepage":"https://hwy.dev","bugs":{"url":"https://github.com/hwy-js/hwy/issues"},"keywords":["simple","lightweight","flexible","framework","metaframework","web","typescript","unjs","h3","router","nested","routing","jsx","tsx","nextjs","remix","react"],"sideEffects":false,"_id":"hwy@0.0.0-beta.72","readme":"# 🛣️ Hwy\n\nHwy is a simple, lightweight, and flexible web framework.\n\n## Quick Start\n\n```bash\nnpx create-hwy@latest\n```\n\n## What is Hwy?\n\nAt its core, Hwy is a server-rendered, multi-page app (\"MPA\") framework for NodeJS. Hwy is built on top of <a href=\"https://h3.unjs.io\" target=\"_blank\">h3</a> (the core server framework behind Nuxt and SolidStart), <a href=\"https://esbuild.github.io\" target=\"_blank\">esbuild</a> (for TypeScript transpilation and bundling), and <a href=\"https://react.dev\" target=\"_blank\">React</a> (for rendering JSX on the server, and optionally on the client).\n\nIf you want to upgrade beyond an MPA pattern, Hwy has first-class support for both React and HTMX on the client. This means you can build a full-featured SPA with Hwy, or you can build a traditional MPA, or you can build something in between.\n\n## Features\n\n- Server-rendered JSX\n- Nested, file-based routing\n- Remix-style actions and parallel loaders\n- 100% type-safe\n- Server built on h3\n- MPA default, easily upgrade to client-side React or HTMX\n- Built-in critical CSS inlining\n- Live browser refresh during development\n- And more...\n\n## Simple usage\n\nBelow is an example of a simple Hwy page. You'll notice it looks a lot like Remix, and you're right!\n\n```tsx\n// src/pages/user/$user_id.page.tsx\n\nimport type { DataProps, PageProps } from \"hwy\";\nimport { UserProfile, getUser } from \"./somewhere.js\";\n\nexport async function loader({ params }: DataProps) {\n  return await getUser(params.user_id);\n}\n\nexport default function ({ loaderData }: PageProps<typeof loader>) {\n  return <UserProfile user={loaderData} />;\n}\n```\n\n## Get Started\n\nIf you want to dive right in, just open a terminal and run `npx create-hwy@latest` and follow the prompts.\n\nIf you'd prefer to read more first, take a peek at [our website](https://hwy.dev).\n\n## Acknowledgements\n\nHwy's APIs are heavily inspired by Remix. If Remix didn't exist, Hwy likely wouldn't exist either. Hwy doesn't use any Remix code, but it still owes a big thanks to the Remix team (past and present) for their top-tier patterns design. If you're building something huge and important today, use Remix.\n\n## Disclaimer\n\nHwy is in beta! Act accordingly.\n\n## License\n\nMIT License. Copyright (c) 2023 Samuel J. Cook.\n","readmeFilename":"README.md","gitHead":"e81c2ea2441e35745f57d39281f9904ad87f32b0","_nodeVersion":"18.20.0","_npmVersion":"10.5.0","dist":{"integrity":"sha512-ejaPLi/Y99a4RVjlo9braBq5GxJDp6s9RmcuuxmD6abFwev+vn6/WmAWI7Bxt5CM4vLAazBfYeV+F6AmIR6rmQ==","shasum":"8bd8f01e044f09d0be327533b34480e41f2f0d8f","tarball":"https://registry.npmjs.org/hwy/-/hwy-0.0.0-beta.72.tgz","fileCount":4,"unpackedSize":54212,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIH1Yx2n4arNKSQoNozUXC9LlmhqOqoVeFXVkMM9wqex0AiBqSbRItj5HcSYPefZDYvPzvLC0w0dyct3fCs3KCjLTvw=="}]},"_npmUser":{"name":"sjc5","email":"email@samcook.cc"},"directories":{},"maintainers":[{"name":"sjc5","email":"email@samcook.cc"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/hwy_0.0.0-beta.72_1712542623638_0.8340066410196323"},"_hasShrinkwrap":false},"0.0.0-beta.73":{"name":"hwy","version":"0.0.0-beta.73","author":{"name":"Samuel J. Cook"},"license":"MIT","description":"Simple, lightweight, and flexible web framework.","type":"module","exports":{".":"./dist/index.js"},"scripts":{"build":"rm -rf dist && tsup-node index.ts --format esm --dts","dev":"rm -rf dist && tsup-node index.ts --format esm --dts --watch","publish-beta":"npm publish --tag beta","publish-non-beta":"npm publish","update-latest":"pnpm update --latest","typecheck":"tsc"},"dependencies":{"devalue":"^4.3.2"},"devDependencies":{"@hwy-js/build":"workspace:*","@hwy-js/dev":"workspace:*","@types/node":"^20.11.28","@types/react":"^18.2.66","@types/react-dom":"^18.2.22","h3":"^1.11.1","react":"^18.2.0","react-dom":"^18.2.0","tsup":"^8.0.2"},"repository":{"type":"git","url":"git+https://github.com/hwy-js/hwy.git","directory":"packages/core"},"homepage":"https://hwy.dev","bugs":{"url":"https://github.com/hwy-js/hwy/issues"},"keywords":["simple","lightweight","flexible","framework","metaframework","web","typescript","unjs","h3","router","nested","routing","jsx","tsx","nextjs","remix","react"],"sideEffects":false,"_id":"hwy@0.0.0-beta.73","readme":"# 🛣️ Hwy\n\nHwy is a simple, lightweight, and flexible web framework.\n\n## Quick Start\n\n```bash\nnpx create-hwy@latest\n```\n\n## What is Hwy?\n\nAt its core, Hwy is a server-rendered, multi-page app (\"MPA\") framework for NodeJS. Hwy is built on top of <a href=\"https://h3.unjs.io\" target=\"_blank\">h3</a> (the core server framework behind Nuxt and SolidStart), <a href=\"https://esbuild.github.io\" target=\"_blank\">esbuild</a> (for TypeScript transpilation and bundling), and <a href=\"https://react.dev\" target=\"_blank\">React</a> (for rendering JSX on the server, and optionally on the client).\n\nIf you want to upgrade beyond an MPA pattern, Hwy has first-class support for both React and HTMX on the client. This means you can build a full-featured SPA with Hwy, or you can build a traditional MPA, or you can build something in between.\n\n## Features\n\n- Server-rendered JSX\n- Nested, file-based routing\n- Remix-style actions and parallel loaders\n- 100% type-safe\n- Server built on h3\n- MPA default, easily upgrade to client-side React or HTMX\n- Built-in critical CSS inlining\n- Live browser refresh during development\n- And more...\n\n## Simple usage\n\nBelow is an example of a simple Hwy page. You'll notice it looks a lot like Remix, and you're right!\n\n```tsx\n// src/pages/user/$user_id.page.tsx\n\nimport type { DataProps, PageProps } from \"hwy\";\nimport { UserProfile, getUser } from \"./somewhere.js\";\n\nexport async function loader({ params }: DataProps) {\n  return await getUser(params.user_id);\n}\n\nexport default function ({ loaderData }: PageProps<typeof loader>) {\n  return <UserProfile user={loaderData} />;\n}\n```\n\n## Get Started\n\nIf you want to dive right in, just open a terminal and run `npx create-hwy@latest` and follow the prompts.\n\nIf you'd prefer to read more first, take a peek at [our website](https://hwy.dev).\n\n## Acknowledgements\n\nHwy's APIs are heavily inspired by Remix. If Remix didn't exist, Hwy likely wouldn't exist either. Hwy doesn't use any Remix code, but it still owes a big thanks to the Remix team (past and present) for their top-tier patterns design. If you're building something huge and important today, use Remix.\n\n## Disclaimer\n\nHwy is in beta! Act accordingly.\n\n## License\n\nMIT License. Copyright (c) 2023 Samuel J. Cook.\n","readmeFilename":"README.md","gitHead":"be076f2458c5b3b78f1353cf547a419a46b0940f","_nodeVersion":"18.20.0","_npmVersion":"10.5.0","dist":{"integrity":"sha512-lG2ADzumLZCWRkoNHudYyxzHItENjz18eR2HBfuEkQbHkWbUb6Tv9E+YzX9gtNp5nHuLnsEdUxDX7NAaRbxhmw==","shasum":"bdabb87c4eb724463c4b8231d453ae02c7a1dfde","tarball":"https://registry.npmjs.org/hwy/-/hwy-0.0.0-beta.73.tgz","fileCount":4,"unpackedSize":53831,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIFleGMq4A1eQqFTChlYs2q9+zWxVZfajEbE0GsQfCxRCAiBx1nWhGb1ODVtqmbcrrImAIg1MBnyRfD63Yv7AEUbDXA=="}]},"_npmUser":{"name":"sjc5","email":"email@samcook.cc"},"directories":{},"maintainers":[{"name":"sjc5","email":"email@samcook.cc"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/hwy_0.0.0-beta.73_1712553917370_0.4553273631763748"},"_hasShrinkwrap":false},"0.0.0-pre.0":{"name":"hwy","version":"0.0.0-pre.0","author":{"name":"Samuel J. Cook"},"description":"A highly flexible fullstack web framework","type":"module","exports":{".":"./dist/index.js"},"scripts":{"build":"rm -rf dist && tsup-node index.ts --format esm --dts","dev":"rm -rf dist && tsup-node index.ts --format esm --dts --watch","publish-pre":"npm publish --tag pre","publish-non-pre":"npm publish","update-latest":"pnpm update --latest","typecheck":"tsc"},"dependencies":{"devalue":"^4.3.2"},"devDependencies":{"@hwy-js/build":"workspace:*","@hwy-js/dev":"workspace:*","@types/node":"^20.12.7","tsup":"^8.0.2"},"repository":{"type":"git","url":"git+https://github.com/sjc5/hwy.git","directory":"packages/core"},"homepage":"https://hwy.dev","bugs":{"url":"https://github.com/sjc5/hwy/issues"},"keywords":["simple","lightweight","flexible","framework","metaframework","fullstack","web","typescript","unjs","h3","router","nested","routing","jsx","tsx","nextjs","remix","react"],"sideEffects":false,"_id":"hwy@0.0.0-pre.0","readme":"ERROR: No README data found!","gitHead":"dbc879eafbc2b91718c0b3105510d8db4577cc2a","_nodeVersion":"18.20.0","_npmVersion":"10.5.0","dist":{"integrity":"sha512-5gAc3xqanTTi++ayL3FiqBr5IkhD8urvYzTAzDrySDt0LyHzw3b20ar2TZI83RtLKHLc0mlxQEZ1PQaL/CnlXA==","shasum":"a1eafdbcfb5c0a281f5f4059752a68ed459cd3a3","tarball":"https://registry.npmjs.org/hwy/-/hwy-0.0.0-pre.0.tgz","fileCount":3,"unpackedSize":36994,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQD5Nxw/r+Fkrpsok4PhLF5huvzMVqhEEZiknXQpiroOzAIgPg2iJk2sxnFdCiJlqkrDBlK1Ckds1P0JiA8DlMbdocs="}]},"_npmUser":{"name":"sjc5","email":"email@samcook.cc"},"directories":{},"maintainers":[{"name":"sjc5","email":"email@samcook.cc"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/hwy_0.0.0-pre.0_1712721213254_0.21649185516612923"},"_hasShrinkwrap":false},"0.8.0":{"name":"hwy","version":"0.8.0","author":{"name":"Samuel J. Cook"},"description":"A highly flexible fullstack web framework","type":"module","exports":{".":"./dist/index.js"},"scripts":{"build":"rm -rf dist && tsup-node index.ts --format esm --dts","dev":"rm -rf dist && tsup-node index.ts --format esm --dts --watch","publish-pre":"npm publish --tag pre","publish-non-pre":"npm publish","update-latest":"pnpm update --latest","typecheck":"tsc"},"dependencies":{"devalue":"^4.3.2"},"devDependencies":{"@hwy-js/build":"workspace:*","@hwy-js/dev":"workspace:*","@types/node":"^20.12.7","tsup":"^8.0.2"},"repository":{"type":"git","url":"git+https://github.com/sjc5/hwy.git","directory":"packages/core"},"homepage":"https://hwy.dev","bugs":{"url":"https://github.com/sjc5/hwy/issues"},"keywords":["simple","lightweight","flexible","framework","metaframework","fullstack","web","typescript","unjs","h3","router","nested","routing","jsx","tsx","nextjs","remix","react"],"sideEffects":false,"_id":"hwy@0.8.0","gitHead":"dbc879eafbc2b91718c0b3105510d8db4577cc2a","_nodeVersion":"20.12.1","_npmVersion":"10.5.0","dist":{"integrity":"sha512-pnDv9NlgQahqEwPHaCAoK0Eqgusy+B1Y9jOnmtvkoET+k7Fw+IiVInetyJ8OroCFOog6DrKv8+xxH7J4qxnAtg==","shasum":"80b6b44de5b0de4d5edd378c8a5763ab2ad85d2d","tarball":"https://registry.npmjs.org/hwy/-/hwy-0.8.0.tgz","fileCount":3,"unpackedSize":36988,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIAbYQqlTLvwZlP4LhTEBwX49WjhKmNfH4xLHrsidoDrvAiAqZq63DLyvzkCYCO7cqrgJXQV/d92B2wv+vbSrHt5JJw=="}]},"_npmUser":{"name":"sjc5","email":"email@samcook.cc"},"directories":{},"maintainers":[{"name":"sjc5","email":"email@samcook.cc"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/hwy_0.8.0_1712722322502_0.506603849120624"},"_hasShrinkwrap":false},"0.8.1":{"name":"hwy","version":"0.8.1","author":{"name":"Samuel J. Cook"},"description":"A highly flexible fullstack web framework","type":"module","exports":{".":"./dist/index.js"},"scripts":{"build":"rm -rf dist && tsup-node index.ts --format esm --dts","dev":"rm -rf dist && tsup-node index.ts --format esm --dts --watch","publish-pre":"npm publish --tag pre","publish-non-pre":"npm publish","update-latest":"pnpm update --latest","typecheck":"tsc"},"dependencies":{"devalue":"^4.3.2"},"devDependencies":{"@hwy-js/build":"workspace:*","@hwy-js/dev":"workspace:*","@types/node":"^20.12.7","tsup":"^8.0.2"},"repository":{"type":"git","url":"git+https://github.com/sjc5/hwy.git","directory":"packages/core"},"homepage":"https://hwy.dev","bugs":{"url":"https://github.com/sjc5/hwy/issues"},"keywords":["simple","lightweight","flexible","framework","metaframework","fullstack","web","typescript","unjs","h3","router","nested","routing","jsx","tsx","nextjs","remix","react"],"sideEffects":false,"_id":"hwy@0.8.1","gitHead":"9365bff9586154af887c45678c8fc59cdc7660f4","_nodeVersion":"20.12.1","_npmVersion":"10.5.0","dist":{"integrity":"sha512-COk9v8CeHoaIEN1L5mKiuGJJr+nMZ1kdMoifSC7wYw987NRBNZfkhBIgCr0IUNfy78swy4c645PIFjeAln4kzQ==","shasum":"2a02340655835b3440cbe9ea87b5543fb822b560","tarball":"https://registry.npmjs.org/hwy/-/hwy-0.8.1.tgz","fileCount":3,"unpackedSize":37071,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCF9kwpoBA6NzJ2CoGn4UOyiHJyymd56KfPS+jyQE18gQIgP+pIOye+MBrPTzm+kSnMybRRL5r0CFGlR8W3FJOXTkY="}]},"_npmUser":{"name":"sjc5","email":"email@samcook.cc"},"directories":{},"maintainers":[{"name":"sjc5","email":"email@samcook.cc"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/hwy_0.8.1_1712723434413_0.3312127966478442"},"_hasShrinkwrap":false},"0.8.2":{"name":"hwy","version":"0.8.2","author":{"name":"Samuel J. Cook"},"description":"A highly flexible fullstack web framework","type":"module","exports":{".":"./dist/index.js"},"scripts":{"build":"rm -rf dist && tsup-node index.ts --format esm --dts","dev":"rm -rf dist && tsup-node index.ts --format esm --dts --watch","publish-pre":"npm publish --tag pre","publish-non-pre":"npm publish","update-latest":"pnpm update --latest","typecheck":"tsc"},"dependencies":{"devalue":"^4.3.2"},"devDependencies":{"@hwy-js/build":"workspace:*","@hwy-js/dev":"workspace:*","@types/node":"^20.12.7","tsup":"^8.0.2"},"repository":{"type":"git","url":"git+https://github.com/sjc5/hwy.git","directory":"packages/core"},"homepage":"https://hwy.dev","bugs":{"url":"https://github.com/sjc5/hwy/issues"},"keywords":["simple","lightweight","flexible","framework","metaframework","fullstack","web","typescript","unjs","h3","router","nested","routing","jsx","tsx","nextjs","remix","react"],"sideEffects":false,"_id":"hwy@0.8.2","gitHead":"3ae59b4f08bdcf4d4ab64f256731609d098a19ee","_nodeVersion":"20.12.1","_npmVersion":"10.5.0","dist":{"integrity":"sha512-4PQyKJpoBrIC2Gh+5IB774HJM+Op3mkmnlvYBcy3Wb/0pKKxY+fwgCn8TRidAqgGVZWPVi1uQNC7LYeUAX08/g==","shasum":"a38c0f7cac5c0a58be691ebbb8c94b722d4eb6f9","tarball":"https://registry.npmjs.org/hwy/-/hwy-0.8.2.tgz","fileCount":3,"unpackedSize":37209,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIDguQrivWQur+hXKLJTry67V79T3fT8oX4Vrfp2xp4HRAiB/bAP6Dx4lkSDMIwqdY5WLmd/1Cuf8ZSk+tWD/3+2+8g=="}]},"_npmUser":{"name":"sjc5","email":"email@samcook.cc"},"directories":{},"maintainers":[{"name":"sjc5","email":"email@samcook.cc"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/hwy_0.8.2_1712725302278_0.27788276379393184"},"_hasShrinkwrap":false},"0.8.3":{"name":"hwy","version":"0.8.3","author":{"name":"Samuel J. Cook"},"description":"A highly flexible fullstack web framework","type":"module","exports":{".":"./dist/index.js"},"scripts":{"build":"rm -rf dist && tsup-node index.ts --format esm --dts","dev":"rm -rf dist && tsup-node index.ts --format esm --dts --watch","publish-pre":"npm publish --tag pre","publish-non-pre":"npm publish","update-latest":"pnpm update --latest","typecheck":"tsc"},"dependencies":{"devalue":"^4.3.2"},"devDependencies":{"@hwy-js/build":"workspace:*","@hwy-js/dev":"workspace:*","@types/node":"^20.12.7","tsup":"^8.0.2"},"repository":{"type":"git","url":"git+https://github.com/sjc5/hwy.git","directory":"packages/core"},"homepage":"https://hwy.dev","bugs":{"url":"https://github.com/sjc5/hwy/issues"},"keywords":["simple","lightweight","flexible","framework","metaframework","fullstack","web","typescript","unjs","h3","router","nested","routing","jsx","tsx","nextjs","remix","react"],"sideEffects":false,"_id":"hwy@0.8.3","gitHead":"2d3169858773c43ec29375d14b5f6447d5614e14","_nodeVersion":"20.12.1","_npmVersion":"10.5.0","dist":{"integrity":"sha512-apKgXf7wX+x4pq/PAUwf1pQoeKbFYCcTp+VMBj8reJr/11xpnfMjIWTns4SAtP5u+wbUh6XWd8rqU7GuKM2ptg==","shasum":"7ead92ff5f8cfcc358148573925946f8c03761ba","tarball":"https://registry.npmjs.org/hwy/-/hwy-0.8.3.tgz","fileCount":3,"unpackedSize":37209,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDedP84VPW5xsV/kHTUzWqSFnpyp5r4KQu8B8km090ZIQIgQn3cYeL3ADpKC20agJypyBwPkEdZbYSmRBN11MW5HAE="}]},"_npmUser":{"name":"sjc5","email":"email@samcook.cc"},"directories":{},"maintainers":[{"name":"sjc5","email":"email@samcook.cc"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/hwy_0.8.3_1712728232318_0.5454631232746523"},"_hasShrinkwrap":false},"0.8.4":{"name":"hwy","version":"0.8.4","author":{"name":"Samuel J. Cook"},"description":"A highly flexible fullstack web framework","type":"module","exports":{".":"./dist/index.js"},"scripts":{"build":"rm -rf dist && tsup-node index.ts --format esm --dts","dev":"rm -rf dist && tsup-node index.ts --format esm --dts --watch","publish-pre":"npm publish --tag pre","publish-non-pre":"npm publish","update-latest":"pnpm update --latest","typecheck":"tsc"},"dependencies":{"devalue":"^4.3.2"},"devDependencies":{"@hwy-js/build":"workspace:*","@hwy-js/dev":"workspace:*","@types/node":"^20.12.7","tsup":"^8.0.2"},"repository":{"type":"git","url":"git+https://github.com/sjc5/hwy.git","directory":"packages/core"},"homepage":"https://hwy.dev","bugs":{"url":"https://github.com/sjc5/hwy/issues"},"keywords":["simple","lightweight","flexible","framework","metaframework","fullstack","web","typescript","unjs","h3","router","nested","routing","jsx","tsx","nextjs","remix","react"],"sideEffects":false,"_id":"hwy@0.8.4","gitHead":"2d3169858773c43ec29375d14b5f6447d5614e14","_nodeVersion":"20.12.1","_npmVersion":"10.5.0","dist":{"integrity":"sha512-VGedylLR1EZf/CoyauKCgc+AdKm8quifx9ydMK5nzB+HcsXT4CI9IU7xFeVu4mq32Ka7SGcv2BrL9JMJ0QhSNg==","shasum":"7248b65aaf950979da0cb0341708aa2852fd6892","tarball":"https://registry.npmjs.org/hwy/-/hwy-0.8.4.tgz","fileCount":3,"unpackedSize":37209,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCICL+frvTRmZGc2nXHA346UpHDczdfnO/jMLMeU072/h+AiEAhRoi3fJ8fVKir5cf7pgtgZ/3198H6xusaKNXFOQnNyc="}]},"_npmUser":{"name":"sjc5","email":"email@samcook.cc"},"directories":{},"maintainers":[{"name":"sjc5","email":"email@samcook.cc"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/hwy_0.8.4_1712728347242_0.4665382815093879"},"_hasShrinkwrap":false},"0.8.5":{"name":"hwy","version":"0.8.5","author":{"name":"Samuel J. Cook"},"description":"A highly flexible fullstack web framework","type":"module","exports":{".":"./dist/index.js"},"scripts":{"build":"rm -rf dist && tsup-node index.ts --format esm --dts","dev":"rm -rf dist && tsup-node index.ts --format esm --dts --watch","publish-pre":"npm publish --tag pre","publish-non-pre":"npm publish","update-latest":"pnpm update --latest","typecheck":"tsc"},"dependencies":{"devalue":"^4.3.2"},"devDependencies":{"@hwy-js/build":"workspace:*","@hwy-js/dev":"workspace:*","@types/node":"^20.12.7","tsup":"^8.0.2"},"repository":{"type":"git","url":"git+https://github.com/sjc5/hwy.git","directory":"packages/core"},"homepage":"https://hwy.dev","bugs":{"url":"https://github.com/sjc5/hwy/issues"},"keywords":["simple","lightweight","flexible","framework","metaframework","fullstack","web","typescript","unjs","h3","router","nested","routing","jsx","tsx","nextjs","remix","react"],"sideEffects":false,"_id":"hwy@0.8.5","gitHead":"b4f0a9e816cf0dac9b6f29f8f140a1ea0fd5d0fd","_nodeVersion":"20.12.1","_npmVersion":"10.5.0","dist":{"integrity":"sha512-/2LqQ2q/ECk4EU6nNWLABukAJQv7mMNhiUdOxUi/ByHvmYAaqrXVh/imU22FCreTV0CLXRgyN8S4NCyhGTnvqw==","shasum":"dcb8a35563eeb7df8578040eb2e8f6df897fa806","tarball":"https://registry.npmjs.org/hwy/-/hwy-0.8.5.tgz","fileCount":3,"unpackedSize":37805,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDt+SyVDIzgsKzyf0kuSwAw6nSly6HyOzFNq3E0graTLAIgCJj8yrQyRJOyvPz4el8ebN5ffECK7PNoFStCOIC7Wb8="}]},"_npmUser":{"name":"sjc5","email":"email@samcook.cc"},"directories":{},"maintainers":[{"name":"sjc5","email":"email@samcook.cc"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/hwy_0.8.5_1712812901819_0.11098560003020541"},"_hasShrinkwrap":false},"0.9.0":{"name":"hwy","version":"0.9.0","author":{"name":"Samuel J. Cook"},"description":"A highly flexible fullstack web framework","type":"module","exports":{".":"./dist/index.js"},"scripts":{"build":"rm -rf dist && tsup-node index.ts --format esm --dts","dev":"rm -rf dist && tsup-node index.ts --format esm --dts --watch","publish-pre":"npm publish --tag pre","publish-non-pre":"npm publish","update-latest":"pnpm update --latest","typecheck":"tsc"},"dependencies":{"devalue":"^4.3.2"},"devDependencies":{"@hwy-js/build":"workspace:*","@hwy-js/dev":"workspace:*","@types/node":"^20.12.7","tsup":"^8.0.2"},"repository":{"type":"git","url":"git+https://github.com/sjc5/hwy.git","directory":"packages/core"},"homepage":"https://hwy.dev","bugs":{"url":"https://github.com/sjc5/hwy/issues"},"keywords":["simple","lightweight","flexible","framework","metaframework","fullstack","web","typescript","unjs","h3","router","nested","routing","jsx","tsx","nextjs","remix","react"],"sideEffects":false,"_id":"hwy@0.9.0","gitHead":"d310550a017d50c46b7956dea7597dc8e66cb88a","_nodeVersion":"20.12.1","_npmVersion":"10.5.0","dist":{"integrity":"sha512-p4XjlgG5Xb6ibdP7lpLrb4tjHidyVZj1M28aQGgXfgHV/g3IONVTmKGoLKSM+pKxRQWc4CyxcxkkLbe6wm0CiA==","shasum":"9e821f3a7ebdcdfac48ac5cf02a00ee12af7497a","tarball":"https://registry.npmjs.org/hwy/-/hwy-0.9.0.tgz","fileCount":3,"unpackedSize":37417,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDW0yfPqrdYcf4lpPQ5wVjNG9b9kHIDHeh3HkWIWwbSlQIgNtUxlEdU7c+giLXu/h/VlnVJq8rK4DYkI7HCD0urL2c="}]},"_npmUser":{"name":"sjc5","email":"email@samcook.cc"},"directories":{},"maintainers":[{"name":"sjc5","email":"email@samcook.cc"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/hwy_0.9.0_1712876832350_0.5866456976002361"},"_hasShrinkwrap":false},"0.10.0-pre.0":{"name":"hwy","version":"0.10.0-pre.0","author":{"name":"Samuel J. Cook"},"description":"A highly flexible fullstack web framework","type":"module","exports":{".":"./dist/index.js"},"scripts":{"build":"rm -rf dist && tsup-node index.ts --format esm --dts","dev":"rm -rf dist && tsup-node index.ts --format esm --dts --watch","publish-pre":"npm publish --tag pre","publish-non-pre":"npm publish","update-latest":"pnpm update --latest","typecheck":"tsc"},"dependencies":{"devalue":"^4.3.2"},"devDependencies":{"@hwy-js/build":"workspace:*","@hwy-js/dev":"workspace:*","@types/node":"^20.12.7","tsup":"^8.0.2"},"repository":{"type":"git","url":"git+https://github.com/sjc5/hwy.git","directory":"packages/core"},"homepage":"https://hwy.dev","bugs":{"url":"https://github.com/sjc5/hwy/issues"},"keywords":["simple","lightweight","flexible","framework","metaframework","fullstack","web","typescript","unjs","h3","router","nested","routing","jsx","tsx","nextjs","remix","react"],"sideEffects":false,"_id":"hwy@0.10.0-pre.0","readme":"ERROR: No README data found!","gitHead":"5aff0a2b7d973bb3cfceca399431231e6685c088","_nodeVersion":"18.20.0","_npmVersion":"10.5.0","dist":{"integrity":"sha512-3ooyltLX+7iSvn2h7opiGqsbX0yxLBHuxYSY6p8QT3D69e3hbze/WS6MZaEYHCfbf4Xz3fB2ffr5ZkeOG+QQfQ==","shasum":"9463774efec27d45a1607b22f78d9822c829b855","tarball":"https://registry.npmjs.org/hwy/-/hwy-0.10.0-pre.0.tgz","fileCount":3,"unpackedSize":37424,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDIr4gp1lpMNb390GV5YJQEJOCEKi+WIUEnNwsg+9P7dQIgCfwUJP2cbuEtMJ0y9MJD9imXGUbdIhQhymOV3Izz5fg="}]},"_npmUser":{"name":"sjc5","email":"email@samcook.cc"},"directories":{},"maintainers":[{"name":"sjc5","email":"email@samcook.cc"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/hwy_0.10.0-pre.0_1712946437916_0.026518288922803945"},"_hasShrinkwrap":false},"0.10.0":{"name":"hwy","version":"0.10.0","author":{"name":"Samuel J. Cook"},"description":"A highly flexible fullstack web framework","type":"module","exports":{".":"./dist/index.js"},"scripts":{"build":"rm -rf dist && tsup-node index.ts --format esm --dts","dev":"rm -rf dist && tsup-node index.ts --format esm --dts --watch","publish-pre":"npm publish --tag pre","publish-non-pre":"npm publish","update-latest":"pnpm update --latest","typecheck":"tsc"},"dependencies":{"devalue":"^4.3.2"},"devDependencies":{"@hwy-js/build":"workspace:*","@hwy-js/dev":"workspace:*","@types/node":"^20.12.7","tsup":"^8.0.2"},"repository":{"type":"git","url":"git+https://github.com/sjc5/hwy.git","directory":"packages/core"},"homepage":"https://hwy.dev","bugs":{"url":"https://github.com/sjc5/hwy/issues"},"keywords":["simple","lightweight","flexible","framework","metaframework","fullstack","web","typescript","unjs","h3","router","nested","routing","jsx","tsx","nextjs","remix","react"],"sideEffects":false,"_id":"hwy@0.10.0","gitHead":"5aff0a2b7d973bb3cfceca399431231e6685c088","_nodeVersion":"18.20.0","_npmVersion":"10.5.0","dist":{"integrity":"sha512-h+CtUH+/1hZoro2hsIBjrXs1DAWHIpCs3inZAdLkYhGbzTw/uIX77hzZ5GsCmaAL1cdc5QX9JwPYyLcpxUI/oQ==","shasum":"5a1e38cc7bc6854ecd7e130e21c0611af3e48517","tarball":"https://registry.npmjs.org/hwy/-/hwy-0.10.0.tgz","fileCount":3,"unpackedSize":37418,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIH08i6z9EC+mYBI2L0qpR5Q4uNDeTrqslw081sQoPUX0AiBLZCA3VJYTdAstspaDlIBULh0NaNcl6/HWFVZj/c3VqA=="}]},"_npmUser":{"name":"sjc5","email":"email@samcook.cc"},"directories":{},"maintainers":[{"name":"sjc5","email":"email@samcook.cc"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/hwy_0.10.0_1712981759976_0.8419421735356583"},"_hasShrinkwrap":false},"0.11.0-pre.0":{"name":"hwy","version":"0.11.0-pre.0","author":{"name":"Samuel J. Cook"},"description":"A highly flexible fullstack web framework","type":"module","exports":{".":"./dist/index.js"},"scripts":{"build":"rm -rf dist && tsup-node index.ts --format esm --dts","dev":"rm -rf dist && tsup-node index.ts --format esm --dts --watch","publish-pre":"npm publish --tag pre","publish-non-pre":"npm publish","update-latest":"pnpm update --latest","typecheck":"tsc"},"dependencies":{"devalue":"^4.3.2"},"devDependencies":{"@hwy-js/build":"workspace:*","@hwy-js/dev":"workspace:*","@types/node":"^20.12.7","tsup":"^8.0.2"},"repository":{"type":"git","url":"git+https://github.com/sjc5/hwy.git","directory":"packages/core"},"homepage":"https://hwy.dev","bugs":{"url":"https://github.com/sjc5/hwy/issues"},"keywords":["simple","lightweight","flexible","framework","metaframework","fullstack","web","typescript","unjs","h3","router","nested","routing","jsx","tsx","nextjs","remix","react"],"sideEffects":false,"_id":"hwy@0.11.0-pre.0","readme":"ERROR: No README data found!","gitHead":"b4b1455335226056f35b2f735b114004152198de","_nodeVersion":"18.20.0","_npmVersion":"10.5.0","dist":{"integrity":"sha512-kWlStiBGqdmsDfVsDRPolIUD2kfm4Zc1X5dMIC4aIiZw86mHku6bg7myLlQDL32v5D25HFjvniaKTNOLrp1sxw==","shasum":"9c60f9c031e53cd624302d48f8bd4f87a6ecdb5b","tarball":"https://registry.npmjs.org/hwy/-/hwy-0.11.0-pre.0.tgz","fileCount":3,"unpackedSize":39445,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIFCbOi3uJ67psl0HQrOdUh4KmjZTf9dD0H/MV/10j7RMAiEAqLoiWAG1PhN4KtV9rBrTqXrS/JTpVwv4JyO30pQvXSI="}]},"_npmUser":{"name":"sjc5","email":"email@samcook.cc"},"directories":{},"maintainers":[{"name":"sjc5","email":"email@samcook.cc"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/hwy_0.11.0-pre.0_1713480677651_0.2769637790180972"},"_hasShrinkwrap":false},"0.11.0-pre.1":{"name":"hwy","version":"0.11.0-pre.1","author":{"name":"Samuel J. Cook"},"description":"A highly flexible fullstack web framework","type":"module","exports":{".":"./dist/index.js"},"scripts":{"build":"rm -rf dist && tsup-node index.ts --format esm --dts","dev":"rm -rf dist && tsup-node index.ts --format esm --dts --watch","publish-pre":"npm publish --tag pre","publish-non-pre":"npm publish","update-latest":"pnpm update --latest","typecheck":"tsc"},"dependencies":{"devalue":"^4.3.2"},"devDependencies":{"@hwy-js/build":"workspace:*","@hwy-js/dev":"workspace:*","@types/node":"^20.12.7","tsup":"^8.0.2"},"repository":{"type":"git","url":"git+https://github.com/sjc5/hwy.git","directory":"packages/core"},"homepage":"https://hwy.dev","bugs":{"url":"https://github.com/sjc5/hwy/issues"},"keywords":["simple","lightweight","flexible","framework","metaframework","fullstack","web","typescript","unjs","h3","router","nested","routing","jsx","tsx","nextjs","remix","react"],"sideEffects":false,"_id":"hwy@0.11.0-pre.1","readme":"ERROR: No README data found!","gitHead":"b4b1455335226056f35b2f735b114004152198de","_nodeVersion":"18.20.0","_npmVersion":"10.5.0","dist":{"integrity":"sha512-NiBHRgGKK4jQmcIXy8EKOIylwNMQTs9Z4kHlq89x0HV2Nfz1CB0rn7bqGKgLu4v/l0H+lE4tRjipFPcIu1H8DA==","shasum":"4c68375703df2e5134154e55e0e7cac56bc22e0a","tarball":"https://registry.npmjs.org/hwy/-/hwy-0.11.0-pre.1.tgz","fileCount":3,"unpackedSize":39445,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCICYm8S5c+Dsi2SY7Ssq3bTN4Cay9IY9SCl2bWYEl4Q/uAiBFUW8xRHJvblhtZqOfp+kXM/1+Lxl0PHOV/d2SPbp36w=="}]},"_npmUser":{"name":"sjc5","email":"email@samcook.cc"},"directories":{},"maintainers":[{"name":"sjc5","email":"email@samcook.cc"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/hwy_0.11.0-pre.1_1713482428825_0.40594232510254313"},"_hasShrinkwrap":false},"0.11.0-pre.2":{"name":"hwy","version":"0.11.0-pre.2","author":{"name":"Samuel J. Cook"},"description":"A highly flexible fullstack web framework","type":"module","exports":{".":"./dist/index.js"},"scripts":{"build":"rm -rf dist && tsup-node index.ts --format esm --dts","dev":"rm -rf dist && tsup-node index.ts --format esm --dts --watch","publish-pre":"npm publish --tag pre","publish-non-pre":"npm publish","update-latest":"pnpm update --latest","typecheck":"tsc"},"dependencies":{"devalue":"^4.3.2"},"devDependencies":{"@hwy-js/build":"workspace:*","@hwy-js/dev":"workspace:*","@types/node":"^20.12.7","tsup":"^8.0.2"},"repository":{"type":"git","url":"git+https://github.com/sjc5/hwy.git","directory":"packages/core"},"homepage":"https://hwy.dev","bugs":{"url":"https://github.com/sjc5/hwy/issues"},"keywords":["simple","lightweight","flexible","framework","metaframework","fullstack","web","typescript","unjs","h3","router","nested","routing","jsx","tsx","nextjs","remix","react"],"sideEffects":false,"_id":"hwy@0.11.0-pre.2","readme":"ERROR: No README data found!","gitHead":"b4b1455335226056f35b2f735b114004152198de","_nodeVersion":"18.20.0","_npmVersion":"10.5.0","dist":{"integrity":"sha512-S2EvkaXvCYVtqhnIx5pLUH+LBCArd4jmFZmZB2G3duoFJyN5tYiME0Fs0potMEvjVQpxnb6xYbH7NNjabFomNA==","shasum":"91f3ec68cf5a994a1f6ff0e43a7b30e159d92057","tarball":"https://registry.npmjs.org/hwy/-/hwy-0.11.0-pre.2.tgz","fileCount":3,"unpackedSize":39575,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIGW8z9mdFi4A04Q2Sh42eb4IuD4HpvgS2YrjMH15GBf7AiBHz9pSneqrC21hgAD1mKJBigpTVM/HuUs76RpDeh43Cg=="}]},"_npmUser":{"name":"sjc5","email":"email@samcook.cc"},"directories":{},"maintainers":[{"name":"sjc5","email":"email@samcook.cc"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/hwy_0.11.0-pre.2_1713483984449_0.35923057762428967"},"_hasShrinkwrap":false},"0.11.0":{"name":"hwy","version":"0.11.0","author":{"name":"Samuel J. Cook"},"description":"A highly flexible fullstack web framework","type":"module","exports":{".":"./dist/index.js"},"scripts":{"build":"rm -rf dist && tsup-node index.ts --format esm --dts","dev":"rm -rf dist && tsup-node index.ts --format esm --dts --watch","publish-pre":"npm publish --tag pre","publish-non-pre":"npm publish","update-latest":"pnpm update --latest","typecheck":"tsc"},"dependencies":{"devalue":"^4.3.2"},"devDependencies":{"@hwy-js/build":"workspace:*","@hwy-js/dev":"workspace:*","@types/node":"^20.12.7","tsup":"^8.0.2"},"repository":{"type":"git","url":"git+https://github.com/sjc5/hwy.git","directory":"packages/core"},"homepage":"https://hwy.dev","bugs":{"url":"https://github.com/sjc5/hwy/issues"},"keywords":["simple","lightweight","flexible","framework","metaframework","fullstack","web","typescript","unjs","h3","router","nested","routing","jsx","tsx","nextjs","remix","react"],"sideEffects":false,"_id":"hwy@0.11.0","gitHead":"b4b1455335226056f35b2f735b114004152198de","_nodeVersion":"18.20.0","_npmVersion":"10.5.0","dist":{"integrity":"sha512-1HZFx0UVtiYRBa2tUxkbdZ48ASncV/Ys9ZZDkkBPXz54vZIZIcZ/wlOCWITw8WI+atlesIbniHB4KtVC9LhU6g==","shasum":"67076ba411c399a9253b4fc878d2546ec8b692e0","tarball":"https://registry.npmjs.org/hwy/-/hwy-0.11.0.tgz","fileCount":3,"unpackedSize":39569,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCmEn32IFbQEJeZ/VMhVBuIpFnzYMyTkPbbVIJqYEraMQIhAPX+PPxAWy61u4XOjjBYomQhHdOp/5haSTP5vhjWLTwr"}]},"_npmUser":{"name":"sjc5","email":"email@samcook.cc"},"directories":{},"maintainers":[{"name":"sjc5","email":"email@samcook.cc"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/hwy_0.11.0_1713484932898_0.14120818542634095"},"_hasShrinkwrap":false},"0.12.0":{"name":"hwy","version":"0.12.0","author":{"name":"Samuel J. Cook"},"description":"A highly flexible fullstack web framework","type":"module","exports":{".":"./dist/index.js"},"scripts":{"build":"rm -rf dist && tsup-node index.ts --format esm --dts","dev":"rm -rf dist && tsup-node index.ts --format esm --dts --watch","publish-pre":"npm publish --tag pre","publish-non-pre":"npm publish","update-latest":"pnpm update --latest","typecheck":"tsc"},"dependencies":{"devalue":"^4.3.2"},"devDependencies":{"@hwy-js/build":"workspace:*","@hwy-js/dev":"workspace:*","@types/node":"^20.12.7","tsup":"^8.0.2"},"repository":{"type":"git","url":"git+https://github.com/sjc5/hwy.git","directory":"packages/core"},"homepage":"https://hwy.dev","bugs":{"url":"https://github.com/sjc5/hwy/issues"},"keywords":["simple","lightweight","flexible","framework","metaframework","fullstack","web","typescript","unjs","h3","router","nested","routing","jsx","tsx","nextjs","remix","react"],"sideEffects":false,"_id":"hwy@0.12.0","gitHead":"ae30c7bf598ceb51e1e38b99b14de84c57f893c3","_nodeVersion":"18.20.0","_npmVersion":"10.5.0","dist":{"integrity":"sha512-KdHhKtr4gTWqzsXqJOoWofPhzy4+gsdLddrQpNE11kdOdf9WdYMiCs2x4haNCvCJAbp7TP2MMLGkwz7K378UUA==","shasum":"6c24c85d3f8437558a6dba978db34d708dbb1b14","tarball":"https://registry.npmjs.org/hwy/-/hwy-0.12.0.tgz","fileCount":3,"unpackedSize":39569,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDKj8syxGK0mst3BPWEMCJt4PpSx8/xe8LIeLRLsnhXkAIgN1p5x+kA3CNkd0y+tGKLn9u+tsmQzAj4ZU2c/kivHM0="}]},"_npmUser":{"name":"sjc5","email":"email@samcook.cc"},"directories":{},"maintainers":[{"name":"sjc5","email":"email@samcook.cc"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/hwy_0.12.0_1714187716396_0.7370729517479737"},"_hasShrinkwrap":false},"0.13.0":{"name":"hwy","version":"0.13.0","author":{"name":"Samuel J. Cook"},"description":"A highly flexible fullstack web framework","type":"module","exports":{".":"./dist/index.js"},"scripts":{"build":"rm -rf dist && tsup-node index.ts --format esm --dts","dev":"rm -rf dist && tsup-node index.ts --format esm --dts --watch","publish-pre":"npm publish --tag pre","publish-non-pre":"npm publish","update-latest":"pnpm update --latest","typecheck":"tsc"},"dependencies":{"devalue":"^4.3.2"},"devDependencies":{"@hwy-js/build":"workspace:*","@hwy-js/dev":"workspace:*","@types/node":"^20.12.7","tsup":"^8.0.2"},"repository":{"type":"git","url":"git+https://github.com/sjc5/hwy.git","directory":"packages/core"},"homepage":"https://hwy.dev","bugs":{"url":"https://github.com/sjc5/hwy/issues"},"keywords":["simple","lightweight","flexible","framework","metaframework","fullstack","web","typescript","unjs","h3","router","nested","routing","jsx","tsx","nextjs","remix","react"],"sideEffects":false,"_id":"hwy@0.13.0","gitHead":"207a16da86bc60dd54ee9600270d44c8904206b8","_nodeVersion":"18.20.0","_npmVersion":"10.5.0","dist":{"integrity":"sha512-kQ8bTtRkgfSsp0/UrujlALZATj2II6lzoOUZuRqfbXLX9JGTvbuhqtBtvSpsZ3Iv+esrmkhwy9jo2seMdJUH3g==","shasum":"086e6dc859c214112bb3e6f26d982322528c89ab","tarball":"https://registry.npmjs.org/hwy/-/hwy-0.13.0.tgz","fileCount":3,"unpackedSize":41242,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIGTviI8RMrWJx5l/u/BRvYgXKm+MpRGxEJaNRqgKyBjnAiEAluUck19msXbt+lpg+3lJvdqD3rb2iJiTO/LueZrWs90="}]},"_npmUser":{"name":"sjc5","email":"email@samcook.cc"},"directories":{},"maintainers":[{"name":"sjc5","email":"email@samcook.cc"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/hwy_0.13.0_1714438119830_0.4646608400472496"},"_hasShrinkwrap":false},"0.14.0-pre.0":{"name":"hwy","version":"0.14.0-pre.0","author":{"name":"Samuel J. Cook"},"description":"A highly flexible fullstack web framework","type":"module","exports":{".":"./dist/index.js"},"scripts":{"build":"rm -rf dist && tsup-node index.ts --format esm --dts","dev":"rm -rf dist && tsup-node index.ts --format esm --dts --watch","publish-pre":"npm publish --tag pre","publish-non-pre":"npm publish","update-latest":"pnpm update --latest","typecheck":"tsc"},"dependencies":{"devalue":"^4.3.2"},"devDependencies":{"@hwy-js/build":"workspace:*","@hwy-js/dev":"workspace:*","@types/node":"^20.12.7","tsup":"^8.0.2"},"repository":{"type":"git","url":"git+https://github.com/sjc5/hwy.git","directory":"packages/core"},"homepage":"https://hwy.dev","bugs":{"url":"https://github.com/sjc5/hwy/issues"},"keywords":["simple","lightweight","flexible","framework","metaframework","fullstack","web","typescript","unjs","h3","router","nested","routing","jsx","tsx","nextjs","remix","react"],"sideEffects":false,"_id":"hwy@0.14.0-pre.0","readme":"ERROR: No README data found!","gitHead":"dff9273b02f7b53349c112f028619eacf21ac78e","_nodeVersion":"18.20.0","_npmVersion":"10.5.0","dist":{"integrity":"sha512-sWtMxM1D5apNMKVGh0aoaqz77noNZH//KVOO4ASr20kJVW3iwSkmLTA39sGdgSzfpqLqBwUeSOYS0u64tShdfw==","shasum":"2963622b7d10608e41e1b2e9427edf922ab4b043","tarball":"https://registry.npmjs.org/hwy/-/hwy-0.14.0-pre.0.tgz","fileCount":3,"unpackedSize":41192,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIB2OxYn1IFuFpUHHJowP6+ycJx2nKtxe/prnVdUFOYGLAiBVM+IF877d1FATtDu0AbUv/oBdUsTu4uCSzlB9WbyAgg=="}]},"_npmUser":{"name":"sjc5","email":"email@samcook.cc"},"directories":{},"maintainers":[{"name":"sjc5","email":"email@samcook.cc"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/hwy_0.14.0-pre.0_1715144531270_0.6433407383882004"},"_hasShrinkwrap":false},"0.14.0-pre.1":{"name":"hwy","version":"0.14.0-pre.1","author":{"name":"Samuel J. Cook"},"description":"A highly flexible fullstack web framework","type":"module","exports":{".":"./dist/index.js"},"scripts":{"build":"rm -rf dist && tsup-node index.ts --format esm --dts","dev":"rm -rf dist && tsup-node index.ts --format esm --dts --watch","publish-pre":"npm publish --tag pre","publish-non-pre":"npm publish","update-latest":"pnpm update --latest","typecheck":"tsc"},"dependencies":{"devalue":"^4.3.2"},"devDependencies":{"@hwy-js/build":"workspace:*","@hwy-js/dev":"workspace:*","@types/node":"^20.12.7","tsup":"^8.0.2"},"repository":{"type":"git","url":"git+https://github.com/sjc5/hwy.git","directory":"packages/core"},"homepage":"https://hwy.dev","bugs":{"url":"https://github.com/sjc5/hwy/issues"},"keywords":["simple","lightweight","flexible","framework","metaframework","fullstack","web","typescript","unjs","h3","router","nested","routing","jsx","tsx","nextjs","remix","react"],"sideEffects":false,"_id":"hwy@0.14.0-pre.1","readme":"ERROR: No README data found!","gitHead":"6a5a428b0d6ea8418e3fffa5d89d611b2aa02ee7","_nodeVersion":"18.20.0","_npmVersion":"10.5.0","dist":{"integrity":"sha512-KqrPHcPKp99T5CMJ/+FPpktZddEg3SdAA8gitjzrIb7HCdFFHJVjqWfApeZ5ppdEmsuS2RcY6dDlmfF8wNOrjw==","shasum":"6a939282485011eaa13575b9784ef3055f294514","tarball":"https://registry.npmjs.org/hwy/-/hwy-0.14.0-pre.1.tgz","fileCount":3,"unpackedSize":41192,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIFrKfsfLQd+mL2HPVju/aaHn/WxfjzYRY7KQoMIbpqYrAiEA1/rvSvsbf19xNNYuFy5HzGuJkBweHdtXdXSdToNSUdE="}]},"_npmUser":{"name":"sjc5","email":"email@samcook.cc"},"directories":{},"maintainers":[{"name":"sjc5","email":"email@samcook.cc"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/hwy_0.14.0-pre.1_1715314602804_0.7059972989907553"},"_hasShrinkwrap":false},"0.14.0-pre.2":{"name":"hwy","version":"0.14.0-pre.2","author":{"name":"Samuel J. Cook"},"description":"A highly flexible fullstack web framework","type":"module","exports":{".":"./dist/index.js"},"scripts":{"build":"rm -rf dist && tsup-node index.ts --format esm --dts","dev":"rm -rf dist && tsup-node index.ts --format esm --dts --watch","publish-pre":"npm publish --tag pre","publish-non-pre":"npm publish","update-latest":"pnpm update --latest","typecheck":"tsc"},"dependencies":{"devalue":"^4.3.2"},"devDependencies":{"@hwy-js/build":"workspace:*","@hwy-js/dev":"workspace:*","@types/node":"^20.12.7","tsup":"^8.0.2"},"repository":{"type":"git","url":"git+https://github.com/sjc5/hwy.git","directory":"packages/core"},"homepage":"https://hwy.dev","bugs":{"url":"https://github.com/sjc5/hwy/issues"},"keywords":["simple","lightweight","flexible","framework","metaframework","fullstack","web","typescript","unjs","h3","router","nested","routing","jsx","tsx","nextjs","remix","react"],"sideEffects":false,"_id":"hwy@0.14.0-pre.2","readme":"ERROR: No README data found!","gitHead":"6a5a428b0d6ea8418e3fffa5d89d611b2aa02ee7","_nodeVersion":"18.20.0","_npmVersion":"10.5.0","dist":{"integrity":"sha512-Jjp3WpGXlWisG3yCNtj/3xMKOS/LmM/c648LPJjmRx6nF6krkIhdRCR89YrqyA54a9EMbJ1c9ktoJiuWl6n+1Q==","shasum":"703c0abc37e3715a120a0a1af43b39c47dae34d7","tarball":"https://registry.npmjs.org/hwy/-/hwy-0.14.0-pre.2.tgz","fileCount":3,"unpackedSize":41192,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIETOfGal7/XGdAs97oHEZ0VgrXYfx6dsn+K66OqttYzTAiEAk8LaadwuvgnyJwrRSO8tZ0l+AMMtKmsxpO9CDR3PtrY="}]},"_npmUser":{"name":"sjc5","email":"email@samcook.cc"},"directories":{},"maintainers":[{"name":"sjc5","email":"email@samcook.cc"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/hwy_0.14.0-pre.2_1715315237983_0.0435692757762558"},"_hasShrinkwrap":false},"0.14.0-pre.3":{"name":"hwy","version":"0.14.0-pre.3","author":{"name":"Samuel J. Cook"},"description":"A highly flexible fullstack web framework","type":"module","exports":{".":"./dist/index.js"},"scripts":{"build":"rm -rf dist && tsup-node index.ts --format esm --dts","dev":"rm -rf dist && tsup-node index.ts --format esm --dts --watch","publish-pre":"npm publish --tag pre","publish-non-pre":"npm publish","update-latest":"pnpm update --latest","typecheck":"tsc"},"dependencies":{"devalue":"^4.3.2"},"devDependencies":{"@hwy-js/build":"workspace:*","@hwy-js/dev":"workspace:*","@types/node":"^20.12.7","tsup":"^8.0.2"},"repository":{"type":"git","url":"git+https://github.com/sjc5/hwy.git","directory":"packages/core"},"homepage":"https://hwy.dev","bugs":{"url":"https://github.com/sjc5/hwy/issues"},"keywords":["simple","lightweight","flexible","framework","metaframework","fullstack","web","typescript","unjs","h3","router","nested","routing","jsx","tsx","nextjs","remix","react"],"sideEffects":false,"_id":"hwy@0.14.0-pre.3","readme":"ERROR: No README data found!","gitHead":"6a5a428b0d6ea8418e3fffa5d89d611b2aa02ee7","_nodeVersion":"18.20.0","_npmVersion":"10.5.0","dist":{"integrity":"sha512-CKON8YVm9DcEajT2HRFhC9HRduZGovnUBdUQG0mhGR5Ll0PpjndPnW+Q2EkPTywcQzC0yYOrNuPWYdLBvQ74fQ==","shasum":"66b31ce5f05f2daf018011e3a3966ac52e15487c","tarball":"https://registry.npmjs.org/hwy/-/hwy-0.14.0-pre.3.tgz","fileCount":3,"unpackedSize":41192,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCICtegytfdERr474rT4zPnfwCPc/zTntHgoG7sZn9IYvYAiB5MwVZKjXc50aSN0lUCfOKfQExi7CXr816nLHEvrVoIA=="}]},"_npmUser":{"name":"sjc5","email":"email@samcook.cc"},"directories":{},"maintainers":[{"name":"sjc5","email":"email@samcook.cc"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/hwy_0.14.0-pre.3_1715318582797_0.979191099342531"},"_hasShrinkwrap":false},"0.14.1":{"name":"hwy","version":"0.14.1","author":{"name":"Samuel J. Cook"},"description":"A highly flexible fullstack web framework","type":"module","exports":{".":"./dist/index.js"},"scripts":{"build":"rm -rf dist && tsup-node index.ts --format esm --dts","dev":"rm -rf dist && tsup-node index.ts --format esm --dts --watch","publish-pre":"npm publish --tag pre","publish-non-pre":"npm publish","update-latest":"pnpm update --latest","typecheck":"tsc"},"dependencies":{"devalue":"^4.3.2"},"devDependencies":{"@hwy-js/build":"workspace:*","@hwy-js/dev":"workspace:*","@types/node":"^20.12.7","tsup":"^8.0.2"},"repository":{"type":"git","url":"git+https://github.com/sjc5/hwy.git","directory":"packages/core"},"homepage":"https://hwy.dev","bugs":{"url":"https://github.com/sjc5/hwy/issues"},"keywords":["simple","lightweight","flexible","framework","metaframework","fullstack","web","typescript","unjs","h3","router","nested","routing","jsx","tsx","nextjs","remix","react"],"sideEffects":false,"_id":"hwy@0.14.1","gitHead":"6a5a428b0d6ea8418e3fffa5d89d611b2aa02ee7","_nodeVersion":"18.20.0","_npmVersion":"10.5.0","dist":{"integrity":"sha512-oyFUlMUOfPDW7MopV/ctA3rLTnxWeGTTMR99RMMf9W6vbmD9a9/sDB1A6Y/kMdfJWM0SmBIrpq/3uIrLVLzeYg==","shasum":"d75f0c34fbdda05bc9e257c01db96e71e41cd0ad","tarball":"https://registry.npmjs.org/hwy/-/hwy-0.14.1.tgz","fileCount":3,"unpackedSize":41186,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCp5F8cyf/xKdlHrIelMZCriwqaLFoA8Xn9LYzRG8wkDQIgcRHwKctumwVvqEb8dZQiXfsrdd0+xURiXqn2pxsIyeQ="}]},"_npmUser":{"name":"sjc5","email":"email@samcook.cc"},"directories":{},"maintainers":[{"name":"sjc5","email":"email@samcook.cc"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/hwy_0.14.1_1715319334972_0.9605154394327016"},"_hasShrinkwrap":false},"0.14.2":{"name":"hwy","version":"0.14.2","author":{"name":"Samuel J. Cook"},"description":"A highly flexible fullstack web framework","type":"module","exports":{".":"./dist/index.js"},"scripts":{"build":"rm -rf dist && tsup-node index.ts --format esm --dts","dev":"rm -rf dist && tsup-node index.ts --format esm --dts --watch","publish-pre":"npm publish --tag pre","publish-non-pre":"npm publish","update-latest":"pnpm update --latest","typecheck":"tsc"},"dependencies":{"devalue":"^4.3.2"},"devDependencies":{"@hwy-js/build":"workspace:*","@hwy-js/dev":"workspace:*","@types/node":"^20.12.7","tsup":"^8.0.2"},"repository":{"type":"git","url":"git+https://github.com/sjc5/hwy.git","directory":"packages/core"},"homepage":"https://hwy.dev","bugs":{"url":"https://github.com/sjc5/hwy/issues"},"keywords":["simple","lightweight","flexible","framework","metaframework","fullstack","web","typescript","unjs","h3","router","nested","routing","jsx","tsx","nextjs","remix","react"],"sideEffects":false,"_id":"hwy@0.14.2","gitHead":"19567b868326838a75fc43daeee6eae7346b9163","_nodeVersion":"18.20.0","_npmVersion":"10.5.0","dist":{"integrity":"sha512-DrpIhBZZh+TZU5GQhWHnJFYkX9w+I7e2Cw4dOZDVnzH8VhKHdCM8jw/MyJYErWpMwIPXGfFbfxTKClPcZ1Q3Mw==","shasum":"b731000538b7b5a34c9ca6987310244756d9bc86","tarball":"https://registry.npmjs.org/hwy/-/hwy-0.14.2.tgz","fileCount":3,"unpackedSize":41189,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIHnvRP8ws8VmKQdlncoXgEyFhxQtwOBCpTP7hkrDJVZNAiB1IKArUs9RejH4mcnm7tWOLNlU/+U/zdWh/JPKDXFnsA=="}]},"_npmUser":{"name":"sjc5","email":"email@samcook.cc"},"directories":{},"maintainers":[{"name":"sjc5","email":"email@samcook.cc"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/hwy_0.14.2_1715458775242_0.6970882735183987"},"_hasShrinkwrap":false}},"time":{"created":"2023-07-20T00:16:28.513Z","0.0.0":"2023-07-20T00:16:28.656Z","modified":"2024-05-11T20:19:35.580Z","0.0.1":"2023-09-03T21:35:57.523Z","0.0.2-beta.0":"2023-09-04T02:05:52.982Z","0.0.2-beta.1":"2023-09-04T02:24:40.738Z","0.0.2-beta.2":"2023-09-04T02:31:56.220Z","0.0.2-beta.3":"2023-09-04T02:44:20.537Z","0.0.2-4":"2023-09-04T03:00:10.594Z","0.0.2-beta.4":"2023-09-04T03:01:03.701Z","0.0.2-beta.5":"2023-09-04T03:13:17.068Z","0.0.2-beta.6":"2023-09-04T03:44:17.275Z","0.0.2-beta.7":"2023-09-04T05:50:25.403Z","0.0.2-beta.8":"2023-09-05T06:58:51.126Z","0.0.2-beta.9":"2023-09-05T23:11:56.691Z","0.0.2-beta.10":"2023-09-06T02:14:22.682Z","0.0.2-beta.11":"2023-09-06T04:33:37.548Z","0.0.2-beta.12":"2023-09-06T04:40:20.001Z","0.0.2-beta.13":"2023-09-06T04:50:32.695Z","0.0.2-beta.14":"2023-09-07T04:41:29.296Z","0.0.2-beta.15":"2023-09-07T06:36:52.345Z","0.0.2-beta.16":"2023-09-07T07:05:08.459Z","0.0.2-beta.17":"2023-09-08T02:02:36.792Z","0.0.2-beta.18":"2023-09-08T02:21:56.048Z","0.0.2-beta.19":"2023-09-08T02:41:14.972Z","0.0.2-beta.20":"2023-09-08T03:13:23.931Z","0.0.2-beta.21":"2023-09-08T03:42:33.999Z","0.0.2-beta.22":"2023-09-08T03:57:34.074Z","0.0.2-beta.23":"2023-09-08T04:58:43.362Z","0.0.2-beta.24":"2023-09-08T05:07:02.064Z","0.0.2-beta.25":"2023-09-08T23:22:58.821Z","0.0.2-beta.26":"2023-09-08T23:25:42.413Z","0.0.2-beta.27":"2023-09-09T07:16:12.994Z","0.0.2-beta.28":"2023-09-09T20:55:34.342Z","0.0.2-beta.29":"2023-09-09T21:21:28.055Z","0.0.2-beta.30":"2023-09-10T06:02:20.848Z","0.0.2-beta.31":"2023-09-10T07:07:48.006Z","0.0.2-beta.32":"2023-09-10T07:36:48.835Z","0.0.2-beta.33":"2023-09-11T06:22:40.497Z","0.0.2-beta.34":"2023-09-11T06:31:19.449Z","0.0.2-beta.35":"2023-09-11T06:35:41.963Z","0.0.2-beta.36":"2023-09-11T06:39:07.774Z","0.0.2-beta.37":"2023-09-12T02:56:51.676Z","0.0.2-beta.38":"2023-09-12T06:19:57.108Z","0.0.4":"2023-09-12T23:27:03.624Z","0.0.5":"2023-09-14T06:36:45.508Z","0.0.6":"2023-09-16T23:59:14.402Z","0.0.7":"2023-09-18T04:37:03.673Z","0.1.0":"2023-09-19T22:05:33.374Z","0.1.1":"2023-09-20T01:01:48.136Z","0.1.2":"2023-09-20T03:38:21.909Z","0.1.3":"2023-09-20T04:36:16.206Z","0.2.0-beta.0":"2023-09-23T00:10:15.319Z","0.2.0-beta.3":"2023-09-23T00:51:23.382Z","0.2.0-beta.4":"2023-09-23T01:01:52.625Z","0.2.0-beta.5":"2023-09-23T01:06:00.197Z","0.2.0-beta.6":"2023-09-23T01:08:20.010Z","0.2.0-beta.7":"2023-09-24T19:39:36.377Z","0.2.0-beta.8":"2023-09-24T23:39:21.694Z","0.2.0-beta.9":"2023-09-25T00:04:41.991Z","0.2.0-beta.10":"2023-09-25T23:56:05.794Z","0.2.0-beta.11":"2023-09-26T00:56:03.321Z","0.2.0":"2023-09-26T01:17:03.819Z","0.2.1":"2023-09-26T01:32:00.815Z","0.2.2-beta.0":"2023-09-29T00:01:59.929Z","0.2.2-beta.1":"2023-09-29T00:09:43.643Z","0.2.2-beta.2":"2023-09-29T00:56:27.065Z","0.2.2-beta.3":"2023-09-29T01:05:27.406Z","0.2.2-beta.4":"2023-09-29T01:10:13.114Z","0.2.2-5":"2023-09-29T01:24:43.784Z","0.2.2-beta.6":"2023-09-29T01:27:27.324Z","0.2.2-beta.7":"2023-09-30T02:56:50.015Z","0.2.2-beta.8":"2023-09-30T03:17:59.826Z","0.2.2-beta.9":"2023-09-30T03:22:56.052Z","0.2.2-beta.10":"2023-09-30T03:26:32.528Z","0.2.2-beta.11":"2023-09-30T03:38:03.511Z","0.2.2-beta.12":"2023-09-30T03:45:03.576Z","0.2.2-beta.13":"2023-09-30T05:24:00.918Z","0.2.2-beta.14":"2023-10-07T00:34:33.514Z","0.2.2-beta.15":"2023-10-07T00:46:23.941Z","0.2.2-beta.16":"2023-10-07T00:52:13.483Z","0.2.2-beta.17":"2023-10-07T01:12:56.355Z","0.2.2-beta.18":"2023-10-07T01:36:52.677Z","0.2.2-beta.19":"2023-10-07T03:25:38.424Z","0.2.2-beta.20":"2023-10-07T04:43:42.747Z","0.2.2-beat.21":"2023-10-07T04:53:39.265Z","0.2.2-beta.21":"2023-10-07T04:54:16.268Z","0.3.0-beta.0":"2023-10-07T21:17:47.914Z","0.3.0-beta.1":"2023-10-08T02:27:38.089Z","0.3.0-beta.2":"2023-10-08T02:51:19.383Z","0.3.0-beta.3":"2023-10-09T19:00:27.017Z","0.3.0-beta.4":"2023-10-09T22:40:31.187Z","0.3.0-beta.5":"2023-10-09T22:56:05.698Z","0.3.0":"2023-10-10T00:16:20.397Z","0.4.0-beta.0":"2023-10-11T03:30:37.151Z","0.4.0-beta.1":"2023-10-12T03:25:00.210Z","0.4.0-beta.3":"2023-10-14T19:44:49.104Z","0.4.0-beta.4":"2023-10-14T20:03:05.944Z","0.4.0-beta.5":"2023-10-14T20:21:47.326Z","0.4.0-beta.6":"2023-10-14T20:39:36.044Z","0.4.0-beta.7":"2023-10-14T20:53:56.067Z","0.4.0-beta.8":"2023-10-14T21:54:42.798Z","0.4.0-beta.9":"2023-10-14T22:00:19.067Z","0.4.0-beta.10":"2023-10-14T22:03:42.800Z","0.4.0-beta.11":"2023-10-15T03:48:23.370Z","0.4.0-beta.12":"2023-10-15T23:04:07.000Z","0.4.0-beta.13":"2023-10-15T23:57:13.826Z","0.4.0-beta.14":"2023-10-16T00:34:12.676Z","0.4.0-beta.15":"2023-10-16T00:58:02.319Z","0.4.0-beta.16":"2023-10-17T03:06:01.471Z","0.4.0-beta.17":"2023-10-18T03:01:06.497Z","0.4.0-beta.18":"2023-10-18T03:07:54.676Z","0.4.0-beta.19":"2023-10-18T03:18:54.141Z","0.4.0-beta.20":"2023-10-18T03:26:56.996Z","0.4.0-beta.21":"2023-10-18T03:46:01.574Z","0.4.0-beta.22":"2023-10-18T04:08:34.101Z","0.4.0-beta.23":"2023-10-18T04:26:00.752Z","0.4.0-beta.24":"2023-10-18T04:37:43.889Z","0.4.0-beta.25":"2023-10-18T04:56:33.889Z","0.4.0-beta.26":"2023-10-18T05:26:04.385Z","0.4.0-beta.27":"2023-10-18T05:36:30.150Z","0.4.0-beta.28":"2023-10-18T05:42:36.780Z","0.4.0-beta.29":"2023-10-19T01:42:09.020Z","0.4.0-beta.30":"2023-10-20T00:41:07.366Z","0.4.0-beta.31":"2023-10-20T00:50:22.149Z","0.4.0-beta.32":"2023-10-20T00:59:21.185Z","0.4.0-beta.33":"2023-10-20T01:06:22.466Z","0.4.0-beta.34":"2023-10-21T18:54:36.545Z","0.4.0-beta.35":"2023-10-21T19:49:04.601Z","0.4.0-beta.36":"2023-10-21T20:00:23.885Z","0.4.0-beta.37":"2023-10-21T20:08:14.885Z","0.4.0-beta.38":"2023-10-21T20:16:57.130Z","0.4.0":"2023-10-21T23:45:50.553Z","0.4.1":"2023-10-22T00:12:46.251Z","0.4.2-beta.0":"2023-10-23T00:12:48.991Z","0.4.2-beta.1":"2023-10-23T03:24:38.891Z","0.4.2-beta.2":"2023-10-23T04:19:51.972Z","0.4.2-beta.3":"2023-10-23T04:24:11.861Z","0.4.2-beta.4":"2023-10-23T04:34:11.240Z","0.4.2-beta.5":"2023-10-23T06:57:05.376Z","0.4.2-beta.6":"2023-10-23T07:18:57.174Z","0.5.0-beta.0":"2023-10-27T04:13:58.978Z","0.5.0-beta.1":"2023-10-27T04:49:41.611Z","0.5.0-beta.2":"2023-10-27T05:34:11.451Z","0.5.0-beta.3":"2023-10-27T06:03:53.635Z","0.5.0-beta.4":"2023-10-28T20:06:02.931Z","0.5.0-beta.5":"2023-10-28T20:19:10.864Z","0.5.0-beta.6":"2023-10-28T23:49:24.076Z","0.5.0-beta.7":"2023-10-29T00:12:19.616Z","0.5.0-beta.8":"2023-10-29T00:35:39.699Z","0.5.0-beta.9":"2023-10-29T00:45:23.803Z","0.5.0":"2023-10-29T01:32:22.270Z","0.6.0-beta.0":"2023-10-30T02:17:26.841Z","0.6.0-beta.1":"2023-10-31T04:06:34.456Z","0.6.0-beta.2":"2023-10-31T04:19:22.463Z","0.6.0-beta.3":"2023-11-01T04:39:16.247Z","0.6.0":"2023-11-01T22:42:27.997Z","0.6.1-beta.0":"2023-11-07T04:51:33.305Z","0.6.1-beta.1":"2023-11-09T01:36:23.274Z","0.6.1-beta.2":"2023-11-09T01:51:34.161Z","0.6.1-beta.3":"2023-11-09T01:55:55.711Z","0.6.1-beta.4":"2023-11-09T01:58:41.593Z","0.6.1-beta.5":"2023-11-09T04:04:12.702Z","0.6.1-beta.6":"2023-11-09T04:15:50.111Z","0.6.1-beta.7":"2023-11-09T04:30:27.305Z","0.6.1-beta.8":"2023-11-09T04:42:32.119Z","0.7.0-beta.0":"2023-11-09T05:16:57.659Z","0.7.0-beta.1":"2023-11-10T01:42:48.267Z","0.7.0-beta.2":"2023-11-10T03:06:25.872Z","0.7.0-beta.3":"2023-11-10T03:29:04.788Z","0.7.0-beta.4":"2023-11-10T04:18:05.510Z","0.7.0-beta.5":"2023-11-10T04:32:32.437Z","0.7.0-beta.6":"2023-11-11T02:31:18.529Z","0.7.0-beta.7":"2023-11-11T16:54:07.568Z","0.7.0-beta.8":"2023-11-11T19:44:34.932Z","0.7.0-beta.9":"2023-11-11T19:48:33.851Z","0.7.0-beta.10":"2023-11-11T20:01:33.672Z","0.7.0-beta.11":"2023-11-12T14:56:48.419Z","0.7.0-beta.12":"2023-11-12T15:05:07.988Z","0.7.0-beta.13":"2023-11-12T15:50:23.083Z","0.7.0-beta.14":"2023-11-13T02:15:12.714Z","0.7.0-beta.15":"2023-11-13T02:26:33.347Z","0.7.0-beta.16":"2023-11-13T14:14:44.757Z","0.7.0-beta.17":"2023-11-13T23:28:40.905Z","0.7.0-beta.18":"2023-11-14T05:12:53.091Z","0.7.0-beta.19":"2023-11-14T06:04:54.544Z","0.7.0-beta.20":"2023-11-15T03:20:46.200Z","0.7.0-beta.21":"2023-11-15T05:52:25.464Z","0.7.0-beta.22":"2023-11-15T05:56:36.811Z","0.7.0-beta.23":"2023-11-15T23:07:58.238Z","0.7.0-beta.24":"2023-11-16T00:19:39.086Z","0.7.0-beta.25":"2023-11-16T00:20:48.476Z","0.7.0-beta.26":"2023-11-16T00:24:01.345Z","0.7.0-beta.27":"2023-11-16T00:49:49.000Z","0.7.0-beta.28":"2023-11-16T04:01:34.308Z","0.7.0":"2023-11-16T04:25:43.213Z","0.7.1-beta.0":"2023-11-16T05:09:42.577Z","0.7.1":"2023-11-16T05:17:43.607Z","0.7.2-beta.0":"2023-11-20T22:05:12.723Z","0.7.2-beta.1":"2023-11-23T01:44:40.690Z","0.7.2-beta.2":"2023-11-23T06:03:42.307Z","0.7.2-beta.3":"2023-11-29T04:14:39.004Z","0.7.2-beta.4":"2023-11-29T04:33:26.540Z","0.7.2-beta.5":"2023-11-29T05:37:39.596Z","0.7.2-beta.6":"2023-11-29T05:53:58.661Z","0.7.2-beta.7":"2023-11-29T06:00:35.663Z","0.7.2-beta.8":"2023-11-29T07:03:06.096Z","0.7.2-beta.9":"2023-12-01T17:25:47.985Z","0.7.2-beta.10":"2023-12-01T23:15:06.475Z","0.7.2-beta.11":"2023-12-01T23:29:09.848Z","0.7.2-beta.12":"2023-12-02T02:03:04.130Z","0.8.0-beta.0":"2023-12-02T02:45:49.750Z","0.8.0-beta.1":"2023-12-02T03:36:49.769Z","0.8.0-beta.2":"2023-12-02T04:15:09.276Z","0.8.0-beta.3":"2023-12-03T02:51:56.170Z","0.8.0-beta.4":"2023-12-03T07:30:40.968Z","0.8.0-beta.5":"2023-12-04T00:55:28.756Z","0.8.0-beta.6":"2023-12-04T01:16:05.706Z","0.8.0-beta.7":"2023-12-05T00:02:22.770Z","0.0.0-beta.0":"2023-12-11T01:41:12.233Z","0.0.0-beta.1":"2023-12-11T02:18:19.940Z","0.0.0-beta.2":"2023-12-11T08:03:51.906Z","0.0.0-beta.3":"2023-12-11T08:17:26.695Z","0.7.1-beta.13":"2023-12-14T07:27:54.820Z","0.7.2-beta.13":"2023-12-14T07:28:58.590Z","0.7.2":"2023-12-14T07:32:24.725Z","0.0.0-beta.4":"2023-12-16T09:07:14.839Z","0.0.0-beta.5":"2023-12-17T22:58:11.687Z","0.0.0-beta.6":"2024-01-12T23:46:03.745Z","0.0.0-beta.7":"2024-01-13T04:46:53.361Z","0.0.0-beta.8":"2024-01-13T19:57:39.183Z","0.0.0-beta.9":"2024-01-15T00:38:00.872Z","0.0.0-beta.10":"2024-01-15T00:43:24.735Z","0.0.0-beta.11":"2024-01-15T20:46:10.059Z","0.0.0-beta.12":"2024-01-16T03:42:16.636Z","0.0.0-beta.13":"2024-01-16T04:17:11.613Z","0.0.0-beta.14":"2024-01-16T04:24:50.760Z","0.0.0-beta.15":"2024-01-16T04:28:53.859Z","0.0.0-beta.16":"2024-01-16T05:01:42.744Z","0.0.0-beta.17":"2024-01-16T05:11:03.518Z","0.0.0-beta.18":"2024-01-16T21:30:26.955Z","0.0.0-beta.19":"2024-01-17T02:07:35.333Z","0.0.0-beta.20":"2024-01-17T02:11:10.699Z","0.0.0-beta.21":"2024-01-17T23:54:55.507Z","0.0.0-beta.22":"2024-01-18T04:43:14.127Z","0.0.0-beta.23":"2024-01-18T06:14:25.497Z","0.0.0-beta.24":"2024-01-18T06:40:10.539Z","0.0.0-beta.25":"2024-01-18T22:53:48.124Z","0.0.0-beta.26":"2024-01-25T03:56:42.806Z","0.0.0-beta.27":"2024-01-25T03:58:53.733Z","0.0.0-beta.28":"2024-03-09T23:46:57.180Z","0.0.0-beta.29":"2024-03-10T00:20:02.087Z","0.0.0-beta.30":"2024-03-10T00:22:07.859Z","0.0.0-beta.31":"2024-03-10T00:28:12.752Z","0.0.0-beta.32":"2024-03-10T00:36:34.617Z","0.0.0-beta.33":"2024-03-10T00:39:09.301Z","0.0.0-beta.34":"2024-03-10T00:44:45.496Z","0.0.0-beta.35":"2024-03-10T00:50:24.416Z","0.0.0-beta.36":"2024-03-10T01:14:39.569Z","0.0.0-beta.38":"2024-03-10T01:21:37.726Z","0.0.0-beta.40":"2024-03-10T02:32:28.190Z","0.0.0-beta.41":"2024-03-10T02:53:17.502Z","0.0.0-beta.42":"2024-03-10T03:34:10.050Z","0.0.0-beta.43":"2024-03-10T03:51:11.749Z","0.0.0-beta.44":"2024-03-10T03:54:44.303Z","0.0.0-beta.45":"2024-03-10T05:07:17.326Z","0.0.0-beta.46":"2024-03-10T05:17:02.708Z","0.0.0-beta.47":"2024-03-10T05:23:48.257Z","0.0.0-beta.49":"2024-03-10T05:31:24.660Z","0.0.0-beta.50":"2024-03-10T05:33:27.129Z","0.0.0-beta.51":"2024-03-10T20:20:34.538Z","0.0.0-beta.52":"2024-03-11T00:23:21.818Z","0.0.0-beta.53":"2024-03-11T00:50:46.417Z","0.0.0-beta.54":"2024-03-11T02:05:51.015Z","0.0.0-beta.55":"2024-03-12T01:13:25.524Z","0.0.0-beta.56":"2024-03-12T06:16:46.197Z","0.0.0-beta.57":"2024-03-13T01:39:27.458Z","0.0.0-beta.58":"2024-03-14T18:14:38.127Z","0.0.0-beta.59":"2024-03-14T18:22:07.843Z","0.0.0-beta.60":"2024-03-15T00:10:30.403Z","0.0.0-beta.61":"2024-03-15T03:08:23.563Z","0.0.0-beta.62":"2024-03-16T19:39:48.136Z","0.0.0-beta.63":"2024-03-16T20:35:05.623Z","0.0.0-beta.64":"2024-03-16T20:59:28.483Z","0.0.0-beta.65":"2024-03-17T00:43:20.346Z","0.0.0-beta.66":"2024-03-17T01:17:19.949Z","0.0.0-beta.67":"2024-03-17T05:46:40.473Z","0.0.0-beta.68":"2024-03-18T02:56:04.496Z","0.0.0-beta.69":"2024-03-21T04:17:14.623Z","0.0.0-beta.70":"2024-03-27T02:20:33.128Z","0.0.0-beta.71":"2024-04-08T01:02:29.814Z","0.0.0-beta.72":"2024-04-08T02:17:03.798Z","0.0.0-beta.73":"2024-04-08T05:25:17.544Z","0.0.0-pre.0":"2024-04-10T03:53:33.432Z","0.8.0":"2024-04-10T04:12:02.795Z","0.8.1":"2024-04-10T04:30:34.641Z","0.8.2":"2024-04-10T05:01:42.444Z","0.8.3":"2024-04-10T05:50:32.519Z","0.8.4":"2024-04-10T05:52:27.394Z","0.8.5":"2024-04-11T05:21:42.039Z","0.9.0":"2024-04-11T23:07:12.501Z","0.10.0-pre.0":"2024-04-12T18:27:18.071Z","0.10.0":"2024-04-13T04:16:00.115Z","0.11.0-pre.0":"2024-04-18T22:51:17.782Z","0.11.0-pre.1":"2024-04-18T23:20:28.974Z","0.11.0-pre.2":"2024-04-18T23:46:24.633Z","0.11.0":"2024-04-19T00:02:13.095Z","0.12.0":"2024-04-27T03:15:16.609Z","0.13.0":"2024-04-30T00:48:39.993Z","0.14.0-pre.0":"2024-05-08T05:02:11.424Z","0.14.0-pre.1":"2024-05-10T04:16:42.953Z","0.14.0-pre.2":"2024-05-10T04:27:18.130Z","0.14.0-pre.3":"2024-05-10T05:23:02.972Z","0.14.1":"2024-05-10T05:35:35.139Z","0.14.2":"2024-05-11T20:19:35.408Z"},"maintainers":[{"name":"sjc5","email":"email@samcook.cc"}],"readme":"ERROR: No README data found!","readmeFilename":"","description":"A highly flexible fullstack web framework","homepage":"https://hwy.dev","keywords":["simple","lightweight","flexible","framework","metaframework","fullstack","web","typescript","unjs","h3","router","nested","routing","jsx","tsx","nextjs","remix","react"],"repository":{"type":"git","url":"git+https://github.com/sjc5/hwy.git","directory":"packages/core"},"bugs":{"url":"https://github.com/sjc5/hwy/issues"},"author":{"name":"Samuel J. Cook"}}