Hyperapp One is a Webpack boilerplate for quickstarting a web application with Hyperapp, JSX, and Airbnb's JavaScript Styleguide via ESLint.
Redux Dev Tools support is included as well 😄
git clone https://github.com/selfup/hyperapp-one
cd hyperapp-one
npm install
npm start
npm test
All tests are in the root test
directory. 🎉
Access localhost:8080/webpack-dev-server.
The browser will reload as you save new code. 🚀
Now go code something awesome!
Make sure you are in the boilerplate root and run:
npm run wipe
Add your remote:
git remote add origin <ssh_or_https_url>
Then work as usual.
Or if you prefer to do it yourself from scratch:
rm -rf .git
git init
git add .
git commit -m "initial commit"
Then add your remote and work from there as usual.
git remote add origin <ssh_or_https_url>
This will be interactive as it merges master
into the gh-pages
branch 🙏
npm run deploy
Sometimes it will say there is nothing to commit even though you have more commits.
Just do a git push
or a git push -f
and then check back out to master 🙏
Now visit:
- No custom domain:
yourUserName.github.io/yourRepoName
- With a custom domain:
yourCustomDomain/yourRepoName
As you may have noticed I don't use prettier or Standard. I prefer ESLint and AirBnb.
Feel free to change this. You can easily remove .eslintrc.js
and code without a linter, as well as remove all eslint
packages in the package.json
!
I just like how strict AirBnb is, and how it forces you to learn certain ways of doing things manually. It also enforces rules that make it so git diffs are less of a pain to go through. VSCode and Atom have options to have ESLint auto correct (as much as it can) the formatting via the ESLint plugin.
I also use JSX instead of the built-in h
function, because to me it is easier to go through Code Reviews with, and is stylistically more pleasing to me. It also helps with UX teams as they know HTML, and JSX is closer to HTML than pure h
calls. See @hyperapp/html for another alternative to JSX.
If you are not a fan of Webpack configuration or AirBnb ESLint, I made a similar boilerplate based off of Parcel and JSX but without a linter: Hyperapp One Parcel
Hyperapp One is MIT licensed. See LICENSE.