Skip to content

Commit 7e19b65

Browse files
committed
chore(deps): update nextjs and peer deps to latest version (16.1.1)
1 parent 814fc4a commit 7e19b65

14 files changed

Lines changed: 5545 additions & 3265 deletions

.eslintrc.json

Lines changed: 0 additions & 3 deletions
This file was deleted.

app/page.tsx

Lines changed: 28 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -72,6 +72,7 @@ export default function Home() {
7272
if (languageModel.model && !filteredModels.find((m) => m.id === languageModel.model)) {
7373
setLanguageModel({ ...languageModel, model: defaultModel.id })
7474
}
75+
// eslint-disable-next-line react-hooks/exhaustive-deps
7576
}, [languageModel.model])
7677
const currentTemplate =
7778
selectedTemplate === 'auto'
@@ -84,6 +85,31 @@ export default function Home() {
8485
useMorphApply && fragment && fragment.code && fragment.file_path
8586
const apiEndpoint = shouldUseMorph ? '/api/morph-chat' : '/api/chat'
8687

88+
function setMessage(message: Partial<Message>, index?: number) {
89+
setMessages((previousMessages) => {
90+
const updatedMessages = [...previousMessages]
91+
updatedMessages[index ?? previousMessages.length - 1] = {
92+
...previousMessages[index ?? previousMessages.length - 1],
93+
...message,
94+
}
95+
96+
return updatedMessages
97+
})
98+
}
99+
100+
function addMessage(message: Message) {
101+
setMessages((previousMessages) => [...previousMessages, message])
102+
return [...messages, message]
103+
}
104+
105+
function setCurrentPreview(preview: {
106+
fragment: DeepPartial<FragmentSchema> | undefined
107+
result: ExecutionResult | undefined
108+
}) {
109+
setFragment(preview.fragment)
110+
setResult(preview.result)
111+
}
112+
87113
const { object, submit, isLoading, stop, error } = useObject({
88114
api: apiEndpoint,
89115
schema,
@@ -150,24 +176,14 @@ export default function Home() {
150176
})
151177
}
152178
}
179+
// eslint-disable-next-line react-hooks/exhaustive-deps
153180
}, [object])
154181

155182
useEffect(() => {
156183
if (error) stop()
184+
// eslint-disable-next-line react-hooks/exhaustive-deps
157185
}, [error])
158186

159-
function setMessage(message: Partial<Message>, index?: number) {
160-
setMessages((previousMessages) => {
161-
const updatedMessages = [...previousMessages]
162-
updatedMessages[index ?? previousMessages.length - 1] = {
163-
...previousMessages[index ?? previousMessages.length - 1],
164-
...message,
165-
}
166-
167-
return updatedMessages
168-
})
169-
}
170-
171187
async function handleSubmitAuth(e: React.FormEvent<HTMLFormElement>) {
172188
e.preventDefault()
173189

@@ -225,11 +241,6 @@ export default function Home() {
225241
})
226242
}
227243

228-
function addMessage(message: Message) {
229-
setMessages((previousMessages) => [...previousMessages, message])
230-
return [...messages, message]
231-
}
232-
233244
function handleSaveInputChange(e: React.ChangeEvent<HTMLTextAreaElement>) {
234245
setChatInput(e.target.value)
235246
}
@@ -271,14 +282,6 @@ export default function Home() {
271282
setIsPreviewLoading(false)
272283
}
273284

274-
function setCurrentPreview(preview: {
275-
fragment: DeepPartial<FragmentSchema> | undefined
276-
result: ExecutionResult | undefined
277-
}) {
278-
setFragment(preview.fragment)
279-
setResult(preview.result)
280-
}
281-
282285
function handleUndo() {
283286
setMessages((previousMessages) => [...previousMessages.slice(0, -2)])
284287
setCurrentPreview({ fragment: undefined, result: undefined })

components/auth.tsx

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -571,11 +571,13 @@ function Auth({
571571
clearMessages,
572572
} = useAuthForm()
573573

574+
/* eslint-disable react-hooks/set-state-in-effect */
574575
useEffect(() => {
575576
setAuthView(view)
576577
setError(null)
577578
setMessage(null)
578579
}, [view, setError, setMessage])
580+
/* eslint-enable react-hooks/set-state-in-effect */
579581

580582
const setAuthViewAndClearMessages = useCallback(
581583
(newView: ViewType) => {

components/chat-input.tsx

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -116,6 +116,7 @@ export function ChatInput({
116116
>
117117
<X className="h-3 w-3 cursor-pointer" />
118118
</span>
119+
{/* eslint-disable-next-line @next/next/no-img-element */}
119120
<img
120121
src={URL.createObjectURL(file)}
121122
alt={file.name}
@@ -124,6 +125,7 @@ export function ChatInput({
124125
</div>
125126
)
126127
})
128+
// eslint-disable-next-line react-hooks/exhaustive-deps
127129
}, [files])
128130

129131
function onEnter(e: React.KeyboardEvent<HTMLFormElement>) {
@@ -141,6 +143,7 @@ export function ChatInput({
141143
if (!isMultiModal) {
142144
handleFileChange([])
143145
}
146+
// eslint-disable-next-line react-hooks/exhaustive-deps
144147
}, [isMultiModal])
145148

146149
return (

components/chat.tsx

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,7 @@ export function Chat({
2222
if (chatContainer) {
2323
chatContainer.scrollTop = chatContainer.scrollHeight
2424
}
25+
// eslint-disable-next-line react-hooks/exhaustive-deps
2526
}, [JSON.stringify(messages)])
2627

2728
return (
@@ -40,6 +41,7 @@ export function Chat({
4041
}
4142
if (content.type === 'image') {
4243
return (
44+
// eslint-disable-next-line @next/next/no-img-element
4345
<img
4446
key={id}
4547
src={content.image}

components/deploy-dialog.tsx

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -38,6 +38,7 @@ export function DeployDialog({
3838
const [duration, setDuration] = useState<string | null>(null)
3939

4040
useEffect(() => {
41+
// eslint-disable-next-line react-hooks/set-state-in-effect
4142
setPublishedURL(null)
4243
}, [url])
4344

components/ui/theme-toggle.tsx

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@ export const ThemeToggle = forwardRef<
1414

1515
// useEffect only runs on the client, so now we can safely show the UI
1616
useEffect(() => {
17+
// eslint-disable-next-line react-hooks/set-state-in-effect
1718
setMounted(true)
1819
}, [])
1920

eslint.config.mjs

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
import nextConfig from 'eslint-config-next'
2+
3+
const eslintConfig = [
4+
...nextConfig,
5+
{
6+
ignores: [
7+
'node_modules/**',
8+
'.next/**',
9+
'out/**',
10+
'build/**',
11+
'next-env.d.ts',
12+
],
13+
},
14+
]
15+
16+
export default eslintConfig

lib/auth.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -36,6 +36,7 @@ export function useAuth(
3636
useEffect(() => {
3737
if (!supabase) {
3838
console.warn('Supabase is not initialized')
39+
// eslint-disable-next-line react-hooks/set-state-in-effect
3940
return setSession({ user: { email: 'demo@e2b.dev' } } as Session)
4041
}
4142

next.config.mjs renamed to next.config.ts

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
1-
/** @type {import('next').NextConfig} */
2-
const nextConfig = {
1+
import type { NextConfig } from 'next'
2+
3+
const nextConfig: NextConfig = {
34
async headers() {
45
return [
56
{
@@ -10,7 +11,7 @@ const nextConfig = {
1011
value: 'DENY',
1112
},
1213
],
13-
}
14+
},
1415
]
1516
},
1617
}

0 commit comments

Comments
 (0)