An open API service indexing awesome lists of open source software.

https://github.com/shhdharmen/js-open-source-checklist

Open Source Checklist for JavaScript Projects
https://github.com/shhdharmen/js-open-source-checklist

checklist javascript open-source opensource

Last synced: about 2 months ago
JSON representation

Open Source Checklist for JavaScript Projects

Awesome Lists containing this project

README

        

# Open Source Checklist for JavaScript Project

[![All Contributors](https://img.shields.io/badge/all_contributors-1-orange.svg?style=flat-square)](#contributors-)

A few tooling and other checks needed for your Open-Source JavaScript Project:

1. [Pre-launch checklist](https://opensource.guide/starting-a-project/#your-pre-launch-checklist)
2. [ESLint](https://eslint.org/)
```bash
npm install eslint --save-dev
```
```bash
npx eslint --init
```
3. [Prettier](https://prettier.io/)
```bash
npm install --save-dev --save-exact prettier
```
```bash
echo {}> .prettierrc.json
```
4. [Commitlint](https://commitlint.js.org/#/)
```bash
npm install --save-dev @commitlint/cli
```
```bash
npm install --save-dev @commitlint/config-conventional
```
```bash
echo "module.exports = { extends: ['@commitlint/config-conventional'] };" > commitlint.config.js
```
5. [Husky](https://typicode.github.io/husky/#/)
```bash
npm install husky --save-dev
```
```bash
npx husky install
```
```bash
npx husky add .husky/commit-msg 'npx --no-install commitlint --edit $1'
```
6. [Commitizen CLI](http://commitizen.github.io/cz-cli/)
```bash
npm install -g commitizen
```
```bash
commitizen init cz-conventional-changelog --save-dev --save-exact
```

Add `commit` script in `package.json`:
```json
"scripts": {
"commit": "cz"
}
```
7. [Lint Staged](https://github.com/okonet/lint-staged#readme)
```bash
npx mrm lint-staged
```
8. [Stylelint](https://stylelint.io/)
- CSS
```bash
npm install --save-dev stylelint stylelint-config-standard stylelint-prettier
```
```bash
echo "{\"extends\":\"stylelint-config-standard}" > .stylelintrc.json
```

Add scripts in `lint-staged` section in `package.json`:
```json
"lint-staged": {
"*.ts": "eslint --cache --fix",
"*.{ts,js,css,md,json}": "prettier --write",
"*.css": "stylelint --fix",
}
```
- SASS
```bash
npm install --save-dev stylelint stylelint-config-sass-guidelines
```
```bash
echo "{\"extends\":\"stylelint-config-sass-guidelines\"}" > .stylelintrc.json
```

Add scripts in `lint-staged` section in `package.json`:
```json
"lint-staged": {
"*.ts": "eslint --cache --fix",
"*.{ts,js,css,md,json}": "prettier --write",
"*.scss": "stylelint --syntax=scss --fix"
}
```
9. [All Contributors CLI](https://allcontributors.org/docs/en/cli/installation)
```bash
npm i -D all-contributors-cli
```
```bash
npx all-contributors init
```
```bash
npx all-contributors add
```
10. [Semantic Release]()
```bash
npm install --save-dev semantic-release @semantic-release/changelog @semantic-release/git
```

Create .`releasers.json`:
```json
{
"preset": "angular",
"plugins": [
"@semantic-release/commit-analyzer",
"@semantic-release/release-notes-generator",
"@semantic-release/changelog",
"@semantic-release/npm",
[
"@semantic-release/github",
{
"assets": ["dist"]
}
],
"@semantic-release/git"
]
}
```
Then follow [CI configuration](https://semantic-release.gitbook.io/semantic-release/usage/ci-configuration)

## Contributors ✨

Thanks goes to these wonderful people ([emoji key](https://allcontributors.org/docs/en/emoji-key)):



Dharmen Shah

🖋

This project follows the [all-contributors](https://github.com/all-contributors/all-contributors) specification. Contributions of any kind welcome!