Migration from 0.23.X to 0.24.X
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:
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:
- Before
- After
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)
}
import { api } from 'wasp/client/api'
import { isHTTPError } from 'ky'
// Making requests
const data = await api.get('/foo/bar').json()
// POST with body
await api.post('/foo/bar', { json: { key: 'value' } })
// Error handling
try {
await api.get('/foo/bar').json()
} catch (e) {
if (isHTTPError(e)) {
console.log(e.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!