{"_id":"@carimus/eslint-config-react-native","_rev":"14-e4debd18d639781a9d2d32612b911387","name":"@carimus/eslint-config-react-native","dist-tags":{"latest":"1.0.1"},"versions":{"1.0.0":{"name":"@carimus/eslint-config-react-native","version":"1.0.0","keywords":["eslint","eslintconfig","react","react-native"],"author":{"name":"Carimus","email":"connect@carimus.com"},"license":"MIT","_id":"@carimus/eslint-config-react-native@1.0.0","maintainers":[{"name":"carimus-deploy-bot","email":"carimus-deploy-bot@carimus.com"},{"name":"bericp1","email":"bericp1@gmail.com"},{"name":"nicog-carimus","email":"nicog@carimus.com"},{"name":"shugands","email":"dans@carimus.com"},{"name":"bryanmcarimus","email":"bryanm@carimus.com"},{"name":"spencerr","email":"spencerr@carimus.com"}],"homepage":"https://github.com/Carimus/eslint-config-react-native#readme","bugs":{"url":"https://github.com/Carimus/eslint-config-react-native/issues"},"dist":{"shasum":"6a94b4c25f3b2a8494b38dc46d04bc1631dc7fcf","tarball":"https://registry.npmjs.org/@carimus/eslint-config-react-native/-/eslint-config-react-native-1.0.0.tgz","fileCount":5,"integrity":"sha512-Z7pge3e7Q8RH9LtUFBW1TePgtukB/HBWuXT6srCOz+PnfrVL58vTgeSAF2F1/rcMjA2ajHWt0uAXh0b494p6jA==","signatures":[{"sig":"MEUCIGFralJGRjvsPGDRQsgBcmoPWlacit4UuYckK35U57ybAiEAwYpTg8zPj8ld/CmYkkOjdn4QHBbvGpuHCFc4BXJwA9M=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":280689,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdpQxNCRA9TVsSAnZWagAAVEgP/Ah4iCjA7fIc3XscCpUB\nzbavEjHuua73C/qP3GYczedkFsu3UaZXGLYtl/2BPJK0gzwes2WADQKQGyTt\nMQhTloBaipnHcWa77xG4Jla1nzSU1c4iJ9jF6gTfwXj0XHQP5e5hP0SpdY0A\narmvvKtJoNg967HbER6nWq7urWayJQfnfmMF2Wig4Q7PF/TpW12KNAW8qT66\nC3UG1PxVebmVyruqzalBBeaAt+050kuhkIlHjW8U+06Xb0f0WEjZ+X4bWQ49\n7O0DZyh7UQ5OZTD3iXGJOEn5uspKFOXyx7XrIsHk5wZt1aCrGsZthTzrEznO\n25eUucKn3AzoQi8RP7ke5LoScTQWpJURXO/1QR8bHAVUl0PNdqdFbGnK867D\n4q6/19R2mHXmdY+S6VbSJmh2BhUJ4RE2YNnAQjlg2JRoPeP4O1+pLcUVH/r8\nBqNGjYhdTjn3szTKMGAkdxuk9+k2BSUF01nh1DF6VAyVQkbBt7kCoAdeAWvY\n9mvRiRka1hEQYaQrx0OIsBaRlS0jOOIFHCnUxnpXmMaGn7XDG4VizTZspJ3d\nwvHJkoYC+/1IhniKJYfseo3YqXlk+4RIzXFN262HT5SpSqOIZQWXxiYnNJN6\nFDPjd7wM7KXIxjovqc75ud27svmAaJq0zvjmYhy9aGac+snUjUUvwfGdAzQr\naf7X\r\n=oUUp\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","husky":{"hooks":{"commit-msg":"commitlint -E HUSKY_GIT_PARAMS","pre-commit":"lint-staged"}},"config":{"commitizen":{"path":"./node_modules/cz-conventional-changelog"}},"gitHead":"cbee4b2a38f70eb2259e06ebfb8a4e3721ed82ed","scripts":{"lint":"eslint '{*,.github/**/*}.{js,jsx}'","test":"echo 'No tests specified'","commit":"git-cz","pretty":"prettier --write '{*,.github/**/*}.{js,jsx,json,md,yml,html}'","release":"yarn run semantic-release","release-ci":"echo 'unsafe-perm = true' > ./.npmrc && yarn run semantic-release && rm -rf ./.npmrc","semantic-release":"semantic-release"},"_npmUser":{"name":"bericp1","email":"bericp1@gmail.com"},"commitlint":{"extends":["@commitlint/config-conventional"]},"repository":{"url":"git+https://github.com/Carimus/eslint-config-react-native.git","type":"git"},"_npmVersion":"6.11.3","description":"A base eslint config for Carimus React Native projects","directories":{},"lint-staged":{"{*,.github/**/*}.{js,jsx}":["prettier --write","eslint","git add"],"{*,.github/**/*}.{json,md,yml,html}":["prettier --write","git add"]},"_nodeVersion":"10.15.3","dependencies":{"@carimus/eslint-config-react":"^1.0.0"},"_hasShrinkwrap":false,"devDependencies":{"husky":"^3.0.9","react":"^16.10.2","eslint":">=6","prettier":"^1.18.2","commitizen":"^4.0.3","prop-types":"^15.7.2","lint-staged":"^9.4.2","@commitlint/cli":"^8.2.0","semantic-release":"^15.13.24","eslint-plugin-jest":">=22.0.0","eslint-plugin-node":">=9.1.0","eslint-plugin-babel":">=5.0.0","eslint-plugin-react":">=7.0.0","eslint-plugin-import":">=2.18.0","eslint-plugin-promise":">=4.2.1","eslint-plugin-standard":">=4.0.0","@carimus/prettier-config":"^1.0.0","cz-conventional-changelog":"^3.0.2","eslint-plugin-react-hooks":">=1.0.0","eslint-plugin-react-native":">=3.0.0","@commitlint/config-conventional":"^8.2.0"},"peerDependencies":{"eslint":">=6","eslint-plugin-jest":">=22.0.0","eslint-plugin-node":">=9.1.0","eslint-plugin-babel":">=5.0.0","eslint-plugin-react":">=7.0.0","eslint-plugin-import":">=2.18.0","eslint-plugin-promise":">=4.2.1","eslint-plugin-standard":">=4.0.0","eslint-plugin-react-hooks":">=1.0.0","eslint-plugin-react-native":">=3.0.0"},"_npmOperationalInternal":{"tmp":"tmp/eslint-config-react-native_1.0.0_1571097676358_0.6472178489356157","host":"s3://npm-registry-packages"}},"1.0.1":{"name":"@carimus/eslint-config-react-native","version":"1.0.1","keywords":["eslint","eslintconfig","react","react-native"],"author":{"name":"Carimus","email":"connect@carimus.com"},"license":"MIT","_id":"@carimus/eslint-config-react-native@1.0.1","maintainers":[{"name":"bericp1","email":"bericp1@gmail.com"},{"name":"bryanmcarimus","email":"bryanm@carimus.com"},{"name":"carimus-deploy-bot","email":"carimus-deploy-bot@carimus.com"},{"name":"nicog-carimus","email":"nicog@carimus.com"},{"name":"shugands","email":"dans@carimus.com"},{"name":"spencerr","email":"spencerr@carimus.com"}],"homepage":"https://github.com/Carimus/eslint-config-react-native#readme","bugs":{"url":"https://github.com/Carimus/eslint-config-react-native/issues"},"dist":{"shasum":"876effcc3214cc995ccd4e5506f0e7af49d5e710","tarball":"https://registry.npmjs.org/@carimus/eslint-config-react-native/-/eslint-config-react-native-1.0.1.tgz","fileCount":5,"integrity":"sha512-mGwr16BSONrzyXq8UXqh9AXLTd1PulqsQoICWrlwwyxFZCcVPFrrJuosdflTdlsPJBzxvb7fWSYYmkmQ2xaG+w==","signatures":[{"sig":"MEYCIQCBGdr05j6RgOqw/F04e8PH+vPPkaRtzS1aOt6kL9X9tgIhAO1P9mzXvz867o6LgrifTWKh9cKBlymE8yJrgTmXEDMm","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":284380,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdqkVACRA9TVsSAnZWagAAmvEP/3VHsrsw7nWDZYp/hwRu\nMz4SeLE4DramGCVk7sxpPyD6jmgpVHjOIDWO897PAKLU7g2PtYi0jMyXH94j\n6jmObifjMt5kq8QtqjQf9gkNjH9IfVYLIi4z4R5F/ZWgyZ1sOKdqyZnymXft\ngyXinu1eWyzHAuCWjJxXvbnR9k7vsz4rCouxyT2g4DMhNB/SCllgv8a+3dLG\nKO3P5v3IFKUKJ6/iRrZVolcvXrgQH7D+pyK0snQTjLPBXxrJQt1xXEeimevy\n5QoC+MH6KC4dTDDgieXKCKIJ9JlL1nobRFuboTmPVQ7yiDXlSbXKzZv0YFMs\nJxIzD2wiqCY4iwQJhGJJyJ3ryKZGAV40YhPsXZu9SkVLylHEZk2bFp8cv/8H\n4pSdQM9t+KrsZ6eG8ninShA+Av1DWJbEdlUjRI8zSqG6UXrWlmMjZgnZ43QA\nQJjk636QZqx82fViyvbfYxIEALCVc8XOhNjXbiunHg3qFRem1+gTUUNvQjFT\nG3EpgdIamnzmelVmdIIJnDgfi0YjXyuuH/fMqPkpBe81/ZWibvXDYj+QERv5\nMkVCt081nKKOsW+kf5IYOerxeB7+7Zf9dwWF5cqYLb80KTxux1CC3BxlxuoE\nX4s+uff4qjDyvbc1fLDnKnDw1MW7V1b73sszr/XksaUQHMkXIIosWotlzplN\nN6Zk\r\n=XCaU\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","husky":{"hooks":{"commit-msg":"commitlint -E HUSKY_GIT_PARAMS","pre-commit":"lint-staged"}},"config":{"commitizen":{"path":"./node_modules/cz-conventional-changelog"}},"gitHead":"e34f3d4b4c8fe8bb70eabf45093d567aa1e043b5","scripts":{"lint":"eslint '{*,.github/**/*}.{js,jsx}'","test":"echo 'No tests specified'","commit":"git-cz","pretty":"prettier --write '{*,.github/**/*}.{js,jsx,json,md,yml,html}'","release":"yarn run semantic-release","release-ci":"echo 'unsafe-perm = true' > ./.npmrc && yarn run semantic-release && rm -rf ./.npmrc","semantic-release":"semantic-release"},"_npmUser":{"name":"carimus-deploy-bot","email":"carimus-deploy-bot@carimus.com"},"commitlint":{"extends":["@commitlint/config-conventional"]},"repository":{"url":"git+https://github.com/Carimus/eslint-config-react-native.git","type":"git"},"_npmVersion":"6.12.0","description":"A base eslint config for Carimus React Native projects","directories":{},"lint-staged":{"{*,.github/**/*}.{js,jsx}":["prettier --write","eslint","git add"],"{*,.github/**/*}.{json,md,yml,html}":["prettier --write","git add"]},"_nodeVersion":"10.16.3","dependencies":{"@carimus/eslint-config-react":"^1.0.0"},"_hasShrinkwrap":false,"devDependencies":{"husky":"^3.0.9","react":"^16.10.2","eslint":">=6","prettier":"^1.18.2","commitizen":"^4.0.3","prop-types":"^15.7.2","lint-staged":"^9.4.2","@commitlint/cli":"^8.2.0","semantic-release":"^15.13.24","eslint-plugin-jest":">=22.0.0","eslint-plugin-node":">=9.1.0","eslint-plugin-babel":">=5.0.0","eslint-plugin-react":">=7.0.0","eslint-plugin-import":">=2.18.0","eslint-plugin-promise":">=4.2.1","eslint-plugin-standard":">=4.0.0","@carimus/prettier-config":"^1.0.0","cz-conventional-changelog":"^3.0.2","eslint-plugin-react-hooks":">=1.0.0","eslint-plugin-react-native":">=3.0.0","@commitlint/config-conventional":"^8.2.0"},"peerDependencies":{"eslint":">=6","eslint-plugin-jest":">=22.0.0","eslint-plugin-node":">=9.1.0","eslint-plugin-babel":">=5.0.0","eslint-plugin-react":">=7.0.0","eslint-plugin-import":">=2.18.0","eslint-plugin-promise":">=4.2.1","eslint-plugin-standard":">=4.0.0","eslint-plugin-react-hooks":">=1.0.0","eslint-plugin-react-native":">=3.0.0"},"_npmOperationalInternal":{"tmp":"tmp/eslint-config-react-native_1.0.1_1571439935511_0.9359489588760679","host":"s3://npm-registry-packages"}}},"time":{"created":"2019-10-15T00:01:16.301Z","modified":"2025-05-28T17:44:16.038Z","1.0.0":"2019-10-15T00:01:16.621Z","1.0.1":"2019-10-18T23:05:35.622Z"},"bugs":{"url":"https://github.com/Carimus/eslint-config-react-native/issues"},"author":{"name":"Carimus","email":"connect@carimus.com"},"license":"MIT","homepage":"https://github.com/Carimus/eslint-config-react-native#readme","keywords":["eslint","eslintconfig","react","react-native"],"repository":{"url":"git+https://github.com/Carimus/eslint-config-react-native.git","type":"git"},"description":"A base eslint config for Carimus React Native projects","maintainers":[{"email":"nicog@carimus.com","name":"nicog-carimus"},{"email":"dans@carimus.com","name":"shugands"},{"email":"bryanm@carimus.com","name":"bryanmcarimus"},{"email":"carimus-deploy-bot@carimus.com","name":"carimus-deploy-bot"},{"email":"digital-security@carimus.com","name":"carimusprivate"}],"readme":"# Carimus ESLint Config for React Native\n\nThe eslint config used by Carimus React Native projects.\n\n-   Extends [`@carimus/eslint-config-react`](https://github.com/Carimus/eslint-config-react)\n-   Adds the [`eslint-plugin-react-native`](https://www.npmjs.com/package/eslint-plugin-react-native) plugin\n-   Adds some minor rules tweaks built-up over time across projects to promote healthier code\n-   Assumes the presence of prettier, i.e. focuses on code quality and not code style.\n\n## Usage\n\nFollow this setup on a fresh React Native project created with `react-native init` in order to:\n\n-   Configure eslint to use this config\n-   Install and configure [Prettier](https://prettier.io)\n-   Run eslint and prettier on precommit\n\nDelete the existing eslint and prettier config files created by `react-native init`:\n\n```shell script\nrm .eslintrc.js .prettierrc.js\n```\n\nRemove the built-in React Native eslint config package:\n\n```shell script\nyarn remove @react-native-community/eslint-config\n```\n\nInstall eslint, the required eslint plugins, this package, prettier, the Carimus prettier config, husky (allows for\ncustom precommit hooks specified in `package.json`), and `lint-staged` (allows to run eslint/prettier only on the\nfile staged for commit during the precommit hook) as dev dependencies:\n\n```shell script\nyarn add --dev eslint \\\n    eslint-plugin-babel \\\n    eslint-plugin-import \\\n    eslint-plugin-jest \\\n    eslint-plugin-node \\\n    eslint-plugin-promise \\\n    eslint-plugin-react \\\n    eslint-plugin-react-hooks \\\n    eslint-plugin-react-native \\\n    eslint-plugin-standard \\\n    @carimus/eslint-config-react-native \\\n    prettier \\\n    @carmius/prettier-config \\\n    husky \\\n    lint-staged\n```\n\nCreate an `.eslintrc.json` file containing:\n\n```json\n{\n    \"root\": true,\n    \"extends\": [\"@carimus/eslint-config-react-native\"]\n}\n```\n\nCreate a `.prettierrc.json` file containing (yes literally just a string):\n\n```json\n\"@carimus/prettier-config\"\n```\n\nMerge the following into your `package.json` in order to add some custom scripts, the husky config, and the\nprettier config:\n\n```json\n{\n    \"scripts\": {\n        \"lint:raw\": \"eslint '{*,{src,docs,scripts,storybook}/{**/,}*,__{tests,mocks}__/{**/,}*}.{js,jsx}'\",\n        \"lint\": \"yarn run lint:raw || true\",\n        \"pretty\": \"prettier --write '{*,{src,docs,scripts,storybook}/{**/,}/*,__{tests,mocks}__/{**/,}*}.{js,jsx,json,md,yml,html}'\",\n        \"fixcode\": \"yarn run lint:raw --fix; yarn run pretty\"\n    },\n    \"husky\": {\n        \"hooks\": {\n            \"pre-commit\": \"lint-staged\"\n        }\n    },\n    \"lint-staged\": {\n        \"{*,{src,docs,scripts,storybook}/{**/,}*,__{tests,mocks}__/{**/,}*}.{js,jsx}\": [\n            \"eslint --fix\",\n            \"prettier --write\",\n            \"eslint\",\n            \"git add\"\n        ],\n        \"{*,{src,docs,scripts,storybook}/{**/,}*,__{tests,mocks}__/{**/,}*}.{json,md,yml,html}\": [\n            \"prettier --write\",\n            \"git add\"\n        ]\n    }\n}\n```\n\nYou may need to update the 4 glob patterns there to account for any custom directories, etc. used in the project. These\nglobs should work for standard `react-native` projects.\n\nThe scripts added are:\n\n-   `lint` will just check the entire codebase and report back\n-   `pretty` will prettier-ify the entire codebase but not do any linting\n-   `fixcode` will prettier-ify the entire codebase and fix any fixable linting errors as well\n\nCommit the config changes, run `fixcode` to sync up the codebase with the new code style, and then commit that as\nwell:\n\n```shell script\ngit add -A\ngit diff --staged\ngit commit -m 'chore(*): configure eslint and prettier for Carimus style' --no-verify\nyarn run fixcode\ngit commit -m 'style(*): reformat codebase according to Carimus style'\n```\n\n## Related Projects\n\n-   [`@carimus/eslint-config-web`](https://github.com/Carimus/eslint-config-web) for non-React Web projects\n-   [`@carimus/eslint-config-react`](https://github.com/Carimus/eslint-config-react-native) for React Web\n    projects\n-   [`@carimus/prettier-config`](https://github.com/Carimus/prettier-config) to configure Prettier.\n","readmeFilename":"README.md"}