fix: backward-compat for ESM etherpad#99
Conversation
- Drop trailing slash on ep_etherpad-lite/node/eejs/ require Backward-compatible with current CJS etherpad release; also compatible with the upcoming ESM etherpad branch which has stricter exports map resolution.
Qodo reviews are paused for this user.Troubleshooting steps vary by plan Learn more → On a Teams plan? Using GitHub Enterprise Server, GitLab Self-Managed, or Bitbucket Data Center? |
Review Summary by QodoFix ESM compatibility by removing trailing slash
WalkthroughsDescription• Remove trailing slash from eejs require path • Ensures compatibility with upcoming ESM etherpad • Maintains backward compatibility with current CJS • Bump version to 0.1.8 Diagramflowchart LR
A["require path with trailing slash"] -- "remove trailing slash" --> B["require path without trailing slash"]
B -- "compatible with" --> C["ESM etherpad"]
B -- "compatible with" --> D["CJS etherpad"]
File Changes1. index.js
|
Code Review by Qodo
1. Bugfix lacks regression test
|
| const {template} = require('ep_plugin_helpers'); | ||
|
|
||
| const eejs = require('ep_etherpad-lite/node/eejs/'); | ||
| const eejs = require('ep_etherpad-lite/node/eejs'); |
There was a problem hiding this comment.
1. Bugfix lacks regression test 📘 Rule violation ☼ Reliability
Standing rules for agent edits
This PR changes runtime behavior (ESM compatibility) but does not add or update any regression test in the same commit. Without a regression test, the trailing-slash resolution issue could be reintroduced unnoticed.
Agent Prompt
## Issue description
A bug fix was made (changing the `eejs` require path to remove the trailing slash) but no regression test was added/updated alongside the fix.
## Issue Context
The compliance rule requires every bug fix to include a regression test in the same commit/PR so the issue is verifiable and cannot silently regress.
## Fix Focus Areas
- index.js[5-5]
- static/tests/frontend-new/specs/smoke.spec.ts[1-13]
ⓘ Copy this prompt and use it to remediate the issue with your preferred AI generation tools
This PR makes the plugin backward-compatible with the upcoming ESM etherpad branch (ether/etherpad#7605).
Change: Remove trailing slash from
require("ep_etherpad-lite/node/eejs/")→require("ep_etherpad-lite/node/eejs")The trailing-slash form breaks under Node's strict ESM exports map resolution. This change is backward-compatible with the current CJS etherpad release.