Skip to content

Commit e3f760b

Browse files
authored
Merge pull request #520 from dwightjack/nuxt-4-support
2 parents 394897e + 97b3893 commit e3f760b

File tree

21 files changed

+678
-2677
lines changed

21 files changed

+678
-2677
lines changed

.changeset/sharp-peaches-speak.md

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
---
2+
'vue-types-nuxt': major
3+
---
4+
5+
- Add support for Nuxt 4
6+
- Package is now published as ESM-only

.gitignore

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -61,3 +61,6 @@ dist
6161

6262
# VitePress
6363
**/.vitepress/cache
64+
65+
# Vue Language Server
66+
vue-global-types.d.ts

.vscode/settings.json

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,12 @@
11
{
2-
"[js]": {
2+
"eslint.validate": ["javascript", "typescript"],
3+
"eslint.format.enable": true,
4+
"[javascript]": {
5+
"editor.defaultFormatter": "dbaeumer.vscode-eslint",
36
"editor.formatOnSave": false
47
},
5-
"[ts]": {
8+
"[typescript]": {
9+
"editor.defaultFormatter": "dbaeumer.vscode-eslint",
610
"editor.formatOnSave": false
711
},
812
"[markdown]": {

package.json

Lines changed: 8 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@
1414
"scripts": {
1515
"examples:dev": "pnpm --filter=vue-types run build && pnpm --filter=examples start",
1616
"docs:dev": "pnpm --filter=docs run dev",
17+
"nuxt:dev": "pnpm --filter=vue-types-nuxt stub && pnpm --filter=vue-types-nuxt-playground dev",
1718
"build": "pnpm -r build",
1819
"lint": "pnpm -r lint",
1920
"test": "pnpm -r test",
@@ -28,19 +29,19 @@
2829
"devDependencies": {
2930
"@changesets/cli": "2.29.6",
3031
"@eslint/js": "9.33.0",
31-
"@vitest/coverage-v8": "2.1.9",
32-
"eslint-config-prettier": "9.1.2",
32+
"@vitest/coverage-v8": "3.2.4",
33+
"eslint-config-prettier": "10.1.8",
3334
"eslint-plugin-prettier": "5.5.4",
34-
"eslint-plugin-vue": "^9.32.0",
35-
"globals": "^15.14.0",
36-
"happy-dom": "15.11.7",
35+
"eslint-plugin-vue": "^10.4.0",
36+
"globals": "^16.3.0",
37+
"happy-dom": "18.0.1",
3738
"lefthook": "1.12.3",
3839
"prettier": "3.6.2",
3940
"publint": "^0.3.4",
4041
"typescript": "5.9.2",
4142
"typescript-eslint": "8.39.1",
42-
"vite": "6.3.5",
43-
"vitest": "2.1.9"
43+
"vite": "7.1.2",
44+
"vitest": "3.2.4"
4445
},
4546
"dependencies": {
4647
"eslint": "9.33.0"

packages/core/build.config.ts

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@ const umd = (entryName: string): BuildConfig => ({
1717
output: {
1818
format: 'umd',
1919
name: 'VueTypes',
20+
exports: 'named',
2021
inlineDynamicImports: true,
2122
},
2223
esbuild: {
@@ -45,6 +46,9 @@ export default defineBuildConfig([
4546
emitCJS: true,
4647
cjsBridge: true,
4748
inlineDependencies: true,
49+
output: {
50+
exports: 'named',
51+
},
4852
},
4953
declaration: true,
5054
},

packages/core/package.json

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -66,9 +66,9 @@
6666
"vue": "^3.0.0"
6767
},
6868
"devDependencies": {
69-
"@types/node": "20.19.11",
69+
"@types/node": "24.3.0",
7070
"typescript": "5.9.2",
71-
"unbuild": "2.0.0"
71+
"unbuild": "3.6.1"
7272
},
7373
"peerDependenciesMeta": {
7474
"vue": {

packages/docs/.vitepress/config.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -56,6 +56,7 @@ export default defineConfig({
5656
{ text: 'Using VueTypes', link: '/guide/validators' },
5757

5858
{ text: 'Configuration', link: '/guide/configuration' },
59+
{ text: 'Nuxt', link: '/guide/configuration' },
5960
],
6061
},
6162
{

packages/docs/guide/installation.md

Lines changed: 0 additions & 32 deletions
Original file line numberDiff line numberDiff line change
@@ -144,35 +144,3 @@ return {
144144
::: warning
145145
If using [@rollup/plugin-node-resolve](https://www.npmjs.com/package/@rollup/plugin-node-resolve), place the alias plugin **before** the resolve plugin.
146146
:::
147-
148-
### Nuxt Configuration
149-
150-
VueTypes provides a Nuxt module that automatically enables the shim for production builds:
151-
152-
```sh
153-
npm install vue-types-nuxt --save-dev
154-
```
155-
156-
```ts
157-
// nuxt.config.ts
158-
159-
export default {
160-
// Other settings
161-
modules: ['vue-types-nuxt'],
162-
}
163-
```
164-
165-
To explicitly enable the shim, set the `shim` option:
166-
167-
```ts
168-
// nuxt.config.ts
169-
170-
export default {
171-
modules: ['vue-types-nuxt'],
172-
173-
// Enable the shim even during development
174-
vueTypes: {
175-
shim: true,
176-
},
177-
}
178-
```

packages/docs/guide/nuxt.md

Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,31 @@
1+
# Nuxt
2+
3+
VueTypes provides a Nuxt module that automatically enables the shim for production builds:
4+
5+
```sh
6+
npm install vue-types-nuxt --save-dev
7+
```
8+
9+
```ts
10+
// nuxt.config.ts
11+
12+
export default {
13+
// Other settings
14+
modules: ['vue-types-nuxt'],
15+
}
16+
```
17+
18+
To explicitly enable the shim, set the `shim` option:
19+
20+
```ts
21+
// nuxt.config.ts
22+
23+
export default {
24+
modules: ['vue-types-nuxt'],
25+
26+
// Enable the shim even during development
27+
vueTypes: {
28+
shim: true,
29+
},
30+
}
31+
```

packages/docs/package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@
1111
"lint:md": "prettier '**/*.md' --check"
1212
},
1313
"devDependencies": {
14-
"cross-env": "7.0.3",
14+
"cross-env": "10.0.0",
1515
"markdown-it-container": "4.0.0",
1616
"vitepress": "1.6.4",
1717
"vitepress-plugin-tabs": "^0.7.0",

0 commit comments

Comments
 (0)