-
-
Notifications
You must be signed in to change notification settings - Fork 3k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Fix Windows incompatibility when discovering customizations #11447
base: develop
Are you sure you want to change the base?
Fix Windows incompatibility when discovering customizations #11447
Conversation
|
@NicolasGorga is attempting to deploy a commit to the medusajs Team on Vercel. A member of the Team first needs to authorize it. |
@@ -179,7 +179,8 @@ async function getOASFromPaths( | |||
customBaseFile?: string | |||
): Promise<OpenAPIObject> { | |||
console.log(`🔵 Gathering custom OAS`) | |||
const gen = await swaggerInline(additionalPaths, { | |||
// fast-glob broke Windows compatibility in v10, see https://github.com/mrmlnc/fast-glob#pattern-syntax, https://github.com/sindresorhus/globby/issues/130 | |||
const gen = await swaggerInline(additionalPaths.map(path => path.replace(/\\/g, "/")), { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Q: Would using path normalize be more appropriate?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@adrien2p As per path.normalize docs i wouldn’t say so, as for windows it will maintain backlashes instead of forward slashes.
Reference: https://nodejs.org/api/path.html#pathnormalizepath
Relevant section:
On Windows:
path.normalize('C:\temp\\foo\bar\..\');
// Returns: 'C:\temp\foo\' COPY
Since Windows recognizes multiple path separators, both separators will be replaced by instances of the Windows preferred separator ():
path.win32.normalize('C:////temp\\/\/\/foo/bar');
// Returns: 'C:\temp\foo\bar'
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Hey @adrien2p what do you think?
Changes the paths passed to swagger-inline, to make it compatible with Windows, since fast-glob no longer converts '\' to '/', to allow escaping. Before calling swagger-inline then, we replace any '\\' with '/'.
This is important since for Windows, customizations where not discovered when running the oas cli tool passing the --paths option.
Fixes #11445