mirror of
https://github.com/facebook/react-native.git
synced 2025-11-01 09:14:26 +00:00
68d6214a18
Summary: Pull Request resolved: https://github.com/facebook/react-native/pull/35529 ESLint configuration is derived from `react-native/eslint-config`, which has supported Flow, vanilla JS, and TypeScript. https://github.com/react-native-community/react-native-template-typescript/pull/238 and a related PR ended up adding new rules to the TypeScript config, to fix bugs with TS linting. It required a followup change, to specify the parser/plugin, and explicity reference them as devDependencies. https://github.com/react-native-community/react-native-template-typescript/pull/240 `react-native/eslint-config` already includes setting the plugin/parser. But overriding rules requires declaring that again, and directly referencing a plugin means a need for the app to declare dependencies, since ESLint resolves modules from the current config. The rules overridedn were later fixed in `react-native/eslint-config`, which is really the right place for the fix (e.g. https://github.com/facebook/react-native/pull/32644). I noticed this when deriving from the TS template in https://github.com/facebook/react-native/pull/32644 and removed the rule overrides, but didn't have the historical context to realize this means we can then: 1. Remove the explicit parser/plugins since `react-native/eslint-config` already sets them, and we are no longer overriding any rules. 2. Remove the devDependencies, to let the versions be managed entirely by `react-native/eslint-config`. Changelog: [General][Changed] - Simplify Template ESLint Configuration Reviewed By: cortinico Differential Revision: D41652699 fbshipit-source-id: 8e3313dbf27407c5866f3c2432cffc2ecec1b01d
37 lines
904 B
JSON
37 lines
904 B
JSON
{
|
|
"name": "HelloWorld",
|
|
"version": "0.0.1",
|
|
"private": true,
|
|
"scripts": {
|
|
"android": "react-native run-android",
|
|
"ios": "react-native run-ios",
|
|
"lint": "eslint .",
|
|
"start": "react-native start",
|
|
"test": "jest"
|
|
},
|
|
"dependencies": {
|
|
"react": "18.2.0",
|
|
"react-native": "1000.0.0"
|
|
},
|
|
"devDependencies": {
|
|
"@babel/core": "^7.20.0",
|
|
"@babel/preset-env": "^7.20.0",
|
|
"@babel/runtime": "^7.12.5",
|
|
"@react-native/eslint-config": "^0.72.0",
|
|
"@tsconfig/react-native": "^2.0.2",
|
|
"@types/jest": "^29.2.1",
|
|
"@types/react": "^18.0.24",
|
|
"@types/react-test-renderer": "^18.0.0",
|
|
"babel-jest": "^29.2.1",
|
|
"eslint": "^8.19.0",
|
|
"jest": "^29.2.1",
|
|
"metro-react-native-babel-preset": "0.73.3",
|
|
"prettier": "^2.4.1",
|
|
"react-test-renderer": "18.2.0",
|
|
"typescript": "4.8.4"
|
|
},
|
|
"jest": {
|
|
"preset": "react-native"
|
|
}
|
|
}
|