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
- Host: GitHub
- URL: https://github.com/shhdharmen/js-open-source-checklist
- Owner: shhdharmen
- License: mit
- Created: 2021-05-31T06:25:19.000Z (about 4 years ago)
- Default Branch: main
- Last Pushed: 2021-05-31T10:23:51.000Z (about 4 years ago)
- Last Synced: 2025-02-10T14:53:31.060Z (4 months ago)
- Topics: checklist, javascript, open-source, opensource
- Homepage:
- Size: 29.3 KB
- Stars: 1
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Contributing: CONTRIBUTING.md
- License: LICENSE
- Code of conduct: CODE_OF_CONDUCT.md
Awesome Lists containing this project
README
# Open Source Checklist for JavaScript Project
[](#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)):
This project follows the [all-contributors](https://github.com/all-contributors/all-contributors) specification. Contributions of any kind welcome!