Skip to content

Commit 22e5dba

Browse files
authored
docs: Update TypeScript setup to be more robust (#973)
Closes #953
1 parent 345ab66 commit 22e5dba

File tree

6 files changed

+49
-19
lines changed

6 files changed

+49
-19
lines changed

docs/pages/docs/workflows/typescript.mdx

+9-4
Original file line numberDiff line numberDiff line change
@@ -28,12 +28,17 @@ function About() {
2828
To enable this validation, add a global type definition file in your project root (e.g. `global.d.ts`):
2929

3030
```jsx filename="global.d.ts"
31-
// Use type safe message keys with `next-intl`
32-
type Messages = typeof import('./messages/en.json');
33-
declare interface IntlMessages extends Messages {}
31+
import en from './messages/en.json';
32+
33+
type Messages = typeof en;
34+
35+
declare global {
36+
// Use type safe message keys with `next-intl`
37+
interface IntlMessages extends Messages {}
38+
}
3439
```
3540

36-
You can freely define the interface, but if you have your messages available locally, it can be helpful to automatically create the interface based on a messages sample by importing it.
41+
You can freely define the interface, but if you have your messages available locally, it can be helpful to automatically create the interface based on the messages from your default locale by importing it.
3742

3843
**If you're encountering problems, please double check that:**
3944

Original file line numberDiff line numberDiff line change
@@ -1,3 +1,8 @@
1-
// Use type safe message keys with `next-intl`
2-
type Messages = typeof import('./messages/en.json');
3-
declare interface IntlMessages extends Messages {}
1+
import en from './messages/en.json';
2+
3+
type Messages = typeof en;
4+
5+
declare global {
6+
// Use type safe message keys with `next-intl`
7+
interface IntlMessages extends Messages {}
8+
}
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,8 @@
1-
// Declaring this interface provides type safety for message keys
2-
type Messages = typeof import('./messages/en.json');
3-
declare interface IntlMessages extends Messages {}
1+
import en from './messages/en.json';
2+
3+
type Messages = typeof en;
4+
5+
declare global {
6+
// Use type safe message keys with `next-intl`
7+
interface IntlMessages extends Messages {}
8+
}
+8-3
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,8 @@
1-
// Use type safe message keys with `next-intl`
2-
type Messages = typeof import('./messages/en.json');
3-
declare interface IntlMessages extends Messages {}
1+
import en from './messages/en.json';
2+
3+
type Messages = typeof en;
4+
5+
declare global {
6+
// Use type safe message keys with `next-intl`
7+
interface IntlMessages extends Messages {}
8+
}
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,8 @@
1-
// Use type safe message keys with `next-intl`
2-
type Messages = typeof import('./messages/en.json');
3-
declare interface IntlMessages extends Messages {}
1+
import en from './messages/en.json';
2+
3+
type Messages = typeof en;
4+
5+
declare global {
6+
// Use type safe message keys with `next-intl`
7+
interface IntlMessages extends Messages {}
8+
}
+8-3
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,8 @@
1-
// Use type safe message keys with `next-intl`
2-
type Messages = typeof import('./messages/en.json');
3-
declare interface IntlMessages extends Messages {}
1+
import en from './messages/en.json';
2+
3+
type Messages = typeof en;
4+
5+
declare global {
6+
// Use type safe message keys with `next-intl`
7+
interface IntlMessages extends Messages {}
8+
}

0 commit comments

Comments
 (0)