{"id":21481289,"url":"https://github.com/mobilereality/eslint-config","last_synced_at":"2025-07-15T12:33:13.202Z","repository":{"id":39418786,"uuid":"457417706","full_name":"MobileReality/eslint-config","owner":"MobileReality","description":"ESLint's configuration of Mobile Reality Team","archived":false,"fork":false,"pushed_at":"2024-01-23T11:59:29.000Z","size":403,"stargazers_count":13,"open_issues_count":2,"forks_count":2,"subscribers_count":3,"default_branch":"master","last_synced_at":"2024-11-15T20:46:16.153Z","etag":null,"topics":["eslint","prettier","react","react-native","typescript"],"latest_commit_sha":null,"homepage":"","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/MobileReality.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.md","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2022-02-09T15:32:26.000Z","updated_at":"2024-06-08T16:16:18.000Z","dependencies_parsed_at":"2024-06-19T05:15:56.340Z","dependency_job_id":"77731371-e3d8-42bf-bf3d-b371dd12232d","html_url":"https://github.com/MobileReality/eslint-config","commit_stats":{"total_commits":56,"total_committers":5,"mean_commits":11.2,"dds":0.2142857142857143,"last_synced_commit":"1b15ae8ba142b20de9f70fe277a098c7ee482648"},"previous_names":[],"tags_count":29,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MobileReality%2Feslint-config","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MobileReality%2Feslint-config/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MobileReality%2Feslint-config/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MobileReality%2Feslint-config/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/MobileReality","download_url":"https://codeload.github.com/MobileReality/eslint-config/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":226039665,"owners_count":17564190,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["eslint","prettier","react","react-native","typescript"],"created_at":"2024-11-23T12:23:09.510Z","updated_at":"2024-11-23T12:23:10.122Z","avatar_url":"https://github.com/MobileReality.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# @mobile-reality/eslint-config\n\n[![Version](https://img.shields.io/npm/v/@mobile-reality/eslint-config?style=for-the-badge)](https://www.npmjs.com/package/@mobile-reality/eslint-config)\n[![GitHub stars](https://img.shields.io/github/stars/MobileReality/eslint-config?style=for-the-badge)](https://github.com/MobileReality/react-native-select-pro/stargazers)\n[![npm total downloads](https://img.shields.io/npm/dt/@mobile-reality/eslint-config?style=for-the-badge)](https://www.npmjs.com/package/@mobile-reality/eslint-config)\n[![npm week downloads](https://img.shields.io/npm/dw/@mobile-reality/eslint-config?style=for-the-badge)](https://www.npmjs.com/package/@mobile-reality/eslint-config)\n[![Last master branch commit](https://img.shields.io/github/last-commit/MobileReality/eslint-config/master?style=for-the-badge)](https://github.com/MobileReality/eslint-config/commits/master)\n[![License](https://img.shields.io/github/license/MobileReality/eslint-config?style=for-the-badge)](https://github.com/MobileReality/eslint-config/blob/master/LICENSE.md)\n\n---\n\nESLint's configuration of [Mobile Reality](https://themobilereality.com) team.\n\n---\n\n## Table of Contents\n\n-   [Requirements](#requirements)\n-   [Installation and usage for a new project](#installation-and-usage-for-a-new-project)\n-   [Installation and usage for an existing project](#installation-and-usage-for-an-existing-project)\n-   [Override](#override)\n-   [Used packages](#used-packages)\n-   [License](#license)\n\n## Requirements\n\n-   `node: ^16.13 || ^18.15.0`\n-   `eslint: ^8.37.0`\n-   `eslint-plugin-prettier: ^4.2.0`\n\n## Installation and usage for a new project\n\n1. Install `@mobile-reality/eslint-config`, `eslint`, `prettier` and `eslint-plugin-prettier`:\n\n    ```sh\n    yarn add -D @mobile-reality/eslint-config eslint@^8.37.0 prettier eslint-plugin-prettier\n    ```\n\n    or\n\n    ```sh\n    npm i -D @mobile-reality/eslint-config eslint@^8.37.0 prettier eslint-plugin-prettier\n    ```\n\n2. Add to your root `.eslintrc.js` file:\n    ```javascript\n    module.exports = {\n        root: true,\n        env: {}, // env config is based on project scope eg is it only node or node+browser\n        extends: [\n            '@mobile-reality/eslint-config/XXX', // base config based on project scope, XXX described below\n            'plugin:prettier/recommended', // to include prettier rules in eslint\n        ],\n        // if jest is used jest config should be added to overrides section\n        overrides: [\n            {\n                files: ['test/**/*.test.ts'], // glob pattern has to match test files\n                extends: ['@mobile-reality/eslint-config/configs/jest'],\n            },\n        ],\n    };\n    ```\n    XXX is a preconfigured eslint config for MR projects. Supported configs with required peerDependencies (which must be installed in project):\n    - node-javascript\n    - node-typescript (@typescript-eslint/eslint-plugin@~5.31.0 @typescript-eslint/parser@~5.31.0)\n    - react-javascript (eslint-plugin-react eslint-plugin-react-hooks eslint-plugin-jsx-a11y eslint-plugin-simple-import-sort)\n    - react-typescript (@typescript-eslint/eslint-plugin@~5.31.0 @typescript-eslint/parser@~5.31.0 eslint-plugin-react eslint-plugin-react-hooks eslint-plugin-jsx-a11y eslint-plugin-simple-import-sort)\n    - react-native (@typescript-eslint/eslint-plugin@~5.31.0 @typescript-eslint/parser@~5.31.0 eslint-plugin-react eslint-plugin-react-hooks eslint-plugin-jsx-a11y eslint-plugin-simple-import-sort eslint-plugin-react-native)\n\n## Installation and usage for an existing project\n\n1. Remove all `ESLint` and `prettier` dependencies (e.g. `eslint`, `prettier`, `eslint-plugin-prettier`, `@typescript-eslint/eslint-plugin` etc.) from package.json\n2. Reinstall `node_modules` (so remove them and install with `npm i` or `yarn install`)\n3. Go to the [installation step](#installation-and-usage-for-a-new-project)\n\n## Override\n\nYou can override rules by adding a rule to the rules section e.g.:\n\n```javascript\nmodule.exports = {\n    root: true,\n    extends: ['@mobile-reality'],\n    rules: {\n        'no-console': 'off',\n    },\n};\n```\n\n## Used packages\n\n-   [@typescript-eslint/eslint-plugin](https://github.com/typescript-eslint/typescript-eslint/tree/main/packages/eslint-plugin)\n-   [@typescript-eslint/parser](https://github.com/typescript-eslint/typescript-eslint/tree/main/packages/parser)\n-   [eslint-config-prettier](https://github.com/prettier/eslint-config-prettier)\n-   [eslint-plugin-flowtype](https://github.com/gajus/eslint-plugin-flowtype)\n-   [eslint-plugin-jest](https://github.com/jest-community/eslint-plugin-jest)\n-   [eslint-plugin-jsx-a11y](https://github.com/jsx-eslint/eslint-plugin-jsx-a11y)\n-   [eslint-plugin-react](https://github.com/yannickcr/eslint-plugin-react)\n-   [eslint-plugin-react-hooks](https://github.com/facebook/react/tree/main/packages/eslint-plugin-react-hooks)\n-   [eslint-plugin-react-native](https://github.com/intellicode/eslint-plugin-react-native)\n-   [eslint-plugin-simple-import-sort](https://github.com/lydell/eslint-plugin-simple-import-sort)\n-   [eslint-plugin-unicorn](https://github.com/sindresorhus/eslint-plugin-unicorn)\n\n## License\n\n[MIT](LICENSE.md)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmobilereality%2Feslint-config","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmobilereality%2Feslint-config","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmobilereality%2Feslint-config/lists"}