From 26c331b3b7e1a45091904fd1a6a875e16c9b777f Mon Sep 17 00:00:00 2001 From: Eoghan Murray Date: Mon, 13 May 2024 11:53:08 +0100 Subject: [PATCH] yarn format - prettier improvements & add .editorconfig (#1471) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Some dev improvements: * Add .editorconfig config file https://editorconfig.org/ * move the singleQuote spec into .editorconfig and add old .changesets/*.md to .prettierignore so that we don't incorrectly reformat new changeset files to single quote from the double quote which they can be autogenerated with in github * .gitignore Ignore emacs chaff files * Add `yarn format:head` a convenience command to run prettier against just those files in the head commit * Some mention of `yarn format` in the docs * Fix some test html closing tags; authoring mistakes, rather than deliberately malformed html — picked up by an explicit `yarn prettier --write '**/*.html'` --- .changeset/format-head-prettier.md | 2 + .editorconfig | 14 +++ .gitignore | 3 + .prettierignore | 107 ++++++++++++++++++ .prettierrc | 1 - CONTRIBUTING.md | 1 + docs/development/coding-style.md | 4 +- package.json | 1 + .../__snapshots__/integration.test.ts.snap | 41 ++++--- packages/rrweb/test/html/link.html | 2 +- packages/rrweb/test/html/shadow-dom.html | 1 - 11 files changed, 155 insertions(+), 22 deletions(-) create mode 100644 .changeset/format-head-prettier.md create mode 100644 .editorconfig create mode 100644 .prettierignore diff --git a/.changeset/format-head-prettier.md b/.changeset/format-head-prettier.md new file mode 100644 index 0000000000..a845151cc8 --- /dev/null +++ b/.changeset/format-head-prettier.md @@ -0,0 +1,2 @@ +--- +--- diff --git a/.editorconfig b/.editorconfig new file mode 100644 index 0000000000..098f1c28c7 --- /dev/null +++ b/.editorconfig @@ -0,0 +1,14 @@ +root = true + +# initialized from https://prettier.io/docs/en/configuration.html#editorconfig +[*] +charset = utf-8 +insert_final_newline = true +end_of_line = lf +indent_style = space +indent_size = 2 +max_line_length = 80 +quote_type = single + +[.changeset/*.md] +quote_type = double diff --git a/.gitignore b/.gitignore index 02a1c32fa7..97ae63a201 100644 --- a/.gitignore +++ b/.gitignore @@ -18,6 +18,9 @@ dist .turbo +# emacs working files end in a tilde +*~ + # `.yarn/install-state.gz` is an optimization file that you shouldn't ever have to commit. # It simply stores the exact state of your project so that the next commands can boot without having to resolve your workspaces all over again. .yarn/install-state.gz \ No newline at end of file diff --git a/.prettierignore b/.prettierignore new file mode 100644 index 0000000000..d380c1457f --- /dev/null +++ b/.prettierignore @@ -0,0 +1,107 @@ +# list of old changeset files that were mutated to use single quotes by a previous version of prettier: +.changeset/attribute-text-reductions.md +.changeset/avoid-costly-createlement.md +.changeset/brave-numbers-joke.md +.changeset/breezy-cats-heal.md +.changeset/breezy-mice-breathe.md +.changeset/calm-bulldogs-speak.md +.changeset/calm-oranges-sin.md +.changeset/chatty-cherries-train.md +.changeset/clean-plants-play.md +.changeset/clean-shrimps-lay.md +.changeset/cold-eyes-hunt.md +.changeset/cold-hounds-teach.md +.changeset/controller-finish-flag.md +.changeset/cool-grapes-hug.md +.changeset/cuddly-readers-warn.md +.changeset/curvy-apples-lay.md +.changeset/curvy-balloons-brake.md +.changeset/date-now-guard.md +.changeset/dirty-rules-dress.md +.changeset/eight-terms-hunt.md +.changeset/empty-bikes-cheer.md +.changeset/event-single-wrap.md +.changeset/fair-dragons-greet.md +.changeset/fast-chefs-smell.md +.changeset/few-rockets-travel.md +.changeset/few-turkeys-reflect.md +.changeset/five-peas-lay.md +.changeset/fluffy-planes-retire.md +.changeset/forty-elephants-attack.md +.changeset/fresh-cars-impress.md +.changeset/fresh-spoons-drive.md +.changeset/friendly-numbers-leave.md +.changeset/gold-apples-joke.md +.changeset/gold-terms-look.md +.changeset/grumpy-ways-own.md +.changeset/hip-worms-relax.md +.changeset/hungry-dodos-taste.md +.changeset/itchy-dryers-double.md +.changeset/khaki-dots-bathe.md +.changeset/large-ants-prove.md +.changeset/lazy-squids-draw.md +.changeset/lazy-toes-confess.md +.changeset/lemon-lamps-switch.md +.changeset/light-fireants-exercise.md +.changeset/little-radios-thank.md +.changeset/little-suits-leave.md +.changeset/loud-seals-raise.md +.changeset/lovely-pears-cross.md +.changeset/lovely-students-boil.md +.changeset/mean-tips-impress.md +.changeset/mighty-ads-worry.md +.changeset/mighty-bulldogs-begin.md +.changeset/mighty-frogs-sparkle.md +.changeset/modern-doors-watch.md +.changeset/moody-dots-refuse.md +.changeset/nervous-buses-pump.md +.changeset/nervous-kiwis-nail.md +.changeset/nervous-mirrors-perform.md +.changeset/nervous-poets-grin.md +.changeset/nervous-tables-travel.md +.changeset/new-snakes-call.md +.changeset/nice-pugs-reply.md +.changeset/old-dryers-hide.md +.changeset/polite-olives-wave.md +.changeset/pretty-plums-rescue.md +.changeset/pretty-schools-remember.md +.changeset/proud-experts-jam.md +.changeset/rare-adults-sneeze.md +.changeset/README.md +.changeset/real-masks-explode.md +.changeset/real-trains-switch.md +.changeset/rich-crews-protect.md +.changeset/rich-dots-lay.md +.changeset/rich-jars-remember.md +.changeset/rotten-spies-enjoy.md +.changeset/serious-ants-juggle.md +.changeset/silver-pots-sit.md +.changeset/silver-windows-float.md +.changeset/sixty-impalas-laugh.md +.changeset/small-olives-arrive.md +.changeset/smart-ears-refuse.md +.changeset/smart-geckos-cover.md +.changeset/smooth-papayas-boil.md +.changeset/smooth-poems-bake.md +.changeset/spotty-bees-destroy.md +.changeset/stupid-ghosts-help.md +.changeset/swift-dancers-rest.md +.changeset/swift-peas-film.md +.changeset/thin-vans-applaud.md +.changeset/thirty-baboons-punch.md +.changeset/three-baboons-bow.md +.changeset/tidy-swans-repair.md +.changeset/tidy-yaks-joke.md +.changeset/tiny-buckets-love.md +.changeset/tiny-candles-whisper.md +.changeset/tiny-chairs-build.md +.changeset/tricky-panthers-guess.md +.changeset/twenty-goats-kneel.md +.changeset/twenty-lies-switch.md +.changeset/twenty-planets-repeat.md +.changeset/violet-melons-itch.md +.changeset/violet-zebras-cry.md +.changeset/wise-spiders-jog.md +.changeset/witty-kids-talk.md +.changeset/yellow-mails-cheat.md +.changeset/young-timers-grow.md diff --git a/.prettierrc b/.prettierrc index a20502b7f0..bf357fbbc0 100644 --- a/.prettierrc +++ b/.prettierrc @@ -1,4 +1,3 @@ { - "singleQuote": true, "trailingComma": "all" } diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 991d5b80ee..e6c87ea457 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -31,6 +31,7 @@ clear and has sufficient instructions to be able to reproduce the issue. - Run a cobrowsing/mirroring session locally: `yarn live-stream` - Test: `yarn test` or `yarn test:watch` - Lint: `yarn lint` +- Rewrite files with prettier: `yarn format` or `yarn format:head` ## Coding style diff --git a/docs/development/coding-style.md b/docs/development/coding-style.md index d2f7598833..26227a87ea 100644 --- a/docs/development/coding-style.md +++ b/docs/development/coding-style.md @@ -1,6 +1,6 @@ # Coding Style -These are the style guidelines for coding in Electron. +These have been adapted from the style guidelines for coding in Electron. You can run `yarn lint` to show any style issues detected by `eslint`. @@ -9,6 +9,8 @@ You can run `yarn lint` to show any style issues detected by `eslint`. - End files with a newline. - Using a plain `return` when returning explicitly at the end of a function. - Not `return null`, `return undefined`, `null` or `undefined` +- run `yarn format` to rewrite all files in the standard format +- run `yarn format:head` to rewrite files from your last commit ## Documentation diff --git a/package.json b/package.json index e210dda8ce..702137ea58 100644 --- a/package.json +++ b/package.json @@ -41,6 +41,7 @@ "test:watch": "yarn turbo run test:watch", "test:update": "yarn turbo run test:update", "format": "yarn prettier --write '**/*.{ts,md}'", + "format:head": "git diff --name-only HEAD^ |grep '\\.ts$\\|\\.md$' |xargs yarn prettier --write", "dev": "yarn turbo run dev", "repl": "cd packages/rrweb && npm run repl", "live-stream": "cd packages/rrweb && yarn live-stream", diff --git a/packages/rrweb/test/__snapshots__/integration.test.ts.snap b/packages/rrweb/test/__snapshots__/integration.test.ts.snap index ae1aa7bf54..f349bd2669 100644 --- a/packages/rrweb/test/__snapshots__/integration.test.ts.snap +++ b/packages/rrweb/test/__snapshots__/integration.test.ts.snap @@ -1716,29 +1716,34 @@ exports[`record integration tests can record clicks 1`] = ` \\"childNodes\\": [ { \\"type\\": 3, - \\"textContent\\": \\"link\\\\n \\\\n \\", + \\"textContent\\": \\"link\\", \\"id\\": 22 - }, - { - \\"type\\": 2, - \\"tagName\\": \\"script\\", - \\"attributes\\": {}, - \\"childNodes\\": [ - { - \\"type\\": 3, - \\"textContent\\": \\"SCRIPT_PLACEHOLDER\\", - \\"id\\": 24 - } - ], - \\"id\\": 23 - }, + } + ], + \\"id\\": 21 + }, + { + \\"type\\": 3, + \\"textContent\\": \\"\\\\n \\\\n \\", + \\"id\\": 23 + }, + { + \\"type\\": 2, + \\"tagName\\": \\"script\\", + \\"attributes\\": {}, + \\"childNodes\\": [ { \\"type\\": 3, - \\"textContent\\": \\"\\\\n \\\\n \\\\n\\\\n\\", + \\"textContent\\": \\"SCRIPT_PLACEHOLDER\\", \\"id\\": 25 } ], - \\"id\\": 21 + \\"id\\": 24 + }, + { + \\"type\\": 3, + \\"textContent\\": \\"\\\\n \\\\n \\\\n\\\\n\\", + \\"id\\": 26 } ], \\"id\\": 16 @@ -15688,7 +15693,7 @@ exports[`record integration tests should record shadow DOM 1`] = ` }, { \\"type\\": 3, - \\"textContent\\": \\"\\\\n \\\\n \\\\n \\", + \\"textContent\\": \\"\\\\n \\\\n \\", \\"id\\": 39 }, { diff --git a/packages/rrweb/test/html/link.html b/packages/rrweb/test/html/link.html index 0d7b13739d..3db0817ede 100644 --- a/packages/rrweb/test/html/link.html +++ b/packages/rrweb/test/html/link.html @@ -9,6 +9,6 @@ not link - link + link diff --git a/packages/rrweb/test/html/shadow-dom.html b/packages/rrweb/test/html/shadow-dom.html index bf4c683798..fb04aea243 100644 --- a/packages/rrweb/test/html/shadow-dom.html +++ b/packages/rrweb/test/html/shadow-dom.html @@ -78,6 +78,5 @@ }); } -