Upgrade From 5.8.0 to 5.9.0
Learn how to upgrade Webiny from 5.8.0 to 5.9.0.
- how to upgrade Webiny from 5.8.0 to 5.9.0
1. Project Preparation
First, we need to prepare your project for the upgrade process. With security packages refactor, some packages no longer exist, and if we try to upgrade dependencies straight away, yarn will complain. To fix that, we need to clean up your project first, to eliminate references to those deprecated packages.
In your project root, run the following:
npx https://gist.github.com/Pavel910/abc4c063eae8c18754d6a026d1fc1d062. Upgrade Webiny Packages
We’re now ready to upgrade all @webiny/* packages! Run the following command:
yarn up "@webiny/*@5.9.0"Once the upgrade has finished, running the yarn webiny --version command in your terminal should return 5.9.0.
Before moving on, make sure you commit all your changes.
3. Run the Upgrade Command
Now let’s run the project upgrade:
yarn webiny upgrade 5.9.0The upgrade script will make a couple of changes to your existing API project application’s code (located within the api folder). Once the upgrade command has finished, you can run the git status command to see all changes that the command performed.
4. Post Upgrade Script
To finalize the upgrade, run the following command:
npx https://gist.github.com/Pavel910/4a7a9694945fffcc65b293de8091116bThis takes care of a small glitch in the upgrade process, which we noticed after we released the 5.9.0 code. Gists to the rescue!
5. Deploy Your Project
Finally, proceed by redeploying your Webiny project:
# Execute in your project root.
yarn webiny deploy --env {environment}dev or staging.Additional Steps and Notes
GraphQL API Package Scaffold
If you’ve been using the GraphQL API Package scaffold in your Webiny project prior to the 5.9.0 release, you will have to revisit the created types.ts file for each created package, and replace the following line:
import { TenancyContext } from "@webiny/api-security-tenancy/types";Replace it with the following import statement:
import { TenancyContext } from "@webiny/api-tenancy/types";This change is required simply because the @webiny/api-security-tenancy package doesn’t exist anymore. Note that the new @webiny/api-tenancy package should already exist in your project, so there’s no need to add it manually.