A better way to communicate and manage Auro dependencies #505
Replies: 5 comments 7 replies
-
As listed, just about EVERY repo has a dependency on Icons and WCSS. I am not recommending that we update every repo with each release of these tools. Every repo should have the dependency listed with the That being said, I would suggest that at least once a 'sprint' cycle we look to update all the repos based on the releases that cycle. |
Beta Was this translation helpful? Give feedback.
-
Something we could look to automate is cycling through each repo and performing a surgical npm update that will only update Auro packages and run a build to ensure there are no issues.
|
Beta Was this translation helpful? Give feedback.
-
Documenting this as known info, but pertains to this conversation. A tool Auro uses when building dependencies is For example, Auro makes good use of the caret From npm's perspective running While there is a responsibility from Auro to maintain dependencies and ensure that our components work with the latest Auro releases, e.g. an Auro component having a dependency on another Auro component or library, the maintenance of dependencies on the consumer end is up to the consumer. We cannot do that for them. What does this end up looking like? Within each sprint timeline, the Auro team will ensure, based on the table above, that as lower-level Auro deliverables are updated, their dependents are also updated to ensure compatibility. Additionally, as changes happen in core libraries, e.g. tokens or WCSS, these resources are NOT released until their compatibility with all other dependents are updated to support their release. This especially holds true for any major releases. |
Beta Was this translation helpful? Give feedback.
-
RecommendationWhen it comes to having dependencies on other auro components.
As you can see in the following list, multiple Auro dependencies are loaded under a component install, but are then deduped ├─┬ @aurodesignsystem/[email protected]
│ ├── @aurodesignsystem/[email protected] deduped
│ ├── @aurodesignsystem/[email protected] deduped
│ ├── [email protected] deduped
│ └── [email protected] deduped
├─┬ @aurodesignsystem/[email protected]
│ ├── @alaskaairux/[email protected] deduped
│ ├── @aurodesignsystem/[email protected] deduped
│ ├── @aurodesignsystem/[email protected] deduped
│ ├── [email protected] deduped
│ └── [email protected] deduped
├─┬ @aurodesignsystem/[email protected]
│ ├── @alaskaairux/[email protected] deduped
│ ├── @aurodesignsystem/[email protected] deduped
│ ├── @aurodesignsystem/[email protected] deduped
│ ├── [email protected] deduped
│ ├── [email protected] deduped
│ └── [email protected] When looking into the npm maintenance habits greatly vary from dev to dev. Moving common dependencies to |
Beta Was this translation helpful? Give feedback.
-
There may be a flaw in the current version-lock strategy. After reviewing this PR I see a slight flaw. The dependencies are listed with the The scripts/version.mjs functionality requires a build in order to generate the appropriate version tag on the element. That all works great and even accounts for a simple The potential issue I am seeing is that a user could run A potential fix is to set the dependency using the |
Beta Was this translation helpful? Give feedback.
-
There is a small set of elements that have either nested or peer dependencies on other Auro elements. The issue here is that when one element is updated and other elements have a dependency on that released element, the dependents should be updated as well.
Here is a quick table of elements and their dependencies. We need to find a better way to manage this data and assist with managing updates as well.
Auro component dependency map
The following is a mapping of repositories and their direct and peer dependencies.
Beta Was this translation helpful? Give feedback.
All reactions