What will be done?
We’ll learn how to configurate a yarn workspace monorepo to use prettier and eslint with typescript in our projects. A Monorepo project provides to you a global configuration that facilitates scalability, and prevent duplicate libraries installed. In addition to facilitating the maintenance and organization of the code.
Creating a monorepo
Start by creating a folder where your project will be located, and initializing yarn:
mkdir my-monorepo-project
cd my-monorepo-project
yarn init -y
Also, this project will have two sides, backend and fronted. So, i'll create two folders, cli
and api
:
mkdir cli
mkdir api
Now, in package.json add two configuration to use a monorepo. The private
define if our parent path will be published, and workspaces
define our paths.
"workspaces": [
"cli",
"api"
],
"private": true,
Installing prettier and eslint
Now, install prettier and eslint in all the workspaces with:
yarn add -D prettier eslint @typescript-eslint/eslint-plugin @typescript-eslint/parser
With it installed, create two configurate files, .prettierrc
and .eslintrc
:
//.prettierrc
{
"semi": false,
"trailingComma": "none",
"singleQuote": true,
"printWidth": 120,
"tabWidth": 2,
"arrowParens": "avoid"
}
//.eslintrc
{
"parser": "@typescript-eslint/parser",
"plugins": ["@typescript-eslint"],
"extends": ["eslint:recommended", "plugin:@typescript-eslint/recommended"],
"parserOptions": { "ecmaVersion": 2018, "sourceType": "module" },
"rules": {
"no-unused-vars": "off"
}
}
Now, all your code inside cli
and api
will configurate with eslint and prettier formater, enjoy!!
Top comments (0)