Summary: This small PR includes the following changes: * deduplicate yarn lock file using [`yarn-deduplicate`](https://github.com/atlassian/yarn-deduplicate) package * deduplicate script has been added as `update-lock`, let me know if you would like also to see this in [`postinstall`](https://docs.npmjs.com/misc/scripts) (to automatically optimize lock on every dependency change) * according to the [npm docs](https://docs.npmjs.com/files/package.json#repository): * main `package.json` repository field has been replaced with shorthand * monorepo packages repository field has been extended by `directory` The main goal of introducing deduplication script was to optimize the dependencies footprint while developing and speed up the initial installation process. Running `yarn-deduplicate` also increase the security in some way, because it enforces usage only of the latest version of the package. You can read more about the benefits in the deduplicate script [repository](https://github.com/atlassian/yarn-deduplicate#duplicated-packages). ## Changelog <!-- Help reviewers and the release process by writing your own changelog entry. For an example, see: https://github.com/facebook/react-native/wiki/Changelog --> [Internal] [Added] - add yarn lock deduplication script Pull Request resolved: https://github.com/facebook/react-native/pull/30044 Test Plan: `yarn install` was successful, this also should not affect yarn workspaces in any way. Reviewed By: GijsWeterings Differential Revision: D23959812 Pulled By: cpojer fbshipit-source-id: e2455e3718378e1ce6206e79463d4083f8fe5d47
eslint-plugin-react-native-community
This plugin is intended to be used in @react-native-community/eslint-config. You probably want to install that package instead.
Installation
yarn add --dev eslint @react-native-community/eslint-plugin
Note: We're using yarn to install deps. Feel free to change commands to use npm 3+ and npx if you like
Usage
Add to your eslint config (.eslintrc, or eslintConfig field in package.json):
{
"plugins": ["@react-native-community"]
}
Rules
error-subclass-name
NOTE: This rule is primarily used for developing React Native itself and is not generally applicable to other projects.
Enforces that error classes ( = classes with PascalCase names ending with Error) only extend other error classes, and that regular functions don't have names that could be mistaken for those of error classes.
no-haste-imports
Disallows Haste module names in import statements and require() calls.
platform-colors
Enforces that calls to PlatformColor and DynamicColorIOS are statically analyzable to enable performance optimizations.