fix: backward-compat for ESM etherpad#146
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 QodoRemove trailing slash for ESM etherpad compatibility
WalkthroughsDescription• Remove trailing slash from eejs require path • Ensures compatibility with ESM etherpad exports • Maintains backward compatibility with current CJS • Bump version to 0.4.111 Diagramflowchart LR
A["require path with trailing slash"] -- "remove trailing slash" --> B["require path without slash"]
B -- "compatible with" --> C["ESM etherpad"]
B -- "compatible with" --> D["CJS etherpad"]
File Changes1. index.js
|
Code Review by Qodo
1. No regression test for eejs require
|
| const settings = settingsModule.default || settingsModule; | ||
| const {template, rawHTML} = 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. No regression test for eejs require 📘 Rule violation ☼ Reliability
This PR changes module resolution behavior in index.js (bug fix) but does not add or update any automated test that would fail before the change and pass after. This increases the risk of the ESM compatibility issue being reintroduced without detection.
Agent Prompt
## Issue description
A bug fix was made to remove the trailing slash from `require('ep_etherpad-lite/node/eejs')`, but there is no accompanying regression test to prevent the issue from coming back.
## Issue Context
The change is intended to be backward-compatible and to avoid failures under Node's strict ESM exports map resolution. Compliance requires adding or updating an automated test in the same commit that would fail before this change and pass after.
## Fix Focus Areas
- index.js[6-6]
- static/tests/backend/specs/esm_compat.spec.ts[1-120]
ⓘ 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.