Repository navigation
feat(project): Offer configPath property to workspace configs (workspace/1.1) - #1643
maxreichmann wants to merge 10 commits into
Conversation
workspace/1.1)configPath property to workspace yamls (workspace/1.1)
configPath property to workspace yamls (workspace/1.1)configPath property to workspace configs (workspace/1.1)
|
Kindly asking @KlattG to review the documentation part of this PR already ( (I didn't add this feature to the usual |
+ Forbid absolute paths for `configPath` property + Allow relative paths for `configPath` which are out-of-root (resolution dir)
e286108 to
398ace8
Compare
398ace8 to
5c857ed
Compare
d3xter666
left a comment
There was a problem hiding this comment.
Please, check the log when you try to build with this new validation/schema:
strict mode: missing type "object" for keyword "properties" at "ui5-workspace.json#/then/properties/dependencyManagement" (strictTypes)
strict mode: missing type "array" for keyword "items" at "ui5-workspace.json#/then/properties/dependencyManagement/properties/resolutions" (strictTypes)
strict mode: missing type "object" for keyword "required" at "ui5-workspace.json#/then/properties/dependencyManagement/properties/resolutions/items/then/not" (strictTypes)This is from AJV's strict mode
Resolved with 4ebdb73 |
| return await this._getModulesFromPath( | ||
| this.#cwd, resolutionConfig.path); | ||
| this.#cwd, resolutionConfig.path, resolutionConfig.configPath); |
There was a problem hiding this comment.
This modification leads to a bit strange behaviour that I'm not sure whtether is expected or not.
Here it is:
If you checkout the openui5-sample-app and use a ui5-worspaces.yaml in there to point to the openui5 monorepo locally and inside ui5-worspaces.yaml there is this configPath property with a custom ui5.yaml (it might have different name i.e. ui5-deployment.yaml) configuration, the solution will loop through all of the subpackages within openui5 monorepo and if such a custom file is missing somewhere, the build/serve will fail.
This means, that an external consumer will provide a path to a custom configuration in openui5 repo, expecting this custom configuration to be present everywhere.
A workaround I see is to point individually to every repo.
Co-authored-by: Yavor Ivanov <d3xter666@users.noreply.github.com>
This offers a
configPathproperty to workspace dependency resolution entries as follows:(Introducing new specVersion
workspace/1.1)Other sub features:
pathis absoluteconfigPathconfigPath(forpathit's already allowed)Closes: #1369
JIRA: CPOUI5FOUNDATION-1233