generator-bunny
v4.5.3
Published
Jumpstart node module, like a bunny
Downloads
95
Maintainers
Readme
Why?
This generator includes built-in modern tools which have been widely used by the community:
- Automated GitHub release notes generator
- Automated releasing with semantic-release
- Automated testing & validation before any commits
- Automated source-code formatting with prettier
- Babel transpiler for writing next generation JavaScript
- Eslint linting utility
- Flow static typechecker
- GitHub templates (Issue & Pull Request, License, CoC, etc.)
- Jest testing framework
- Travis Continuous Integration config
Getting started
1. Installation
npm install -g yo generator-bunny
2. Create new project
Make a new directory:
mkdir my-bunny
cd my-bunny
Generate files:
yo bunny
Validate project:
npm start validate
Usage
1. First-timer
Install and setup semantic-release:
npm install -g semantic-release-cli
Note: Make sure you‘ve set your repository up on GitHub before proceeding otherwise
semantic-release
installation will throw errors!
Then run:
semantic-release-cli setup
Select Travis CI, answer no
to overwrite
There‘s already a general purpose Travis CI configuration stored in
.travis.yml
. You can just leave it like that because it‘s already more than enough in most common situation.
2. Recommended workflow
Make some changes. If you want to commit, run (instead of git commit
):
npm start commit
Select the type of commit
This project follows the AngularJS Commit Message Conventions. Following a standardized commit message format is important if you want to start a maintainable and scalable project. Also it is required to generate changelog and make automated releasing works.
Push those changes to GitHub
git push origin master
Note: Don‘t add tag, publish, or bump your project version manually. Let
semantic-release
do those tasks for you. Your release version number is auto-formatted based on SemVer specifications.
3. Your own workflow
You don‘t have to follow those recommended steps. Define your own workflow if you will but one of the consequence is you don‘t get the ability to publish/release your package to npm automatically.
For example, you still can do it like this:
git add .
git commit -m "I want to do it my way cause this is my project and I‘m working for myself"
Tips
Some useful scripts are provided by nps to help you maintain your project.
To see the list, run:
npm start
FAQ
1. Why does generator-bunny
use npm
to install dependencies?
We did support auto-detect & auto-install dependencies using
yarn
before but then decided to drop that feature in v4 becauseyarn
is buggy andnpm
has a lot more users thanyarn
.
2. Why does generator-bunny
remove lockfiles in pre-commit?
Lockfiles are for apps, not for packages/libraries. Read more on What do you think of lockfiles?
Inspiration
Contributors
Thanks goes to these people (emoji key):
| Lufty Wiranda💻 📖 🚇 | | :---: |
This project follows the all-contributors specification. Contributions of any kind welcome!
License
MIT © Lufty Wiranda