Skip to content

Commit 93e4d6c

Browse files
feat: upgrade deps (#182)
* feat: upgrade deps * chore: update * [autofix.ci] apply automated fixes * chore: update --------- Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
1 parent facdc5c commit 93e4d6c

21 files changed

+6334
-8570
lines changed

components/CommandPalette.vue

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
<script setup lang="ts">
2-
import { NuxtLink } from '#components'
32
import type { Command } from '~/stores/commands'
3+
import { NuxtLink } from '#components'
44
55
const commands = useCommandsStore()
66
const router = useRouter()

components/ContentNavItem.vue

+1-1
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ import type { NavItem } from '@nuxt/content'
44
const props = withDefaults(
55
defineProps<{
66
item: NavItem
7-
level: number
7+
level?: number
88
}>(),
99
{
1010
level: 0,

components/CustomNuxtLink.ts

+1-1
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ const NuxtLink = defineNuxtLink({})
44
export default defineComponent({
55
name: 'NuxtLink',
66
props: NuxtLink.props,
7-
setup(props, { slots }) {
7+
setup(props: any, { slots }) {
88
const url = props.to || props.href
99
// Get CORS and add url?.startsWith('https://vuejs.org')
1010
if (url?.startsWith('https://nuxt.com')) {

components/PanelDocs.vue

+1-1
Original file line numberDiff line numberDiff line change
@@ -140,7 +140,7 @@ router.beforeEach(() => {
140140
absolute left-0 right-0 top-0 max-h-60vh py2
141141
backdrop-blur-10 bg-base important-bg-opacity-80
142142
>
143-
<ContentNavItem v-for="item in navigation" :key="item.url" :item="item" />
143+
<ContentNavItem v-for="item of navigation" :key="item.url" :item="item" />
144144
</div>
145145
</Transition>
146146
</div>

components/PanelEditorMonaco.client.vue

+2-2
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
<script setup lang="ts">
2-
import * as monaco from 'monaco-editor-core/esm/vs/editor/editor.api'
32
import { shikiToMonaco } from '@shikijs/monaco'
4-
import { initMonaco } from '~/monaco/setup'
3+
import * as monaco from 'monaco-editor-core/esm/vs/editor/editor.api'
54
import { reloadLanguageTools } from '~/monaco/env'
5+
import { initMonaco } from '~/monaco/setup'
66
import { getShiki } from '~/monaco/shiki'
77
88
const props = defineProps<{

components/PanelPreviewClient.client.vue

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
<script setup lang="ts">
2-
import { createBirpc } from 'birpc'
32
import type { FrameFunctions, ParentFunctions } from '~/types/rpc'
3+
import { createBirpc } from 'birpc'
44
55
const ui = useUiState()
66
const play = usePlaygroundStore()

components/PanelTerminalClient.client.vue

+3-3
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,10 @@
11
<script setup lang="ts">
2-
import '@xterm/xterm/css/xterm.css'
32
import type { ITheme } from '@xterm/xterm'
4-
import { Terminal } from '@xterm/xterm'
53
import { FitAddon } from '@xterm/addon-fit'
6-
import themeLight from 'theme-vitesse/extra/xterm-vitesse-light.json'
4+
import { Terminal } from '@xterm/xterm'
75
import themeDark from 'theme-vitesse/extra/xterm-vitesse-dark.json'
6+
import themeLight from 'theme-vitesse/extra/xterm-vitesse-light.json'
7+
import '@xterm/xterm/css/xterm.css'
88
99
const play = usePlaygroundStore()
1010

modules/template-loader.ts

+7-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
1-
import { fileURLToPath } from 'node:url'
21
import fs from 'node:fs/promises'
2+
import { fileURLToPath } from 'node:url'
33
import { addTemplate, addVitePlugin, defineNuxtModule } from '@nuxt/kit'
4+
// import consola from 'consola'
45
import fg from 'fast-glob'
56
import { relative, resolve } from 'pathe'
67

@@ -9,6 +10,11 @@ export default defineNuxtModule({
910
name: 'template-loader',
1011
},
1112
setup(_) {
13+
// logger.restoreAll()
14+
// logger.wrapAll = () => {}
15+
// consola.restoreAll()
16+
// consola.wrapAll = () => {}
17+
1218
addTemplate({
1319
filename: 'templates/basic.ts',
1420
getContents: async () => {

monaco/env.ts

+5-7
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,10 @@
1-
import { basename, dirname } from 'pathe'
1+
import type { FileType } from './types'
2+
import type { CreateData } from './vue.worker'
23
import * as volar from '@volar/monaco'
3-
import { Uri, editor, languages } from 'monaco-editor-core'
4+
import { editor, languages, Uri } from 'monaco-editor-core'
5+
import { basename, dirname } from 'pathe'
46
import stripJsonComments from 'strip-json-comments'
57
import { getOrCreateModel } from './utils'
6-
import type { CreateData } from './vue.worker'
7-
import type { FileType } from './types'
88

99
export type PlaygroundMonacoContext = Pick<PlaygroundStore, 'webcontainer' | 'files'>
1010

@@ -162,9 +162,7 @@ export async function reloadLanguageTools(ctx: PlaygroundMonacoContext) {
162162
function loadFiles(ctx: PlaygroundMonacoContext, files: string[]) {
163163
return Promise.all(files.map(async (file) => {
164164
const filepath = withoutLeadingSlash(file)
165-
const content = await ctx.webcontainer!.fs
166-
.readFile(filepath, 'utf-8')
167-
.catch(() => undefined)
165+
const content = await ctx.webcontainer!.fs.readFile(filepath, 'utf-8').catch(() => undefined)
168166
const uri = Uri.parse(`file:///${filepath}`)
169167
if (content != null) {
170168
getOrCreateModel(uri, undefined, content)

monaco/setup.ts

+2-2
Original file line numberDiff line numberDiff line change
@@ -2,12 +2,12 @@
22
/* eslint-disable new-cap */
33
import * as monaco from 'monaco-editor-core'
44
import editorWorker from 'monaco-editor-core/esm/vs/editor/editor.worker?worker'
5-
import jsonWorker from 'monaco-editor/esm/vs/language/json/json.worker?worker'
65
import cssWorker from 'monaco-editor/esm/vs/language/css/css.worker?worker'
76
import htmlWorker from 'monaco-editor/esm/vs/language/html/html.worker?worker'
7+
import jsonWorker from 'monaco-editor/esm/vs/language/json/json.worker?worker'
88

9-
import vueWorker from './vue.worker?worker'
109
import { reloadLanguageTools } from './env'
10+
import vueWorker from './vue.worker?worker'
1111

1212
export function initMonaco(ctx: PlaygroundStore) {
1313
self.MonacoEnvironment = {

monaco/shiki.ts

+4-5
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,6 @@
11
import type { HighlighterCore } from 'shiki/core'
2-
import { getHighlighterCore } from 'shiki/core'
3-
import getWasmInlined from 'shiki/wasm'
4-
2+
import { createHighlighterCore } from 'shiki/core'
3+
import { createJavaScriptRegexEngine } from 'shiki/engine-javascript.mjs'
54
import langVue from 'shiki/langs/vue.mjs'
65
import themeDark from 'shiki/themes/vitesse-dark.mjs'
76
import themeLight from 'shiki/themes/vitesse-light.mjs'
@@ -16,15 +15,15 @@ export async function getShiki() {
1615
darkColors['editor.background'] = '#00000000'
1716
darkColors['editor.lineHighlightBackground'] = '#00000000'
1817

19-
highlighter = getHighlighterCore({
18+
highlighter = createHighlighterCore({
2019
langs: [
2120
langVue as any,
2221
],
2322
themes: [
2423
themeLight as any,
2524
themeDark as any,
2625
],
27-
loadWasm: getWasmInlined,
26+
engine: createJavaScriptRegexEngine(),
2827
})
2928

3029
return highlighter

monaco/vue.worker.ts

+14-22
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,12 @@
1+
import type { LanguageServiceEnvironment, VueCompilerOptions } from '@vue/language-service'
2+
import type * as monaco from 'monaco-editor-core'
3+
import type { WorkerHost } from './env'
4+
import { createTypeScriptWorkerLanguageService } from '@volar/monaco/worker'
5+
import { createVueLanguagePlugin, getFullLanguageServicePlugins, resolveVueCompilerOptions } from '@vue/language-service'
16
// @ts-expect-error missing types
27
import * as worker from 'monaco-editor-core/esm/vs/editor/editor.worker'
3-
import type * as monaco from 'monaco-editor-core'
48
import * as ts from 'typescript/lib/tsserverlibrary'
5-
import type { LanguageServiceEnvironment, VueCompilerOptions } from '@vue/language-service'
6-
import { createVueLanguagePlugin, getFullLanguageServicePlugins, resolveVueCompilerOptions } from '@vue/language-service'
7-
import { createTypeScriptWorkerLanguageService } from '@volar/monaco/worker'
89
import { URI } from 'vscode-uri'
9-
import type { WorkerHost } from './env'
1010

1111
export interface CreateData {
1212
tsconfig: {
@@ -34,7 +34,7 @@ self.onmessage = () => {
3434
{ tsconfig }: CreateData,
3535
) => {
3636
const asFileName = (uri: URI) => uri.path
37-
const asUri = (fileName: string): URI => URI.file(fileName)
37+
const asUri = (fileName: string | URI): URI => fileName instanceof URI ? fileName : URI.file(fileName)
3838
const env: LanguageServiceEnvironment = {
3939
workspaceFolders: [URI.file('/')],
4040
}
@@ -77,22 +77,14 @@ self.onmessage = () => {
7777
asUri,
7878
},
7979
workerContext: ctx,
80-
languagePlugins: [createVueLanguagePlugin(
81-
ts,
82-
asFileName,
83-
() => '', // TODO getProjectVersion
84-
(fileName) => {
85-
const uri = asUri(fileName)
86-
for (const model of ctx.getMirrorModels()) {
87-
if (model.uri.toString() === uri.toString()) {
88-
return true
89-
}
90-
}
91-
return false
92-
},
93-
compilerOptions,
94-
vueCompilerOptions,
95-
)],
80+
languagePlugins: [
81+
createVueLanguagePlugin(
82+
ts,
83+
compilerOptions,
84+
vueCompilerOptions,
85+
asFileName,
86+
),
87+
],
9688
languageServicePlugins: getFullLanguageServicePlugins(ts),
9789
setup({ project }) {
9890
project.vue = { compilerOptions: vueCompilerOptions }

nuxt.config.ts

+7-2
Original file line numberDiff line numberDiff line change
@@ -63,6 +63,7 @@ export default defineNuxtConfig({
6363
features: {
6464
inlineStyles: false,
6565
},
66+
6667
runtimeConfig: {
6768
public: {
6869
buildTime: Date.now(),
@@ -123,14 +124,18 @@ export default defineNuxtConfig({
123124
},
124125
},
125126
markdown: {
126-
remarkPlugins: [
127-
'remark-external-links',
127+
rehypePlugins: [
128+
'rehype-external-links',
128129
],
129130
},
130131
experimental: {
131132
search: {},
132133
},
133134
},
134135

136+
experimental: {
137+
watcher: 'parcel',
138+
},
139+
135140
compatibilityDate: '2024-04-03',
136141
})

package.json

+43-39
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
"name": "learn.nuxt.com",
33
"type": "module",
44
"private": true,
5-
"packageManager": "pnpm@9.7.1",
5+
"packageManager": "pnpm@9.15.4",
66
"scripts": {
77
"build": "nuxt build",
88
"dev": "nuxt dev",
@@ -14,60 +14,64 @@
1414
"format": "eslint . --fix"
1515
},
1616
"dependencies": {
17-
"@shikijs/core": "^1.14.1",
18-
"@shikijs/monaco": "^1.14.1",
19-
"@volar/monaco": "~2.4.0",
20-
"@vue/language-service": "^2.0.29",
21-
"@webcontainer/api": "^1.2.0",
17+
"@shikijs/core": "^2.3.2",
18+
"@shikijs/monaco": "^2.3.2",
19+
"@volar/monaco": "~2.4.11",
20+
"@vue/language-service": "^2.2.0",
21+
"@webcontainer/api": "^1.5.1",
2222
"@xterm/addon-fit": "^0.10.0",
2323
"@xterm/xterm": "^5.5.0",
24-
"birpc": "^0.2.17",
24+
"birpc": "^2.2.0",
2525
"floating-vue": "^5.2.2",
2626
"jszip": "^3.10.1",
2727
"monaco-editor": "^0.50.0",
28-
"shiki": "^1.14.1",
29-
"splitpanes": "^3.1.5",
28+
"shiki": "^2.3.2",
29+
"splitpanes": "3.1.5",
3030
"strip-json-comments": "^5.0.1",
3131
"theme-vitesse": "^0.8.3",
3232
"unified": "^11.0.5",
33-
"vscode-uri": "^3.0.8",
34-
"vue": "^3.4.38",
35-
"vue-router": "^4.4.3"
33+
"vscode-uri": "^3.1.0",
34+
"vue": "^3.5.13",
35+
"vue-router": "^4.5.0"
3636
},
3737
"devDependencies": {
38-
"@antfu/eslint-config": "^2.26.0",
39-
"@iconify-json/catppuccin": "^1.1.4",
40-
"@iconify-json/logos": "^1.1.44",
41-
"@iconify-json/ph": "^1.1.14",
42-
"@iconify-json/svg-spinners": "^1.1.3",
43-
"@nuxt/content": "^2.13.2",
44-
"@nuxt/devtools": "^1.3.14",
45-
"@nuxt/eslint": "^0.5.1",
46-
"@nuxt/icon": "^1.4.7",
47-
"@nuxt/image": "^1.7.0",
48-
"@nuxt/kit": "^3.12.4",
49-
"@nuxtjs/color-mode": "^3.4.4",
50-
"@nuxtjs/seo": "2.0.0-rc.10",
38+
"@antfu/eslint-config": "^4.2.0",
39+
"@iconify-json/catppuccin": "^1.2.8",
40+
"@iconify-json/logos": "^1.2.4",
41+
"@iconify-json/ph": "^1.2.2",
42+
"@iconify-json/svg-spinners": "^1.2.2",
43+
"@nuxt/content": "^2.13.4",
44+
"@nuxt/devtools": "^2.0.0",
45+
"@nuxt/eslint": "^1.0.1",
46+
"@nuxt/icon": "^1.10.3",
47+
"@nuxt/image": "^1.9.0",
48+
"@nuxt/kit": "^3.15.4",
49+
"@nuxtjs/color-mode": "^3.5.2",
50+
"@nuxtjs/seo": "^2.1.1",
5151
"@pinia/nuxt": "^0.5.3",
52-
"@unocss/eslint-plugin": "^0.62.2",
53-
"@unocss/extractor-mdc": "^0.62.2",
54-
"@unocss/nuxt": "^0.62.2",
55-
"@vueuse/nuxt": "^11.0.1",
56-
"eslint": "^9.9.0",
57-
"eslint-plugin-format": "^0.1.2",
58-
"execa": "^9.3.1",
59-
"fast-glob": "^3.3.2",
60-
"fuse.js": "^7.0.0",
52+
"@unocss/eslint-plugin": "^65.4.3",
53+
"@unocss/extractor-mdc": "^65.4.3",
54+
"@unocss/nuxt": "^65.4.3",
55+
"@vueuse/nuxt": "^12.5.0",
56+
"eslint": "^9.20.0",
57+
"eslint-plugin-format": "^1.0.1",
58+
"execa": "^9.5.2",
59+
"fast-glob": "^3.3.3",
60+
"fuse.js": "^7.1.0",
6161
"monaco-editor-core": "^0.50.0",
62-
"nuxt": "^3.12.4",
63-
"pathe": "^1.1.2",
64-
"remark-external-links": "^9.0.1",
65-
"typescript": "^5.5.4",
66-
"vue-tsc": "^2.0.29"
62+
"nuxi": "^3.21.1",
63+
"nuxt": "^3.15.4",
64+
"pathe": "^2.0.2",
65+
"typescript": "^5.7.3",
66+
"vue-tsc": "^2.2.0"
6767
},
6868
"pnpm": {
6969
"patchedDependencies": {
7070
7171
}
72+
},
73+
"resolutions": {
74+
"@nuxt/devtools": "^2.0.0",
75+
"@nuxt/devtools-ui-kit": "^2.0.0"
7276
}
7377
}

0 commit comments

Comments
 (0)