swisspost / design-system

The Swiss Post Design System - for a consistent and accessible user experience across the web platform.
https://design-system.post.ch
Apache License 2.0
122 stars 14 forks source link

Test migration in existing projects #531

Closed gfellerph closed 2 years ago

gfellerph commented 2 years ago

Test the migration instructions and @swisspost/design-system-migrations (based on #487) on at least 3 real projects.

oliverschuerch commented 2 years ago

Migrationtest with Project: kvm-app-web-client

Protocol:

@gfellerph Please see the branch {project-repo}/test/migration-testing-design-system-4-to-5.

alizedebray commented 2 years ago

I tested the migration on real projects and here are my feedback:

Uninstall the old packages

Automatic migration tool

Component migration


General remarks:

gfellerph commented 2 years ago

@alizedebray, the reason we cannot provide the uninstall command is, the internal package names are a secret that should not be made public due to dependency confusion attacks.

oliverschuerch commented 2 years ago

@alizedebray Some Changes have allready been implemented in the migrations documentation before. See: PR #590. I marked those changes in your comment above (✔). Some other CRs are not 100% clear (I marked them with :o:), please feel free to include the desired changes in a new branch.

oliverschuerch commented 2 years ago

When updating angular (for example from v12 to v13): https://update.angular.io/?v=12.0-13.0 tells you to run the command: ng update @angular/core@13 @angular/cli@13 If the installation fails, because of incompatible or missing peer dependencies:

image

Install the missing peer dependencies first: npm i tslib@2 Then add the incompatible peer dependencies to the update command and use the given main versions to update to. In the above case the command would become: ng update @angular/core@13 @angular/cli@13 @angular-eslint/schematics@13 @ngrx/effects@13 @ngrx/store@13