Skip to main content
Version: Next

Migration from 0.23.X to 0.24.X

New installation method

Wasp is now installed as a global npm package, instead of the old custom installer. To start using the new installation method, you can run our migration tool:

curl -sSL https://get.wasp.sh/installer.sh | sh -s -- migrate-to-npm

You can read more about it in the Legacy installer guide.

To install the latest Wasp version, open your terminal and run:

npm i -g @wasp.sh/wasp-cli@latest

You can install Wasp 0.24 specifically by passing the version to the install script:

npm i -g @wasp.sh/wasp-cli@0.24

What's new in 0.24.X?

Replaced Axios with ky in the client API module

The api export from wasp/client/api is now a ky instance instead of Axios. Ky is a tiny HTTP client built on fetch that provides a cleaner API with method shortcuts, automatic JSON handling, and hooks.

How to migrate?

1. Bump the Wasp version

Update the version field in your Wasp config to ^0.24.0:

main.wasp
app MyApp {
wasp: {
version: "^0.24.0"
},
// ...
}

2. Update client code that uses api from wasp/client/api

If you don't use the api function from wasp/client/api directly, you can skip this step.

The api object was previously an Axios instance. It is now a ky instance with a pre-configured base URL and authentication. Update your code as follows:

import { api } from 'wasp/client/api'

// Making requests
const response = await api.get('/foo/bar')
const data = response.data

// POST with body
await api.post('/foo/bar', { key: 'value' })

// Error handling
import { type AxiosError } from 'axios'
try {
await api.get('/foo/bar')
} catch (e) {
const error = e as AxiosError
console.log(error.response?.status)
}

You can also remove axios from your project's dependencies if you added it only for use with the Wasp api wrapper.

3. Enjoy your updated Wasp app

That's it!