Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/bent10/doogu
A wrapper around modern JavaScript tools.
https://github.com/bent10/doogu
build cli coverage development doogu eslint javascript lint test typescript watch
Last synced: 8 days ago
JSON representation
A wrapper around modern JavaScript tools.
- Host: GitHub
- URL: https://github.com/bent10/doogu
- Owner: bent10
- License: mit
- Created: 2022-05-05T10:44:04.000Z (over 2 years ago)
- Default Branch: main
- Last Pushed: 2024-10-30T11:51:58.000Z (9 days ago)
- Last Synced: 2024-10-30T11:55:13.203Z (9 days ago)
- Topics: build, cli, coverage, development, doogu, eslint, javascript, lint, test, typescript, watch
- Language: JavaScript
- Homepage: https://www.npmjs.com/package/doogu
- Size: 1.27 MB
- Stars: 4
- Watchers: 3
- Forks: 0
- Open Issues: 1
-
Metadata Files:
- Readme: readme.md
- Changelog: changelog.md
- License: license
Awesome Lists containing this project
README
# doogu
A wrapper around modern JavaScript tools.
- [Install](#install)
- [What includes?](#what-includes)
- [Shareable configs](#shareable-configs)
- [ESLint Configuration](#eslint-configuration)
- [Prettier Configuration](#prettier-configuration)
- [Semantic Release Configuration](#semantic-release-configuration)
- [NPM Scripts](#npm-scripts)
- [Related](#related)
- [Contributing](#contributing)
- [Thank you](#thank-you)## Install
```bash
npm i -D doogu
```## What includes?
This package comes with a set of essential development dependencies:
- [Typescript](https://www.typescriptlang.org/) – A language for application-scale JavaScript
- [Vite](https://vitejs.dev/) – Next generation frontend tooling
- [Vitest](https://www.npmjs.com/package/chokidar-cli) – A Vite-native unit test framework. It's fast!
- [ESLint](https://eslint.org/) – Pluggable JavaScript linter
- [Prettier](https://prettier.io/) – An opinionated code formatter## Shareable configs
Doogu provides shareable configs for ESLint, Prettier, and Semantic Release that can be reused across projects.
### ESLint Configuration
Create your `eslint.config.js` file, add the following:
```js
export { default } from 'doogu/eslint.config.js'
```### Prettier Configuration
To extend the shareable Prettier configuration in your `package.json` file, add the following:
```json
{
"prettier": "doogu/prettier.config.js"
}
```### Semantic Release Configuration
To extend the shareable Semantic Release config in your `package.json` file, add the following:
```json
{
"release": "doogu/release.config.js"
}
```## NPM Scripts
You can utilize the following commands in your `package.json` file:
```json
{
"scripts": {
"dev": "vite",
"build": "vite build",
"preview": "vite preview",
"test": "vitest",
"coverage": "vitest run --coverage",
"lint": "eslint .",
"format": "prettier --write ."
}
}
```Or do anything you want:
```json
{
"scripts": {
"start": "npm run dev",
"dev": "npm run types && vite build --ssr src/index.ts --emptyOutDir=false --watch",
"build": "vite build --ssr src/index.ts && npm run types",
"test": "vitest --ui",
"coverage": "vitest run --coverage",
"types": "tsc -d --emitDeclarationOnly --outDir ./dist",
"lint": "tsc --noEmit && eslint .",
"format": "prettier --write ."
}
}
```## Related
- [module-starter](https://github.com/bent10/module-starter) – A bare-bones template designed for modern web projects
- [monorepo-starter](https://github.com/bent10/monorepo-starter) – A monorepo starter template using native NPM workspace## Contributing
We 💛 issues.
When committing, please conform to [the semantic-release commit standards](https://www.conventionalcommits.org/). Please install `commitizen` and the adapter globally, if you have not already.
```bash
npm i -g commitizen cz-conventional-changelog
```Now you can use `git cz` or just `cz` instead of `git commit` when committing. You can also use `git-cz`, which is an alias for `cz`.
```bash
git add . && git cz
```## Thank you
A project by [Stilearning](https://stilearning.com) © 2022-2024.