官术网_书友最值得收藏!

Adding a linter to create a React Native app

Follow these steps to configure your own linter:

  1.  Open a terminal and navigate to the project directory. The cd command for changing the directory will come in handy.
  2. List (ls) the files in the directory and make sure that you are in the root and that you can see the package.json file.
  3. Add the following packages by using the yarn add command. The newly added packages will be automatically added to package.json. --dev installs it under the development dependencies within package.json:
yarn add --dev eslint eslint-config-airbnb eslint-plugin-import eslint-plugin-react eslint-plugin-jsx-a11y babel-eslint

ESLint is the linter that we will be using, and by running the preceding command, you will have installed it in the node_modules directory of your project.

  1. Now, we are ready to define a new script for your project. Please edit package.json and add the following line under the scripts section:
"scripts": {
...
"lint": "./node_modules/eslint/bin/eslint.js src"
...
}

The preceding command runs ESLint and passes one argument to it. This argument is the name of the directory that will contain files to lint. If you aren't going to follow along with this book, we are using the src directory to store source JavaScript files.

  1. The next step is specifying a code style—more precisely, a linter configuration that implements your code style. In this example, we will use a well-known Airbnb style guide. However, we will also tweak it to adhere to my preferred style.
    Firstly, create your linter configuration by running the following command:
./node_modules/eslint/bin/eslint.js --init
  1. A special prompt will follow. Choose the following options:
How would you like to configure ESLint? Use a popular style guide
Which style guide do you want to follow? Airbnb
Do you use React? Yes
What format do you want your config file to be in? JSON
  1. A configuration file will be created for you called .eslintrc.json. Open the file and add the following rules. In the next section, I will explain these choices. For now, proceed with the given set of rules:
{
"rules": {
"react/jsx-filename-extension": [1, { "extensions": [".js"] }],
"comma-dangle": ["error", "never"],
"no-use-before-define": ["error", { "variables": false }],
"indent": ["error", 4],
"react/jsx-indent": ["error", 4],
"react/jsx-indent-props": ["error", 4]
},
"parser": "babel-eslint", // usage with babel transpiler
"extends": "airbnb"
}

  1. Now, you can run the linter by using the following command:
yarn run lint 

The complete setup is provided in Example 14 under the Chapter 2_View patterns folder.

主站蜘蛛池模板: 海原县| 钟祥市| 井陉县| 丰都县| 西吉县| 镇宁| 宁河县| 房产| 藁城市| 新宁县| 黄冈市| 德惠市| 专栏| 六盘水市| 卫辉市| 陈巴尔虎旗| 湖北省| 逊克县| 广元市| 白城市| 那曲县| 开原市| 松潘县| 孙吴县| 广饶县| 长顺县| 西城区| 京山县| 岱山县| 广汉市| 专栏| 东港市| 常德市| 恩平市| 北宁市| 台州市| 常山县| 石台县| 讷河市| 涿鹿县| 静乐县|