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

ESLint Plugin: Add the recommended Prettier config to enforce WP coding styles #21602

Merged
merged 3 commits into from
Apr 15, 2020

Conversation

gziolo
Copy link
Member

@gziolo gziolo commented Apr 15, 2020

Description

Fixes #20509. An alternative to #21503.

Hi, I have recently upgraded @wordpress/eslint-plugin to version 4.0.0. After the update, eslint is telling me to remove spaces from inside parens, and replace ' with ". AFAIK this goes against WPC

This PR always uses the recommended Prettier config to enforce WordPress coding styles but it respects the Prettier config overrides defined by projects.

It turns out that there is usePrettierrc option in prettier/prettier rule (https://github.com/prettier/eslint-plugin-prettier#options):

Enables loading of the Prettier configuration file, (default: true). May be useful if you are using multiple tools that conflict with each other, or do not wish to mix your ESLint settings with your Prettier configuration.

This way we could remove the config in @wordpress/scripts for Prettier and use @wordpress/prettier-config in all places instead.

How has this been tested?

It's also possible to test the changes applied to the @wordpress/eslint-config by removing .prettierrc.js file in the root of the project and executing:
npm run lint-js

Checklist:

  • My code is tested.
  • My code follows the WordPress code style.
  • My code has proper inline documentation.
  • I've included developer documentation if appropriate.

@gziolo gziolo self-assigned this Apr 15, 2020
@gziolo gziolo changed the title ESLint Plugin: Add the recommended Prettier config to enforce WP codign ESLint Plugin: Add the recommended Prettier config to enforce WP coding styles Apr 15, 2020
@gziolo gziolo added [Tool] ESLint plugin /packages/eslint-plugin [Tool] WP Scripts /packages/scripts [Type] Bug An existing feature does not function as intended labels Apr 15, 2020
@github-actions
Copy link

github-actions bot commented Apr 15, 2020

Size Change: 0 B

Total Size: 839 kB

ℹ️ View Unchanged
Filename Size Change
build/a11y/index.js 1.02 kB 0 B
build/annotations/index.js 3.62 kB 0 B
build/api-fetch/index.js 4.01 kB 0 B
build/autop/index.js 2.82 kB 0 B
build/blob/index.js 620 B 0 B
build/block-directory/index.js 6.24 kB 0 B
build/block-directory/style-rtl.css 760 B 0 B
build/block-directory/style.css 760 B 0 B
build/block-editor/index.js 105 kB 0 B
build/block-editor/style-rtl.css 10.2 kB 0 B
build/block-editor/style.css 10.2 kB 0 B
build/block-library/editor-rtl.css 7.1 kB 0 B
build/block-library/editor.css 7.09 kB 0 B
build/block-library/index.js 112 kB 0 B
build/block-library/style-rtl.css 7.14 kB 0 B
build/block-library/style.css 7.15 kB 0 B
build/block-library/theme-rtl.css 683 B 0 B
build/block-library/theme.css 685 B 0 B
build/block-serialization-default-parser/index.js 1.88 kB 0 B
build/block-serialization-spec-parser/index.js 3.1 kB 0 B
build/blocks/index.js 57.7 kB 0 B
build/components/index.js 198 kB 0 B
build/components/style-rtl.css 16.6 kB 0 B
build/components/style.css 16.6 kB 0 B
build/compose/index.js 6.66 kB 0 B
build/core-data/index.js 11.1 kB 0 B
build/data-controls/index.js 1.25 kB 0 B
build/data/index.js 8.43 kB 0 B
build/date/index.js 5.47 kB 0 B
build/deprecated/index.js 772 B 0 B
build/dom-ready/index.js 569 B 0 B
build/dom/index.js 3.1 kB 0 B
build/edit-navigation/index.js 3.1 kB 0 B
build/edit-navigation/style-rtl.css 279 B 0 B
build/edit-navigation/style.css 280 B 0 B
build/edit-post/index.js 27.8 kB 0 B
build/edit-post/style-rtl.css 12.3 kB 0 B
build/edit-post/style.css 12.3 kB 0 B
build/edit-site/index.js 10.4 kB 0 B
build/edit-site/style-rtl.css 5.02 kB 0 B
build/edit-site/style.css 5.02 kB 0 B
build/edit-widgets/index.js 7.53 kB 0 B
build/edit-widgets/style-rtl.css 4.65 kB 0 B
build/edit-widgets/style.css 4.64 kB 0 B
build/editor/editor-styles-rtl.css 428 B 0 B
build/editor/editor-styles.css 431 B 0 B
build/editor/index.js 43.3 kB 0 B
build/editor/style-rtl.css 3.48 kB 0 B
build/editor/style.css 3.47 kB 0 B
build/element/index.js 4.65 kB 0 B
build/escape-html/index.js 733 B 0 B
build/format-library/index.js 7.32 kB 0 B
build/format-library/style-rtl.css 502 B 0 B
build/format-library/style.css 502 B 0 B
build/hooks/index.js 2.13 kB 0 B
build/html-entities/index.js 622 B 0 B
build/i18n/index.js 3.56 kB 0 B
build/is-shallow-equal/index.js 710 B 0 B
build/keyboard-shortcuts/index.js 2.51 kB 0 B
build/keycodes/index.js 1.91 kB 0 B
build/list-reusable-blocks/index.js 3.12 kB 0 B
build/list-reusable-blocks/style-rtl.css 226 B 0 B
build/list-reusable-blocks/style.css 226 B 0 B
build/media-utils/index.js 5.28 kB 0 B
build/notices/index.js 1.79 kB 0 B
build/nux/index.js 3.4 kB 0 B
build/nux/style-rtl.css 616 B 0 B
build/nux/style.css 613 B 0 B
build/plugins/index.js 2.67 kB 0 B
build/primitives/index.js 1.49 kB 0 B
build/priority-queue/index.js 788 B 0 B
build/redux-routine/index.js 2.84 kB 0 B
build/rich-text/index.js 14.8 kB 0 B
build/server-side-render/index.js 2.67 kB 0 B
build/shortcode/index.js 1.7 kB 0 B
build/token-list/index.js 1.28 kB 0 B
build/url/index.js 4.01 kB 0 B
build/viewport/index.js 1.84 kB 0 B
build/warning/index.js 1.14 kB 0 B
build/wordcount/index.js 1.17 kB 0 B

compressed-size-action

Copy link
Member

@aduth aduth left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Could this be considered a breaking change? i.e. Any change for developers who had come to rely on the previous default behavior?

packages/eslint-plugin/CHANGELOG.md Outdated Show resolved Hide resolved
@marekdedic
Copy link
Contributor

Well, this will make code that was previously marked as correct now be marked as incorrect. But in some sense, it's a move back to the behaviour of 3.4.1 from the changes introduced in 4.0.0... (not 100%)

@aduth
Copy link
Member

aduth commented Apr 15, 2020

I guess it can be fair if it falls under the realm of "Behavior which was never intended in the first place", to consider it as a bug fix.

@marekdedic
Copy link
Contributor

Yes, #20509 is marked as a bug, so this would be a bugfix, therefore not breaking

@gziolo
Copy link
Member Author

gziolo commented Apr 15, 2020

I had it as a breaking change first, but it was never intended to allow the default Prettier coding style so bugfix seems reasonable. I'm doing a hotfix release soon, let's include this one as well, so most of the projects will get it together with breaking changes :)

@gziolo gziolo merged commit bf1cfb7 into master Apr 15, 2020
@gziolo gziolo deleted the update/prettier-config-integration branch April 15, 2020 15:21
@github-actions github-actions bot added this to the Gutenberg 8.0 milestone Apr 15, 2020
gziolo added a commit that referenced this pull request Apr 15, 2020
…ng styles (#21602)

* ESLint Config: Add the recommended Prettier config to enforce WordPress coding styles

* Update CHANGELOG.md
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
[Tool] ESLint plugin /packages/eslint-plugin [Tool] WP Scripts /packages/scripts [Type] Bug An existing feature does not function as intended
Projects
None yet
Development

Successfully merging this pull request may close these issues.

ESLint plugin: Use the default WordPress Prettier config when no config found
3 participants