Repository navigation
chore: migrate to @nextcloud/eslint-config 9 - #99
Merged
Merged
Conversation
oleksandr-nc
force-pushed
the
chore/eslint-config-9
branch
from
September 28, 2026 19:01
d47938b to
2f78620
Compare
Its ESLint 10 reads a flat config only, so .eslintrc.cjs becomes eslint.config.js. The import rules are gone from the shared config, so 'import/extensions' goes with them, as do the babel parser options and the appVersion global the sources do not use, which the shared config declares anyway. 'no-console' was built into the old config and is now spelled out, for the app sources only: version 9 allows it in tests on purpose. The sources follow what the new rules ask for: sorted imports, blank lines between multi line component options, and camel cased attributes and events in templates. The unused response argument of a promise callback is gone, and one rule asks for the ellipsis character in a translatable string, so 'Searching...' became 'Searching…' and the picker test follows. eslint.config.js has no place in the released archive, and the .eslintrc.js the ignore list named never existed here. Signed-off-by: Oleksander Piskun <oleksandr2088@icloud.com> The lint scripts passed --ext, which ESLint 10 ignores, and the change filter of the build did not watch the config file the build now reads. Signed-off-by: Oleksander Piskun <oleksandr2088@icloud.com>
oleksandr-nc
force-pushed
the
chore/eslint-config-9
branch
from
September 28, 2026 20:48
2f78620 to
aaf1e82
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
@nextcloud/eslint-config9 brings ESLint 10, which reads a flat config only and ignores.eslintrc.*.The config
.eslintrcbecomes a flat config, spreadingrecommendedJavascriptbecause the components here are plain JavaScript. The overrides that still exist are kept,no-consoleis spelled out because the old config had it built in, and three things are dropped:import/extensions, since the shared config no longer ships eslint-plugin-import, the babel parser options, and theappVersionglobal the sources never use.The sources
What the new rules ask for, which
eslint --fixapplied: imports sorted, blank lines between multi line component options, attributes and events camel cased in templates. By hand: the unusedresponseargument of a promise callback is gone.One of those rules asks for the ellipsis character in a translatable string, so Searching... became Searching… and loses its existing translations until Transifex catches up. The picker test follows the new spelling.
The rules of this app apply to its own sources, so the exemption version 9 grants test files survives, and
eslint.config.jsis excluded from the released archive, where the.eslintrc.jsof the ignore list never existed.