-
Notifications
You must be signed in to change notification settings - Fork 460
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
Adding ESLint as formatter step #1453
Conversation
we intend them to timeout, but please fail quicker.
to a common base class
lib/src/main/java/com/diffplug/spotless/npm/EslintFormatterStep.java
Outdated
Show resolved
Hide resolved
603da1f
to
cc3047c
Compare
@nedtwigg I have no idea why circleci fails to run "assemble_and_test" - anything wrong on my end? |
cc3047c
to
3540242
Compare
Never mind, now it works...! |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
WOW! This PR is HUGE and GREAT. Just a teensy bit of discussion and I'm ready to merge!
lib/src/main/java/com/diffplug/spotless/npm/EslintFormatterStep.java
Outdated
Show resolved
Hide resolved
lib/src/main/java/com/diffplug/spotless/npm/EslintFormatterStep.java
Outdated
Show resolved
Hide resolved
…ure/eslint-npm # Conflicts: # CHANGES.md # plugin-gradle/CHANGES.md # plugin-maven/CHANGES.md # plugin-maven/README.md
0cacf46
to
d4d91cb
Compare
Published in |
…2.0 (mulk/mulkcms2!16) This MR contains the following updates: | Package | Type | Update | Change | |---|---|---|---| | [com.diffplug.spotless:spotless-maven-plugin](https://github.com/diffplug/spotless) | build | minor | `2.31.0` -> `2.32.0` | --- ### Release Notes <details> <summary>diffplug/spotless</summary> ### [`v2.32.0`](https://github.com/diffplug/spotless/blob/HEAD/CHANGES.md#​2320---2023-01-13) ##### Added - Add option `editorConfigFile` for `ktLint` [#​142](diffplug/spotless#142) - **POTENTIALLY BREAKING** `ktlint` step now modifies license headers. Make sure to put `licenseHeader` *after* `ktlint`. - Added `skipLinesMatching` option to `licenseHeader` to support formats where license header cannot be immediately added to the top of the file (e.g. xml, sh). ([#​1441](diffplug/spotless#1441)). - Add YAML support through Jackson ([#​1478](diffplug/spotless#1478)) - Added support for npm-based [ESLint](https://eslint.org/)-formatter for javascript and typescript ([#​1453](diffplug/spotless#1453)) - Better suggested messages when user's default is set by JVM limitation. ([#​995](diffplug/spotless#995)) ##### Fixed - Support `ktlint` 0.48+ new rule disabling syntax ([#​1456](diffplug/spotless#1456)) fixes ([#​1444](diffplug/spotless#1444)) - Fix subgroups leading catch all matcher. ##### Changes - Bump default version for `prettier` from `2.0.5` to `2.8.1` ([#​1453](diffplug/spotless#1453)) - Bump the dev version of Gradle from `7.5.1` to `7.6` ([#​1409](diffplug/spotless#1409)) - We also removed the no-longer-required dependency `org.codehaus.groovy:groovy-xml` - Breaking changes to Spotless' internal testing infrastructure `testlib` ([#​1443](diffplug/spotless#1443)) - `ResourceHarness` no longer has any duplicated functionality which was also present in `StepHarness` - `StepHarness` now operates on `Formatter` rather than a `FormatterStep` - `StepHarnessWithFile` now takes a `ResourceHarness` in its constructor to handle the file manipulation parts - Standardized that we test exception *messages*, not types, which will ease the transition to linting later on - Bump default `ktlint` version to latest `0.47.1` -> `0.48.1` ([#​1456](diffplug/spotless#1456)) - Switch our publishing infrastructure from CircleCI to GitHub Actions ([#​1462](diffplug/spotless#1462)). - Help wanted for moving our tests too ([#​1472](diffplug/spotless#1472)) </details> --- ### Configuration 📅 **Schedule**: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined). 🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied. ♻ **Rebasing**: Whenever MR is behind base branch, or you tick the rebase/retry checkbox. 🔕 **Ignore**: Close this MR and you won't be reminded about this update again. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this MR, check this box --- This MR has been generated by [Renovate Bot](https://github.com/renovatebot/renovate). <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNC4yNC4wIiwidXBkYXRlZEluVmVyIjoiMzQuMjQuMCJ9-->
This adds ESLint as an npm-based formatter to spotless-gradle and spotless-maven.
ESLint is the defacto-standard for linting javascript and typescript files - and it can also be used to automatically fix lots of linting errors - hence making it suitable to be used as a formatter.
TBD: ESLint would be a very likely candidate to be used in #1097 in my opinion.
👉 At the same time default prettier version is bumped to latest version, since I've been testing and refactoring parts of the npm-based code parts.