Skip to content

bent10/doogu

Repository files navigation

doogu

A wrapper around modern JavaScript tools.

Install

npm i -D doogu

What includes?

This package comes with a set of essential development dependencies:

  • Typescript – A language for application-scale JavaScript
  • Vite – Next generation frontend tooling
  • Vitest – A Vite-native unit test framework. It's fast!
  • ESLint – Pluggable JavaScript linter
  • Prettier – 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:

export { default } from 'doogu/eslint.config.js'

Prettier Configuration

To extend the shareable Prettier configuration in your package.json file, add the following:

{
  "prettier": "doogu/prettier.config.js"
}

Semantic Release Configuration

To extend the shareable Semantic Release config in your package.json file, add the following:

{
  "release": "doogu/release.config.js"
}

NPM Scripts

You can utilize the following commands in your package.json file:

{
  "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:

{
  "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 – A bare-bones template designed for modern web projects
  • monorepo-starter – A monorepo starter template using native NPM workspace

Contributing

We 💛 issues.

When committing, please conform to the semantic-release commit standards. Please install commitizen and the adapter globally, if you have not already.

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.

git add . && git cz

Thank you

A project by Stilearning © 2022-2024.