mirror of
https://github.com/wekan/wekan.git
synced 2026-11-05 15:45:01 -05:00
The Mocha (server-side) test bundle crashed at boot with 0 tests run because yargs and its ESM dependencies are dragged into the Meteor test server bundle, where Meteor 3 wraps every module in a CommonJS function and their native-ESM constructs (import.meta, `const __dirname`, `const require = createRequire(...)`) are illegal and crash the bundle before any test runs. Two gaps remained in scripts/patch-yargs-dirname.cjs: - The `const require = createRequire(...)` removal (and its trigger) only matched the direct-call form. yargs-parser/build/lib/index.js uses the guarded ternary `const require = createRequire ? createRequire(import.meta.url) : undefined;`, which slipped through and crashed at boot with "Identifier 'require' has already been declared". Generalized the match to line-wise `const require = ...createRequire...;`. - The scan only walked node_modules/yargs, so yargs-parser (the actual offender) was never patched. Broadened the scan to yargs and its ESM dependency packages. Also register the three server test files that were present but missing from the curated server/lib/tests/index.js (they never ran): the MimeBleed file-validation bypass regression, the import/export privacy settings, and the impersonation report query. Server suite now boots and runs (411 passing). CHANGELOG Upcoming documents the bug and the two-stage debugging journey.