Files
react/.prettierrc.js

Ignoring revisions in .git-blame-ignore-revs. Click here to bypass and see the normal blame view.

35 lines
621 B
JavaScript
Raw Normal View History

'use strict';
2024-05-03 17:32:41 +01:00
const {esNextPaths} = require('./scripts/shared/pathsByLanguageVersion');
2018-01-07 22:51:59 +11:00
module.exports = {
bracketSpacing: false,
singleQuote: true,
Update .prettierrc.js (#27732) jsxBracketSameLine deprecated in v2.4.0 of Prettier, replaced by bracketSameLine. https://prettier.io/docs/en/options.html#deprecated-jsx-brackets <!-- Thanks for submitting a pull request! We appreciate you spending the time to work on these changes. Please provide enough information so that others can review your pull request. The three fields below are mandatory. Before submitting a pull request, please make sure the following is done: 1. Fork [the repository](https://github.com/facebook/react) and create your branch from `main`. 2. Run `yarn` in the repository root. 3. If you've fixed a bug or added code that should be tested, add tests! 4. Ensure the test suite passes (`yarn test`). Tip: `yarn test --watch TestName` is helpful in development. 5. Run `yarn test --prod` to test in the production environment. It supports the same options as `yarn test`. 6. If you need a debugger, run `yarn test --debug --watch TestName`, open `chrome://inspect`, and press "Inspect". 7. Format your code with [prettier](https://github.com/prettier/prettier) (`yarn prettier`). 8. Make sure your code lints (`yarn lint`). Tip: `yarn linc` to only check changed files. 9. Run the [Flow](https://flowtype.org/) type checks (`yarn flow`). 10. If you haven't already, complete the CLA. Learn more about contributing: https://reactjs.org/docs/how-to-contribute.html --> ## Summary <!-- Explain the **motivation** for making this change. What existing problem does the pull request solve? --> I've always wanted to contribute to open source, even if it's in the smallest way possible. Resolves deprecated feature with currently used version of Prettier (2.4+). Those doing things like using React as a reference for their ".prettierrc" files will be using the non-deprecated versions. ## How did you test this change? Modified line 969 of App.js to push </h1> to line 971, saved the file, then ran "yarn prettier" and formatting returned it to original position confirming that jsxBracketSameLine acts in the same fashion to bracketSameLine, but also is no longer deprecated that has additional features which may be useful in the future to the project. <!-- Demonstrate the code is solid. Example: The exact commands you ran and their output, screenshots / videos if the pull request changes the user interface. How exactly did you verify that your PR solves the issue you wanted to solve? If you leave this empty, your PR will very likely be closed. --> λ yarn prettier yarn run v1.22.19 $ node ./scripts/prettier/index.js write-changed > git merge-base HEAD main > git diff --name-only --diff-filter=ACMRTUB bbb9cb116dbf7b6247721aa0c4bcb6ec249aa8af > git ls-files --others --exclude-standard Done in 1.52s.
2023-12-01 14:30:42 -05:00
bracketSameLine: true,
2018-01-07 22:51:59 +11:00
trailingComma: 'es5',
printWidth: 80,
parser: 'flow',
arrowParens: 'avoid',
2018-01-07 22:51:59 +11:00
overrides: [
created a vscode workspace file for the repo (#29830) ### Summary Similarly to what has been done on the `react-native` repo in https://github.com/facebook/react-native/pull/43851, this PR adds a `react.code-workspace` workspace file when using VSCode. This disables the built-in TypeScript Language Service for `.js`, `.ts`, and `.json` files, recommends extensions, enables `formatOnSave`, excludes certain files in search, and configures Flow language support. ### Motivation This is a DevX benefit for **React contributors** using open source VS Code. Without this, it takes quite a long time to set up the environment in vscode to work well. For me the following two points took around an hour each to figure out, but for others it may take even more (screenshots can be found below): * Search with "files to include" was searching in ignored files (compiled/generated) * Configure language validation and prettier both in "packages" that use flow and in the "compiler" folder that uses typescript. ### Recommended extensions NOTE: The recommended extensions list is currently minimal — happy to extend this now or in future, but let's aim to keep these conservative at the moment. * Flow — language support * EditorConfig — formatting based on `.editorconfig`, all file types * Prettier — formatting for JS* files * ESLint — linter for JS* files ### Why `react.code-workspace`? `.code-workspace` files have slight extra behaviours over a `.vscode/` directory: * Allows user to opt-in or skip. * Allows double-click launching from file managers. * Allows base folder (and any subfolders in future) to be opened with local file tree scope (useful in fbsource!) * (Minor point) Single config file over multiple files. https://code.visualstudio.com/docs/editor/workspaces ### Test plan Against a new un-configured copy of Visual Studio Code Insiders. **Without workspace config** ❌ .js files raise errors by default (built-in TypeScript language service) ❌ When using the Flow VS Code extension, the wrong version (global) of Flow is used. <img width="978" alt="Screenshot 2024-06-10 at 16 03 59" src="https://github.com/facebook/react/assets/5188459/17e19ba4-bac2-48ea-9b35-6b4b6242bcc1"> ❌ Searching in excluded files when the "include" field is specified <img width="502" alt="Screenshot 2024-06-10 at 15 41 24" src="https://github.com/facebook/react/assets/5188459/00248755-7905-41bc-b303-498ddba82108"> **With workspace config** ✅ Built-in TypeScript Language Service is disabled for .js files, but still enabled for .ts[x] files ![Screen Recording 2024-06-13 at 12 21 24](https://github.com/facebook/react/assets/5188459/6048218c-f316-44cd-8771-d2d0e848991d) ✅ Flow language support is configured correctly against flow version in package.json <img width="993" alt="Screenshot 2024-06-10 at 16 03 44" src="https://github.com/facebook/react/assets/5188459/b54e143c-a013-4e73-8995-3af7b5a03e36"> ✅ Does not search in excluded files when the "include" field is specified <img width="555" alt="Screenshot 2024-06-10 at 15 39 18" src="https://github.com/facebook/react/assets/5188459/dd3e5344-84fb-4b5d-8689-4c8bd28168e0"> ✅ Workspace config is suggested when folder is opened in VS Code ![image](https://github.com/facebook/react/assets/5188459/7434261f-1057-4954-9885-b057a10684ad) ✅ Dialog is shown on workspace launch with recommended VS Code extensions <img width="580" alt="Screenshot 2024-06-10 at 15 40 52" src="https://github.com/facebook/react/assets/5188459/c6406fb6-92a0-47f1-8497-4ffe899bb6a9">
2024-06-13 16:23:42 +01:00
{
files: ['*.code-workspace'],
options: {
parser: 'json-stringify',
},
},
2018-01-07 22:51:59 +11:00
{
files: esNextPaths,
options: {
trailingComma: 'all',
},
},
2024-05-03 17:32:41 +01:00
{
files: ['*.ts', '*.tsx'],
options: {
trailingComma: 'all',
parser: 'typescript',
},
},
2018-01-07 22:51:59 +11:00
],
};