fix: path resolution problems in Windows#69
Conversation
Agent-Logs-Url: https://github.com/RocketChat/Rocket.Chat.Apps-compiler/sessions/26cb786c-abca-4604-a428-aa2bd30172ea Co-authored-by: d-gubert <1810309+d-gubert@users.noreply.github.com>
|
|
There was a problem hiding this comment.
Pull request overview
This PR aims to extend CI coverage to Windows and fixes several path-handling issues (primarily path separator normalization) so compilation/bundling/packaging behavior is consistent across operating systems.
Changes:
- Split CI into a Linux-only “Lint & Typecheck” job and a matrix “Test” job running on both Ubuntu and Windows.
- Normalize internal file/module paths to POSIX-style (
/) across compiler, validator, bundler, packager, and source-walking code paths. - Update
package-lock.jsonas part of dependency metadata adjustments.
Reviewed changes
Copilot reviewed 8 out of 9 changed files in this pull request and generated 4 comments.
Show a summary per file
| File | Description |
|---|---|
src/packager/AppPackager.ts |
Normalize zip entry paths to forward slashes for Windows-compatible packaging. |
src/misc/Utilities.ts |
Use path.posix normalization for custom-require module path handling. |
src/compiler/TypescriptCompiler.ts |
Normalize filenames/host lookups using POSIX paths and separator replacement for Windows compatibility. |
src/compiler/TscBasedCompiler.ts |
Ensure emitted file keys use POSIX joining for stable map keys across OSes. |
src/compiler/getAppSource.ts |
Normalize relative file names to POSIX separators when building the in-memory file map. |
src/compiler/AppsEngineValidator.ts |
Switch relative require resolution to POSIX join/normalize for consistency. |
src/bundler/esbuild.ts |
Simplify and standardize relative module path normalization using POSIX path operations. |
package-lock.json |
Lockfile metadata updates (engines/peer flags changes). |
.github/workflows/ci.yml |
Add Windows to test matrix; separate tests from lint/typecheck. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
No description provided.