Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Install & Configure Prettier #708

Open
wants to merge 16 commits into
base: master
Choose a base branch
from
Open

Conversation

Bianca-Morris
Copy link
Member

@Bianca-Morris Bianca-Morris commented Apr 11, 2023

Changelog:

  • Install prettier, prettier-eslint-cli, eslint-plugin-prettier and eslint-config-prettier as dev dependencies
  • Add .prettierrc.json and .prettierignore files
  • Adjust contents of .eslintrc.json to force compatibility with prettier
  • Add script for formatting JSX and JS files to package.json repo-wide (with exceptions as specified in .prettierignore)
  • Run the formatting script on the entire repo; generate new files (might revert this so it's easier to merge without messing up history - see merge notes at bottom)

Related Trello Ticket:
https://trello.com/c/c9hxum2W/749-add-prettier-to-cgap-and-do-bulk-re-format-of-js-jsx-code

Deployment Notes:
This package addition mostly impacts the developer experience, so I'm not deploying anywhere. I ask that reviewers test the branch locally according to the notes below, and leave comments if they run into issues.

Testing Notes:
You MUST do npm install for this to work.

It's possible that the eslint server in vscode won't update the rules in .prettierrc.json after pulling this code (leading to a bunch of red squiggilies across files). If you restart vscode, it'll restart the server and the new rules will be applied. Alternatively, you can run eslint through the terminal to see that the new rules are applied.

In order to get full use of Prettier's auto-formatting capabilities, you'll need to install and enable the Prettier extension in your IDE of choice. For VSCode, it'll end up looking something like this:

  1. Install Prettier extension
    Image from Gyazo
  2. Create a .vscode/settings.json file at the root of the cgap-portal repo and add this to it:
{
    "[javascript]": {
        "editor.formatOnSave": false
    },
    "editor.codeActionsOnSave": {
        "source.fixAll": true
    },
    "editor.defaultFormatter": "esbenp.prettier-vscode"
}
  1. Edit a file's formatting (try changing indentation) and prettier should re-organize it on save.

Note: you can also make these changes globally by editing settings via the vscode GUI.

If you use a different IDE/code editor, let me know and I can see about testing with that editor, too.

Merging notes:
Currently looking into a bunch of different ways to merge this without destroying our git history:

If you have opinions on methods for doing this, or other thoughts, let me know.

@Bianca-Morris Bianca-Morris marked this pull request as ready for review April 12, 2023 13:24
@Bianca-Morris Bianca-Morris changed the title Bm prettier config Install & Configure Prettier Apr 13, 2023
@Bianca-Morris Bianca-Morris requested review from crfmc and removed request for utku-ozturk and dmichaels-harvard July 10, 2023 15:31
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants