https://github.com/0vidiu/openlib
A custom boilerplate for creating open source libraries
https://github.com/0vidiu/openlib
boilerplate codecov open-source travis-ci typescript webpack
Last synced: 3 months ago
JSON representation
A custom boilerplate for creating open source libraries
- Host: GitHub
- URL: https://github.com/0vidiu/openlib
- Owner: 0vidiu
- License: mit
- Created: 2018-03-06T13:38:27.000Z (over 8 years ago)
- Default Branch: master
- Last Pushed: 2018-03-25T14:40:00.000Z (over 8 years ago)
- Last Synced: 2025-02-27T20:33:18.805Z (over 1 year ago)
- Topics: boilerplate, codecov, open-source, travis-ci, typescript, webpack
- Language: JavaScript
- Size: 241 KB
- Stars: 1
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
- Code of conduct: CODE_OF_CONDUCT.md
Awesome Lists containing this project
README
# OpenLib
[](https://travis-ci.org/0vidiu/openlib) [](https://codecov.io/gh/0vidiu/openlib) [](http://commitizen.github.io/cz-cli/)
## A custom boilerplate for creating open source libraries
This package was created to facilitate the first steps in creating a new project. It uses **Typescript** to write less error-prone code, **ESLint** and **TSLint** to ensure more reliable and readable code, **Webpack** for bundling multiple versions, **gHooks** to validate each commit, **Commitizen** to ensure a good commit naming convention, **Travis-CI** for build testing, **Semantic-release** for automatically publishing your project and generating changelogs.
### Prerequisites
* Setup a [Travis-CI](https://travis-ci.org) account
* Setup a [CodeCov](https://codecov.io) account
## Getting started
```sh
# Create new project
git clone https://github.com/0vidiu/openlib.git ./
cd
# Set up git for your new project
rm -rf .git
git init
git remote add origin git@github.com:/.git
# Install dependencies
yarn
# Run tests and build tasks
yarn validate
# Start writing something awesome
yarn dev
```
## yarn/npm scripts
```sh
# git commit using commitizen cli
yarn commit
# start build tool in watch mode
yarn dev
# run tests
yarn test
# lint *.js files
yarn lint:js
# lint *.ts files
yarn lint:ts
# lint everything
yarn lint
# build for prodution
yarn build
# runs lint, test and build tasks
yarn validate
```
## When you're ready to deploy
```sh
# Setup up semantic-release
sudo yarn global add semantic-release-cli
semantic-release-cli setup
# Edit .travis.yml and uncomment following line
# to enable semantic-release after Travis build success:
# - yarn travis-deploy-once "yarn semantic-release"
vim .travis.yml
```