Giter VIP home page Giter VIP logo

.tooling's Introduction

.Tooling

About

Dottooling is a ready to use setup to kickstart a typescript/node project with the right quality tools working out of the gate.

Next

Automate installation and distribute as a package ?

Installation

1. Clone the repos in the repository root dir.

git clone [email protected]:romain-cambonie/.tooling.git

Remove the git configuration

rm -rf ./tooling/.git

2. Install devDependencies

Base:

yarn add -D typescript
yarn add -D husky 
yarn add -D @commitlint/cli @commitlint/config-conventional
yarn add -D prettier
yarn add -D @types/jest @types/node jest ts-jest ts-node
yarn add -D concurrently
yarn add -D eslint @typescript-eslint/eslint-plugin @typescript-eslint/parser eslint-config-prettier 
yarn add -D lint-staged 

Add if using Jest

yarn add -D eslint-plugin-jest

Add if using Angular

yarn add -D @angular-eslint/eslint-plugin @angular-eslint/eslint-plugin-template @angular-eslint/template-parser

Add if using Rxjs or Angular

yarn add -D eslint-plugin-rxjs

Also add if using Angular and Rxjs

yarn add -D eslint-plugin-rxjs-angular

3. Install husky and set hooks as executable

husky install
mv ./.tooling/.husky .husky

and

chmod a+x .husky/commit-msg
chmod a+x .husky/pre-commit
chmod a+x .husky/pre-push 

4. Get .editorconfig

mv ./.tooling/.editorconfig .editorconfig

5. Add the scripts in your package.json

{
  "lint": "eslint --config=./.tooling/.eslint/.eslintrc.cjs  ./src/",
  "lint-staged": "lint-staged --config=./.tooling/.lintstaged/.lintstagedrc",
  "prettier": "prettier --config=./.tooling/.prettier/.prettierrc.cjs  --write  ./src/",
  "prettier:check": "prettier --config=./.tooling/.prettier/.prettierrc.cjs --check ./src/",
  "test": "jest --config=./.tooling/.jest/jest.config.ts"
}

// TODO Better documentation from here

With Angular

 "lint": "eslint --config=./.tooling/.eslint/.eslintrc.angular.cjs  ./src/",

5.1 Alternative, hide the configurations paths, easier ide configuration create

// TODO Better documentation to here

Configuration override

TODO Ide configuration : TsConfigs

tsconfig jetbrains

TODO Ide configuration : Eslint

eslint config jetbrains

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.