Skip to content

robertoachar/generator-oss-project

Repository files navigation

OSS Project Generator

Yeoman generator for open source projects.

NPM Version Downloads Travis Status CircleCI Status AppVeyor Status Coveralls Status License

This generator provides the following features:

  • src and test folder as a starter point to build your project.
  • esm as a simple, babel-less, bundle-less ECMAScript module loader.
  • EditorConfig to help you define and maintain consistent coding styles between different editors.
  • ESLint to provide a pluggable linting utility for JavaScript.
  • Prettier as an opinionated code formatter.
  • Jest as a complete and easy to set-up JavaScript testing solution used by Facebook.
  • Travis and CircleCI as a continuous integration and delivery platform.
  • Appveyor as a continuous delivery service for Windows.
  • Coveralls to help you track your code coverage over time, and ensure that all your new code is fully covered.
  • README.md and CHANGELOG.md with information about the project, installation, usage, development, author and license.
  • Badges for Travis, Appveyor, CircleCI, Coveralls, npm and License.

Project files

.
|--- src
|    |--- index.js
|--- test
|    |--- test.js
|--- .editorconfig
|--- .eslintignore
|--- .eslintrc.json
|--- .gitattributes
|--- .gitignore
|--- .npmrc
|--- .prettierrc
|--- .travis.yml
|--- appveyor.yml
|--- CHANGELOG.md
|--- circle.yml
|--- LICENSE
|--- main.js
|--- package.json
|--- README.md

Installation

  • Install Yeoman
$ npm install -g yo
  • Install Generator
$ npm install -g generator-oss-project

Usage

  • Creating a project
# Create a directory for your project
$ mkdir awesome-project

# Change into directory
$ cd awesome-project

# Generate a project
$ yo oss-project
  • Running project
Action Usage
Starting development mode npm start
Linting code npm run lint
Running unit tests npm run jest
Running lint + tests npm test
Running code coverage npm run coverage
Sending coverage results to Coveralls.io npm run coveralls

Development

Prerequisites

$ npm install -g yo

Clone the repo

$ git clone https://github.com/robertoachar/generator-oss-project.git

Run generator

# Change into directory
$ cd generator-oss-project

# Link generator
$ npm link

# Run generator
$ yo oss-project

Author

Roberto Achar

Contributors

Paulo Rezende

License

MIT