Enable comma and object-property formatting rules
Maintainers usually reply within 1 day
Assessment
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Newbie friendliness
- 76/100
- Issue type
- Refactor
- Clarity
- Clearly specified
- Activity status
- Active
- Tech stack
- eslint, javascript, typescript
Research direction
Start with eslint.config.mjs and remove only the two specified rule entries from libresign/disabled-during-migration. Run the provided ESLint dry-run command to inspect layout fixes, then apply them and review the full diff for changes limited to those rules. Finish by running the listed validation commands and relevant Vitest tests; done means both rules are enabled and no applicable violations or unrelated changes remain.
Written by the indexing model from the issue text.
Description
Goal
Enable these two ESLint rules:
@stylistic/comma-dangle@stylistic/quote-props
The initial audit measured 72 violations; a scoped, layout-only autofix changed 25 source/test files. Recheck the counts against the current main.
Implementation steps
-
Create a branch from the latest
main. -
Remove only the
'off'entries for these rules fromlibresign/disabled-during-migrationineslint.config.mjs. -
Preview changes without editing files:
npx eslint 'src/**/*.{js,ts,vue}' 'playwright/**/*.ts' \ --fix-dry-run --fix-type layout --format json \ > /tmp/eslint-preview.json -
Apply layout fixes:
npx eslint 'src/**/*.{js,ts,vue}' 'playwright/**/*.ts' \ --fix --fix-type layout -
Inspect the full
git diff. Remove any modifications not required by these two rules. Do not apply a repository-wide unrestricted--fix. -
Submit one focused PR with valid DCO sign-offs.
Important constraints
- Do not rename API fields, object keys, or payload properties.
- Do not change values, test assertions, imports, or application behavior.
- Quoted object keys may become unquoted only if the property name is identical.
- Do not modify translation strings, fixtures, generated files, or dependencies.
- Do not introduce lint suppressions.
Validation
git diff --check
npm run lint
npm run ts:check
npm run build
Run relevant Vitest tests for affected code or tests, and include command results in the PR.
Acceptance criteria
- Both rules are enabled at the default Nextcloud preset severities.
- No violations of either rule remain in applicable source/test files.
- Object property names and values, runtime behavior, and test assertions are preserved.
- The diff contains no unrelated formatting changes.
- All required checks and relevant tests pass.
- One focused PR addresses this issue with valid DCO.
If the autofix would change behavior, leave that change out and report the blocker rather than guessing.
Good first issue
This is a self-contained task using ESLint's existing autofix workflow. Contributors can follow the commands without needing to redesign LibreSign functionality, but must review the proposed changes.
Interested contributors are welcome to comment for guidance or to confirm the current scope. A valid contribution does not require advance approval.
Additional context
Questions and community support: https://t.me/LibreSign
- Dominant language
- PHP
- Stars
- 835
- Forks
- 167
- Avg merge
- 1d 4h
- Merged PRs (30d)
- 388
Getting set up
Starts the project's dev container in your browser, under your own GitHub account.
- No Dockerfile or Docker Compose file
- Has a pull request template
- Read the contributing guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
More from LibreSign/libresign
-
Difficulty 1/5 Under an hour Newbie friendliness 83/100
LibreSign/libresign#9007 · 1 comment · 1 reaction ·
Maintainers usually reply within 1 day
-
Define LibreSign Behat taxonomy and reusable context conventionsPossibly taken A pull request linked to this issue is open or already merged. Openbackend enhancement php
Difficulty 2/5 1-3 hours Newbie friendliness 78/100
Maintainers usually reply within 1 day
-
good first issue
Difficulty 2/5 1-3 hours Newbie friendliness 78/100
LibreSign/libresign#8284 · 5 comments ·
Maintainers usually reply within 1 day
-
backend php
Difficulty 4/5 3-5 days Newbie friendliness 53/100
Maintainers usually reply within 1 day
-
backend php
Difficulty 5/5 Over a week Newbie friendliness 25/100
Maintainers usually reply within 1 day
All issues in LibreSign/libresign
Similar issues
-
Difficulty 2/5 1-3 hours Newbie friendliness 71/100
Automattic/blocks-engine#3438 ·
Maintainers usually reply within 1 day
-
Difficulty 2/5 1-3 hours Newbie friendliness 65/100
getgrav/grav-plugin-api#66 ·
-
Document Laravel 12/13 attributes that work in modules (UsePolicy, ObservedBy, UseFactory, Bind)Openenhancement
Difficulty 2/5 1-3 hours Newbie friendliness 74/100
nWidart/laravel-modules#2236 ·
Maintainers usually reply within 1 day
-
Difficulty 1/5 Under an hour Newbie friendliness 92/100
Maintainers usually reply within 1 day
-
frontend good first issue healthcare-review
Difficulty 2/5 1-3 hours Newbie friendliness 83/100
AfyaLinkAfrica/afyalink-web#25 ·
Maintainers usually reply within 1 day