vuetify-nuxt-module 0.14.0 → 0.15.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/module.json +2 -2
- package/dist/module.mjs +42 -35
- package/package.json +11 -9
package/dist/module.json
CHANGED
package/dist/module.mjs
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { addVitePlugin, addPluginTemplate, extendWebpackConfig, addImports, addPlugin, useLogger, defineNuxtModule,
|
|
1
|
+
import { addVitePlugin, addPluginTemplate, extendWebpackConfig, addImports, addPlugin, useLogger, defineNuxtModule, isNuxt2, getNuxtVersion, createResolver, hasNuxtModule } from '@nuxt/kit';
|
|
2
2
|
import { isPackageExists, getPackageInfo } from 'local-pkg';
|
|
3
3
|
import { resolve, dirname, relative, extname } from 'node:path';
|
|
4
4
|
import defu from 'defu';
|
|
@@ -8,13 +8,13 @@ import process from 'node:process';
|
|
|
8
8
|
import { createConfigLoader } from 'unconfig';
|
|
9
9
|
import { readFile } from 'node:fs/promises';
|
|
10
10
|
import { resolveVuetifyBase, normalizePath, generateImports } from '@vuetify/loader-shared';
|
|
11
|
-
import { transformAssetUrls } from 'vite-plugin-vuetify';
|
|
12
11
|
import { isAbsolute, join, relative as relative$1 } from 'pathe';
|
|
12
|
+
import { transformAssetUrls } from 'vite-plugin-vuetify';
|
|
13
13
|
import { pathToFileURL } from 'node:url';
|
|
14
14
|
import { parseQuery, parseURL } from 'ufo';
|
|
15
15
|
import destr from 'destr';
|
|
16
16
|
|
|
17
|
-
const version = "0.
|
|
17
|
+
const version = "0.15.0";
|
|
18
18
|
|
|
19
19
|
const VIRTUAL_VUETIFY_CONFIGURATION = "virtual:vuetify-configuration";
|
|
20
20
|
const RESOLVED_VIRTUAL_VUETIFY_CONFIGURATION = `/@nuxt-vuetify-configuration/${VIRTUAL_VUETIFY_CONFIGURATION.slice("virtual:".length)}`;
|
|
@@ -109,14 +109,14 @@ async function mergeVuetifyModules(options, nuxt) {
|
|
|
109
109
|
else
|
|
110
110
|
resolvedOptions.sources.forEach((s) => vuetifyConfigurationFilesToWatch.add(s.replace(/\\/g, "/")));
|
|
111
111
|
}
|
|
112
|
-
moduleOptions.
|
|
112
|
+
moduleOptions.unshift({
|
|
113
113
|
moduleOptions: options.moduleOptions,
|
|
114
114
|
vuetifyOptions: resolvedOptions.config
|
|
115
115
|
});
|
|
116
116
|
if (moduleOptions.length > 1) {
|
|
117
|
-
const [
|
|
118
|
-
const configuration = defu(
|
|
119
|
-
dedupeIcons(configuration, moduleOptions);
|
|
117
|
+
const [app, ...rest] = moduleOptions;
|
|
118
|
+
const configuration = defu(app, ...rest);
|
|
119
|
+
dedupeIcons(configuration, moduleOptions.reverse());
|
|
120
120
|
return {
|
|
121
121
|
configuration,
|
|
122
122
|
vuetifyConfigurationFilesToWatch
|
|
@@ -608,6 +608,29 @@ function pascalize(str) {
|
|
|
608
608
|
return pascal;
|
|
609
609
|
}
|
|
610
610
|
pascalize.cache = /* @__PURE__ */ new Map();
|
|
611
|
+
function createTransformAssetUrls(ctx, viteInlineConfig) {
|
|
612
|
+
const { includeTransformAssetsUrls } = ctx.moduleOptions;
|
|
613
|
+
if (!includeTransformAssetsUrls)
|
|
614
|
+
return void 0;
|
|
615
|
+
let existingTransformAssetUrls = viteInlineConfig.vue?.template?.transformAssetUrls ?? {};
|
|
616
|
+
let useURLOptions;
|
|
617
|
+
if (typeof existingTransformAssetUrls === "boolean") {
|
|
618
|
+
existingTransformAssetUrls = {};
|
|
619
|
+
} else if ("base" in existingTransformAssetUrls || "includeAbsolute" in existingTransformAssetUrls || "tags" in existingTransformAssetUrls) {
|
|
620
|
+
useURLOptions = {
|
|
621
|
+
base: existingTransformAssetUrls.base,
|
|
622
|
+
includeAbsolute: existingTransformAssetUrls.includeAbsolute
|
|
623
|
+
};
|
|
624
|
+
existingTransformAssetUrls = existingTransformAssetUrls.tags ?? {};
|
|
625
|
+
}
|
|
626
|
+
const transformAssetUrls$1 = normalizeTransformAssetUrls(
|
|
627
|
+
typeof includeTransformAssetsUrls === "object" ? defu(existingTransformAssetUrls, transformAssetUrls, includeTransformAssetsUrls) : defu(existingTransformAssetUrls, transformAssetUrls)
|
|
628
|
+
);
|
|
629
|
+
if (!useURLOptions)
|
|
630
|
+
return transformAssetUrls$1;
|
|
631
|
+
useURLOptions.tags = transformAssetUrls$1;
|
|
632
|
+
return useURLOptions;
|
|
633
|
+
}
|
|
611
634
|
function normalizeTransformAssetUrls(transformAssetUrls) {
|
|
612
635
|
const names = new Set(Object.keys(transformAssetUrls));
|
|
613
636
|
let kebab;
|
|
@@ -774,9 +797,9 @@ async function buildConfiguration(ctx) {
|
|
|
774
797
|
config.aliasEntries.push(`'${key}': ${component}`);
|
|
775
798
|
});
|
|
776
799
|
componentsToImport.forEach((componentsArray, from) => {
|
|
777
|
-
config.imports.push(`import {${componentsArray.join(",")}} from 'vuetify/components/${from}'`);
|
|
800
|
+
config.imports.push(`import {${Array.from(new Set(componentsArray)).join(",")}} from 'vuetify/components/${from}'`);
|
|
778
801
|
});
|
|
779
|
-
let addDatePicker = true;
|
|
802
|
+
let addDatePicker = ctx.vuetify3_4 === true ? !Array.from(componentsToImport.values()).some((components2) => components2.includes("VDatePicker")) : true;
|
|
780
803
|
if (labComponents) {
|
|
781
804
|
const useLabComponents = [];
|
|
782
805
|
if (typeof labComponents === "boolean") {
|
|
@@ -819,7 +842,7 @@ async function buildConfiguration(ctx) {
|
|
|
819
842
|
}
|
|
820
843
|
}
|
|
821
844
|
componentsToImport.forEach((componentsArray, from) => {
|
|
822
|
-
config.imports.push(`import {${componentsArray.join(",")}} from 'vuetify/labs/${from}'`);
|
|
845
|
+
config.imports.push(`import {${Array.from(new Set(componentsArray)).join(",")}} from 'vuetify/labs/${from}'`);
|
|
823
846
|
});
|
|
824
847
|
}
|
|
825
848
|
}
|
|
@@ -1183,33 +1206,17 @@ function configureVite(configKey, nuxt, ctx) {
|
|
|
1183
1206
|
configKey
|
|
1184
1207
|
];
|
|
1185
1208
|
}
|
|
1186
|
-
const
|
|
1187
|
-
|
|
1209
|
+
const transformAssetUrls = createTransformAssetUrls(
|
|
1210
|
+
ctx,
|
|
1211
|
+
viteInlineConfig
|
|
1212
|
+
);
|
|
1213
|
+
if (transformAssetUrls) {
|
|
1188
1214
|
viteInlineConfig.vue ??= {};
|
|
1189
1215
|
viteInlineConfig.vue.template ??= {};
|
|
1190
|
-
|
|
1191
|
-
let useURLOptions;
|
|
1192
|
-
if (typeof existingTransformAssetUrls === "boolean") {
|
|
1193
|
-
existingTransformAssetUrls = {};
|
|
1194
|
-
} else if ("base" in existingTransformAssetUrls || "includeAbsolute" in existingTransformAssetUrls || "tags" in existingTransformAssetUrls) {
|
|
1195
|
-
useURLOptions = {
|
|
1196
|
-
base: existingTransformAssetUrls.base,
|
|
1197
|
-
includeAbsolute: existingTransformAssetUrls.includeAbsolute
|
|
1198
|
-
};
|
|
1199
|
-
existingTransformAssetUrls = existingTransformAssetUrls.tags ?? {};
|
|
1200
|
-
}
|
|
1201
|
-
const transformAssetUrls$1 = normalizeTransformAssetUrls(
|
|
1202
|
-
typeof includeTransformAssetsUrls === "object" ? defu(existingTransformAssetUrls, transformAssetUrls, includeTransformAssetsUrls) : defu(existingTransformAssetUrls, transformAssetUrls)
|
|
1203
|
-
);
|
|
1204
|
-
if (useURLOptions) {
|
|
1205
|
-
useURLOptions.tags = transformAssetUrls$1;
|
|
1206
|
-
viteInlineConfig.vue.template.transformAssetUrls = useURLOptions;
|
|
1207
|
-
} else {
|
|
1208
|
-
viteInlineConfig.vue.template.transformAssetUrls = transformAssetUrls$1;
|
|
1209
|
-
}
|
|
1216
|
+
viteInlineConfig.vue.template.transformAssetUrls = transformAssetUrls;
|
|
1210
1217
|
}
|
|
1211
1218
|
viteInlineConfig.plugins.push(vuetifyImportPlugin({}));
|
|
1212
|
-
viteInlineConfig.plugins.push(vuetifyStylesPlugin({ styles }, ctx.logger));
|
|
1219
|
+
viteInlineConfig.plugins.push(vuetifyStylesPlugin({ styles: ctx.moduleOptions.styles }, ctx.logger));
|
|
1213
1220
|
viteInlineConfig.plugins.push(vuetifyConfigurationPlugin(ctx));
|
|
1214
1221
|
viteInlineConfig.plugins.push(vuetifyIconsPlugin(ctx));
|
|
1215
1222
|
viteInlineConfig.plugins.push(vuetifyDateConfigurationPlugin(ctx));
|
|
@@ -1351,7 +1358,7 @@ const module = defineNuxtModule({
|
|
|
1351
1358
|
name: "vuetify-nuxt-module",
|
|
1352
1359
|
configKey: "vuetify",
|
|
1353
1360
|
compatibility: {
|
|
1354
|
-
nuxt: "
|
|
1361
|
+
nuxt: ">=3.9.0",
|
|
1355
1362
|
bridge: false
|
|
1356
1363
|
},
|
|
1357
1364
|
version
|
|
@@ -1368,7 +1375,7 @@ const module = defineNuxtModule({
|
|
|
1368
1375
|
}
|
|
1369
1376
|
}),
|
|
1370
1377
|
async setup(options, nuxt) {
|
|
1371
|
-
if (
|
|
1378
|
+
if (isNuxt2(nuxt))
|
|
1372
1379
|
logger.error(`Cannot support nuxt version: ${getNuxtVersion(nuxt)}`);
|
|
1373
1380
|
const vuetifyPkg = await getPackageInfo("vuetify");
|
|
1374
1381
|
const versions = vuetifyPkg?.version?.split(".").map((v) => Number.parseInt(v));
|
package/package.json
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "vuetify-nuxt-module",
|
|
3
3
|
"type": "module",
|
|
4
|
-
"version": "0.
|
|
5
|
-
"packageManager": "pnpm@9.
|
|
4
|
+
"version": "0.15.0",
|
|
5
|
+
"packageManager": "pnpm@9.5.0",
|
|
6
6
|
"description": "Zero-Config Nuxt Module for Vuetify",
|
|
7
7
|
"author": "userquin <userquin@gmail.com>",
|
|
8
8
|
"license": "MIT",
|
|
@@ -65,7 +65,7 @@
|
|
|
65
65
|
"release": "bumpp && npm publish"
|
|
66
66
|
},
|
|
67
67
|
"dependencies": {
|
|
68
|
-
"@nuxt/kit": "^3.
|
|
68
|
+
"@nuxt/kit": "^3.12.3",
|
|
69
69
|
"defu": "^6.1.4",
|
|
70
70
|
"destr": "^2.0.3",
|
|
71
71
|
"local-pkg": "^0.5.0",
|
|
@@ -74,7 +74,7 @@
|
|
|
74
74
|
"ufo": "^1.5.3",
|
|
75
75
|
"unconfig": "^0.3.11",
|
|
76
76
|
"vite-plugin-vuetify": "^2.0.3",
|
|
77
|
-
"vuetify": "^3.6.
|
|
77
|
+
"vuetify": "^3.6.12"
|
|
78
78
|
},
|
|
79
79
|
"devDependencies": {
|
|
80
80
|
"@antfu/eslint-config": "^0.43.1",
|
|
@@ -86,10 +86,10 @@
|
|
|
86
86
|
"@iconify-json/carbon": "^1.1.21",
|
|
87
87
|
"@iconify-json/mdi": "^1.1.55",
|
|
88
88
|
"@mdi/js": "^7.3.67",
|
|
89
|
-
"@nuxt/devtools": "
|
|
89
|
+
"@nuxt/devtools": "latest",
|
|
90
90
|
"@nuxt/module-builder": "^0.5.5",
|
|
91
|
-
"@nuxt/schema": "^3.
|
|
92
|
-
"@nuxt/test-utils": "^3.
|
|
91
|
+
"@nuxt/schema": "^3.12.3",
|
|
92
|
+
"@nuxt/test-utils": "^3.13.1",
|
|
93
93
|
"@nuxtjs/i18n": "^8.0.0",
|
|
94
94
|
"@parcel/watcher": "^2.3.0",
|
|
95
95
|
"@types/node": "^18",
|
|
@@ -104,7 +104,7 @@
|
|
|
104
104
|
"typescript": "^5.3.3",
|
|
105
105
|
"vite": "^5.0.12",
|
|
106
106
|
"vitest": "^1.4.0",
|
|
107
|
-
"vue-tsc": "^2.0.
|
|
107
|
+
"vue-tsc": "^2.0.26"
|
|
108
108
|
},
|
|
109
109
|
"pnpm": {
|
|
110
110
|
"peerDependencyRules": {
|
|
@@ -114,7 +114,9 @@
|
|
|
114
114
|
}
|
|
115
115
|
},
|
|
116
116
|
"resolutions": {
|
|
117
|
-
"@nuxt/kit": "3.
|
|
117
|
+
"@nuxt/kit": "3.12.3",
|
|
118
|
+
"vite": "5.3.2",
|
|
119
|
+
"vue": "3.4.31"
|
|
118
120
|
},
|
|
119
121
|
"build": {
|
|
120
122
|
"externals": [
|