-
Notifications
You must be signed in to change notification settings - Fork 8
Description
Description
When running the napi ui command in a project, the /api/scan endpoint fails with an Invalid file path error on Windows. The issue occurs because the entrypoint path from the .napirc configuration file is passed as a Windows-style path (e.g., C:\\Users\\emmanuel\\...) to the endpoint.
This bug prevents the napi ui visualizer from scanning the entry point and displaying the codebase structure, making the feature unusable on Windows.
Expected Behavior
The /api/scan endpoint should correctly process the entrypoint path, regardless of whether it’s in Windows-style or Unix-style format, and return a valid response.
Actual Behavior
The /api/scan endpoint fails with the following response:
[
{
"code": "custom",
"message": "Invalid file path",
"path": ["entrypointPath"]
}
]Possible Fix
Normalize file paths to handle both Windows-style (C:\...) and Unix-style (/...) paths.
Use a library like path from Node.js to ensure consistent path handling.
Steps to Reproduce
- On a Windows environment create a .napirc file with the following configuration:
{
"entrypoint": "src/index.js",
"out": "napi_dist"
}- Run the command:
napi ui- Observe the generated config (e.g., http://localhost:3000/api/config) with Windows-style paths:
{
"entrypoint": "C:\\Users\\emmanuel\\opensource\\napi\\examples\\express\\src\\index.js",
"out": "C:\\Users\\emmanuel\\opensource\\napi\\examples\\express\\napi_dist"
}- Check the /api/scan endpoint and see the Invalid file path error.
Context
This bug blocks the ability to use then napi ui command on Windows. It affects Windows developers trying to scan their entrypoint and view their codebase in the visualizer.
Your Environment
- Version used: napi v0.0.19
- NodeJS Version: v20.11.0
- Operating System: Windows 11
Config File
Paste your .napirc below
{
"entrypoint": "src/index.js",
"out": "napi_dist"
}