ui5-community / ui5-ecosystem-showcase

A repository showcasing the UI5 tooling extensibility to combine OSS tools for UI5 application development.
https://ui5-community.github.io/ui5-ecosystem-showcase/
Other
194 stars 94 forks source link

feat(ui5-tooling-modules): improved dependency resolution #1039

Closed petermuessig closed 4 months ago

petermuessig commented 4 months ago

The chunks needed by third-party packages are resolved against the root namespace (/resources) which leads to issues in case of running applications against CDN. Therefore, the chunks are now prepending the namespace of the application to ensure to resolve relative against the application.

For some third-party packages like punycode built-in modules in node exist. In this case, the dependency resolution looked up the node built-in module and the node polyfills have been used instead of the project dependency. This has been changed that for entry points (dependencies who have been declared in any module) are always first resolved against the local dependencies before the polyfills are used.

Fixes #1032

petermuessig commented 4 months ago

@hschaefer123: this feature fixes the issue with the chunks which cannot be resolved - now always the project namespace is prepended to the module names in application projects to ensure a project relative resolution.

@igzThomasFrischholz: this feature fixes the resolution of punycode - sorry the change became a bit more complex after understanding the details of the issue so that the node polyfill had been detected instead of the dependency.

petermuessig commented 4 months ago

I'll release a bit later today.

igzThomasFrischholz commented 4 months ago

@hschaefer123: this feature fixes the issue with the chunks which cannot be resolved - now always the project namespace is prepended to the module names in application projects to ensure a project relative resolution.

@igzThomasFrischholz: this feature fixes the resolution of punycode - sorry the change became a bit more complex after understanding the details of the issue so that the node polyfill had been detected instead of the dependency.

Thank you for your quick understanding of the actual problem and the fix. Great work, thank you :)