doogu
Version:
A wrapper around modern JavaScript tools
123 lines (89 loc) • 3.18 kB
Markdown
A wrapper around modern JavaScript tools.
- [Install](
- [What includes?](
- [Shareable configs](
- [ESLint Configuration](
- [Prettier Configuration](
- [Semantic Release Configuration](
- [NPM Scripts](
- [Related](
- [Contributing](
- [Thank you](
```bash
npm i -D doogu
```
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
Doogu provides shareable configs for ESLint, Prettier, and Semantic Release that can be reused across projects.
Create your `eslint.config.js` file, add the following:
```js
export { default } from 'doogu/eslint.config.js'
```
To extend the shareable Prettier configuration in your `package.json` file, add the following:
```json
{
"prettier": "doogu/prettier.config.js"
}
```
To extend the shareable Semantic Release config in your `package.json` file, add the following:
```json
{
"release": "doogu/release.config.js"
}
```
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 ."
}
}
```
- [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
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
```
A project by [Stilearning](https://stilearning.com) © 2022-2024.