Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/luftywiranda13/generator-bunny
🐰 Jumpstart node module, like a bunny!
https://github.com/luftywiranda13/generator-bunny
automatic boilerplate bunny eslint intermediate javascript node nodejs npm open-source prettier semantic-release starter-kit yeoman-generator
Last synced: about 2 months ago
JSON representation
🐰 Jumpstart node module, like a bunny!
- Host: GitHub
- URL: https://github.com/luftywiranda13/generator-bunny
- Owner: luftywiranda13
- License: mit
- Created: 2017-05-08T06:25:41.000Z (over 7 years ago)
- Default Branch: master
- Last Pushed: 2018-01-21T23:45:57.000Z (about 7 years ago)
- Last Synced: 2024-11-16T03:38:05.099Z (2 months ago)
- Topics: automatic, boilerplate, bunny, eslint, intermediate, javascript, node, nodejs, npm, open-source, prettier, semantic-release, starter-kit, yeoman-generator
- Language: JavaScript
- Homepage:
- Size: 985 KB
- Stars: 13
- Watchers: 2
- Forks: 2
- Open Issues: 5
-
Metadata Files:
- Readme: readme.md
- Contributing: contributing.md
- License: license
Awesome Lists containing this project
README
Jumpstart node module, like a bunny!
Scaffold node module or open-source project without having to deal with complicated setup.## Why?
This generator includes built-in modern tools which have been widely used by the community:
- [Automated GitHub release notes generator](/releases)
- [Automated releasing with semantic-release][semantic-link]
- [Automated testing & validation before any commits][husky-link]
- [Automated source-code formatting with prettier][prettier-link]
- [Babel transpiler for writing next generation JavaScript][babel-link]
- [Eslint linting utility][eslint-link]
- [Flow static typechecker][flow-link]
- [GitHub templates (Issue & Pull Request, License, CoC, etc.)](https://github.com/blog/2111-issue-and-pull-request-templates)
- [Jest testing framework][jest-link]
- [Travis Continuous Integration config][travis-link]![](screenshot.png)
## Getting started
### 1. Installation
```sh
npm install -g yo generator-bunny
```### 2. Create new project
**Make a new directory:**
```sh
mkdir my-bunny
cd my-bunny
```**Generate files:**
```sh
yo bunny
```**Validate project:**
```sh
npm start validate
```## Usage
### 1. First-timer
**Install and setup [semantic-release][semantic-link]:**
```sh
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:**
```sh
semantic-release-cli setup
```**Select Travis CI, answer `no` to `overwrite`**
> There‘s already a general purpose [Travis CI][travis-link] configuration stored in [`.travis.yml`](./app/templates/_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`):**
```sh
npm start commit
```**Select the type of commit**
> This project follows the [AngularJS Commit Message Conventions][angular-conventions-link]. 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**
```sh
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][semver-link].
### 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][npm-link] automatically.
For example, you still can do it like this:
```sh
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](https://github.com/kentcdodds/nps) to help you maintain your project.
To see the list, run:
```sh
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 because `yarn` is buggy and `npm` has a lot more users than `yarn`.
#### 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?](https://github.com/sindresorhus/ama/issues/479#issuecomment-310661514)
## Inspiration
- [Sindre Sorhus](https://github.com/sindresorhus) ⟷ [generator-nm](https://github.com/sindresorhus/generator-nm)
- [Kent C. Dodds](https://github.com/kentcdodds) ⟷ [generator-kcd-oss](https://github.com/kentcdodds/generator-kcd-oss)## Contributors
Thanks goes to these people ([emoji key](https://github.com/kentcdodds/all-contributors#emoji-key)):
| [
Lufty Wiranda](http://instagram.com/luftywiranda13)
[💻](https://github.com/luftywiranda13/generator-bunny/commits?author=luftywiranda13 "Code") [📖](https://github.com/luftywiranda13/generator-bunny/commits?author=luftywiranda13 "Documentation") [🚇](#infra-luftywiranda13 "Infrastructure (Hosting, Build-Tools, etc)") |
| :---: |This project follows the [all-contributors](https://github.com/kentcdodds/all-contributors) specification. Contributions of any kind welcome!
## License
MIT © [Lufty Wiranda](https://www.instagram.com/luftywiranda13)[angular-conventions-link]: https://docs.google.com/document/d/1QrDFcIiPjSLDn3EL15IJygNPiHORgU1_OOAqWjiDU5Y/edit
[babel-link]: https://babeljs.io
[eslint-link]: http://eslint.org/
[flow-link]: https://flow.org
[husky-link]: https://github.com/typicode/husky
[jest-link]: https://facebook.github.io/jest
[npm-link]: https://www.npmjs.com/
[prettier-link]: https://github.com/prettier/prettier
[roadmap-link]: https://github.com/luftywiranda13/generator-bunny/blob/master/other/roadmap.md
[semantic-link]: https://github.com/semantic-release/semantic-release
[semver-link]: http://semver.org/
[travis-link]: https://travis-ci.org