@serwist/nuxt 9.1.0-preview.0 → 9.1.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.d.mts +3 -2
- package/dist/module.json +3 -4
- package/dist/module.mjs +26 -25
- package/dist/runtime/plugins/client.d.ts +5 -1
- package/dist/types.d.mts +3 -1
- package/package.json +15 -16
- package/dist/module.cjs +0 -5
- package/dist/module.d.ts +0 -34
- package/dist/types.d.ts +0 -1
package/dist/module.d.mts
CHANGED
@@ -1,5 +1,5 @@
|
|
1
1
|
import * as _nuxt_schema from '@nuxt/schema';
|
2
|
-
import { PluginOptions } from 'vite
|
2
|
+
import { PluginOptions } from '@serwist/vite';
|
3
3
|
|
4
4
|
/**
|
5
5
|
* Make certain fields in a object type optional
|
@@ -31,4 +31,5 @@ interface ModuleOptions extends Optional<PluginOptions, "swSrc" | "swDest" | "gl
|
|
31
31
|
|
32
32
|
declare const _default: _nuxt_schema.NuxtModule<ModuleOptions, ModuleOptions, false>;
|
33
33
|
|
34
|
-
export {
|
34
|
+
export { _default as default };
|
35
|
+
export type { ClientOptions, ModuleOptions };
|
package/dist/module.json
CHANGED
@@ -2,12 +2,11 @@
|
|
2
2
|
"name": "@serwist/nuxt",
|
3
3
|
"configKey": "serwist",
|
4
4
|
"compatibility": {
|
5
|
-
"nuxt": "^3.8.0"
|
6
|
-
"bridge": false
|
5
|
+
"nuxt": "^3.8.0 || ^4.0.0"
|
7
6
|
},
|
8
|
-
"version": "9.1.0
|
7
|
+
"version": "9.1.0",
|
9
8
|
"builder": {
|
10
|
-
"@nuxt/module-builder": "0.
|
9
|
+
"@nuxt/module-builder": "1.0.1",
|
11
10
|
"unbuild": "unknown"
|
12
11
|
}
|
13
12
|
}
|
package/dist/module.mjs
CHANGED
@@ -1,23 +1,21 @@
|
|
1
1
|
import path from 'node:path';
|
2
2
|
import { defineNuxtModule, createResolver, addPlugin, extendWebpackConfig } from '@nuxt/kit';
|
3
|
-
import {
|
3
|
+
import { createContext, createApi, main, dev, resolveEntry } from '@serwist/vite';
|
4
4
|
import { createHash } from 'node:crypto';
|
5
5
|
import { createReadStream } from 'node:fs';
|
6
6
|
import fsp from 'node:fs/promises';
|
7
7
|
|
8
|
-
const version = "9.1.0
|
8
|
+
const version = "9.1.0";
|
9
9
|
|
10
10
|
function configurePwaOptions(options, nuxt, nitroConfig) {
|
11
11
|
let buildAssetsDir = nuxt.options.app.buildAssetsDir ?? "_nuxt/";
|
12
|
-
if (buildAssetsDir[0] === "/")
|
13
|
-
|
14
|
-
if (buildAssetsDir[buildAssetsDir.length - 1] !== "/")
|
15
|
-
buildAssetsDir += "/";
|
12
|
+
if (buildAssetsDir[0] === "/") buildAssetsDir = buildAssetsDir.slice(1);
|
13
|
+
if (buildAssetsDir[buildAssetsDir.length - 1] !== "/") buildAssetsDir += "/";
|
16
14
|
if (!("dontCacheBustURLsMatching" in options)) {
|
17
15
|
options.dontCacheBustURLsMatching = new RegExp(buildAssetsDir);
|
18
16
|
}
|
19
17
|
if (nuxt.options.experimental.payloadExtraction) {
|
20
|
-
const enableGlobPatterns = nuxt.options._generate || !!nitroConfig.prerender?.routes?.length || Object.values(nitroConfig.routeRules ?? {}).some((r) => r.prerender);
|
18
|
+
const enableGlobPatterns = nuxt.options.nitro.static || nuxt.options._generate || !!nitroConfig.prerender?.routes?.length || Object.values(nitroConfig.routeRules ?? {}).some((r) => r.prerender);
|
21
19
|
if (enableGlobPatterns) {
|
22
20
|
options.globPatterns = options.globPatterns ?? [];
|
23
21
|
options.globPatterns.push("**/_payload.json");
|
@@ -68,10 +66,8 @@ function createManifestTransform(base, publicDir, appManifestFolder) {
|
|
68
66
|
});
|
69
67
|
});
|
70
68
|
const latestEntry = entries.find((e) => e.url === latest);
|
71
|
-
if (latestEntry)
|
72
|
-
|
73
|
-
else
|
74
|
-
entries.push({ url: latest, revision, size: data.size });
|
69
|
+
if (latestEntry) latestEntry.revision = revision;
|
70
|
+
else entries.push({ url: latest, revision, size: data.size });
|
75
71
|
} else {
|
76
72
|
entries = entries.filter((e) => e.url !== latest);
|
77
73
|
}
|
@@ -85,13 +81,12 @@ const module = defineNuxtModule({
|
|
85
81
|
name: "@serwist/nuxt",
|
86
82
|
configKey: "serwist",
|
87
83
|
compatibility: {
|
88
|
-
nuxt: "^3.8.0"
|
89
|
-
bridge: false
|
84
|
+
nuxt: "^3.8.0 || ^4.0.0"
|
90
85
|
},
|
91
86
|
version
|
92
87
|
},
|
93
88
|
defaults(nuxt) {
|
94
|
-
const publicDir =
|
89
|
+
const publicDir = path.resolve(nuxt.options.rootDir, ".output/public");
|
95
90
|
return {
|
96
91
|
base: nuxt.options.app.baseURL,
|
97
92
|
scope: nuxt.options.app.baseURL,
|
@@ -110,11 +105,11 @@ const module = defineNuxtModule({
|
|
110
105
|
async setup(options, nuxt) {
|
111
106
|
const resolver = createResolver(import.meta.url);
|
112
107
|
let ctx;
|
108
|
+
let api;
|
113
109
|
const { client: _client, ...userOptions } = options;
|
114
110
|
const client = { registerPlugin: true, ..._client };
|
115
111
|
const runtimeDir = resolver.resolve("./runtime");
|
116
|
-
if (!nuxt.options.ssr)
|
117
|
-
nuxt.options.build.transpile.push(runtimeDir);
|
112
|
+
if (!nuxt.options.ssr) nuxt.options.build.transpile.push(runtimeDir);
|
118
113
|
if (client.registerPlugin) {
|
119
114
|
addPlugin({
|
120
115
|
src: resolver.resolve(runtimeDir, "plugins/client"),
|
@@ -128,17 +123,19 @@ const module = defineNuxtModule({
|
|
128
123
|
configurePwaOptions(options, nuxt, nitro.options);
|
129
124
|
});
|
130
125
|
nuxt.hook("vite:extend", ({ config }) => {
|
131
|
-
const plugin = config.plugins?.find((p) => p && typeof p === "object" && "name" in p && p.name === "vite
|
126
|
+
const plugin = config.plugins?.find((p) => p && typeof p === "object" && "name" in p && p.name === "@serwist/vite");
|
132
127
|
if (plugin) {
|
133
|
-
throw new Error("Remove 'vite
|
128
|
+
throw new Error("Remove '@serwist/vite' from your Vite configuration! Do not use it alongside '@serwist/nuxt'.");
|
134
129
|
}
|
135
130
|
});
|
136
131
|
nuxt.hook("vite:extendConfig", async (viteInlineConfig, { isClient }) => {
|
137
|
-
if (!viteInlineConfig.plugins)
|
132
|
+
if (!viteInlineConfig.plugins) {
|
138
133
|
viteInlineConfig.plugins = [];
|
139
|
-
|
140
|
-
|
141
|
-
|
134
|
+
}
|
135
|
+
const plugin = viteInlineConfig.plugins.find((p) => p && typeof p === "object" && "name" in p && p.name === "@serwist/vite");
|
136
|
+
if (plugin) {
|
137
|
+
throw new Error("Remove '@serwist/vite' from your Vite configuration! Do not use it alongside '@serwist/nuxt'.");
|
138
|
+
}
|
142
139
|
if (isClient) {
|
143
140
|
const configuration = "virtual:serwist-nuxt-configuration";
|
144
141
|
const resolvedConfiguration = `\0${configuration}`;
|
@@ -160,15 +157,19 @@ const module = defineNuxtModule({
|
|
160
157
|
});
|
161
158
|
}
|
162
159
|
ctx = createContext(userOptions, "nuxt");
|
163
|
-
|
160
|
+
api = createApi(ctx);
|
161
|
+
const plugins = [main(ctx, api), dev(ctx, api)];
|
162
|
+
viteInlineConfig.plugins.push(plugins);
|
164
163
|
});
|
165
164
|
extendWebpackConfig(() => {
|
166
165
|
throw new Error("Webpack is not supported: '@serwist/nuxt' can only be used with Vite!");
|
167
166
|
});
|
168
167
|
if (!nuxt.options.dev) {
|
169
168
|
nuxt.hook("nitro:build:public-assets", () => {
|
170
|
-
if (
|
171
|
-
|
169
|
+
if (!api || api.disabled) {
|
170
|
+
return;
|
171
|
+
}
|
172
|
+
void api.generateSW();
|
172
173
|
});
|
173
174
|
}
|
174
175
|
}
|
package/dist/types.d.mts
CHANGED
package/package.json
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
{
|
2
2
|
"name": "@serwist/nuxt",
|
3
|
-
"version": "9.1.0
|
3
|
+
"version": "9.1.0",
|
4
4
|
"type": "module",
|
5
5
|
"description": "A Nuxt module that integrates Serwist into your application.",
|
6
6
|
"files": [
|
@@ -27,7 +27,6 @@
|
|
27
27
|
"bugs": "https://github.com/serwist/serwist/issues",
|
28
28
|
"homepage": "https://serwist.pages.dev",
|
29
29
|
"main": "./dist/module.mjs",
|
30
|
-
"types": "./dist/types.d.ts",
|
31
30
|
"exports": {
|
32
31
|
".": {
|
33
32
|
"types": "./dist/types.d.mts",
|
@@ -45,29 +44,29 @@
|
|
45
44
|
"vite",
|
46
45
|
"@nuxt/kit",
|
47
46
|
"@serwist/build",
|
48
|
-
"vite
|
47
|
+
"@serwist/vite",
|
49
48
|
"virtual:serwist-nuxt-configuration",
|
50
49
|
"virtual:serwist"
|
51
50
|
]
|
52
51
|
},
|
53
52
|
"dependencies": {
|
54
|
-
"@nuxt/kit": "
|
55
|
-
"@serwist/build": "9.1.0
|
56
|
-
"vite
|
57
|
-
"@serwist/window": "9.1.0
|
53
|
+
"@nuxt/kit": "4.0.0",
|
54
|
+
"@serwist/build": "9.1.0",
|
55
|
+
"@serwist/vite": "9.1.0",
|
56
|
+
"@serwist/window": "9.1.0"
|
58
57
|
},
|
59
58
|
"devDependencies": {
|
60
|
-
"@nuxt/module-builder": "0.
|
61
|
-
"@nuxt/schema": "
|
62
|
-
"@types/node": "
|
63
|
-
"eslint": "9.
|
64
|
-
"nuxt": "
|
59
|
+
"@nuxt/module-builder": "1.0.1",
|
60
|
+
"@nuxt/schema": "4.0.0",
|
61
|
+
"@types/node": "24.0.14",
|
62
|
+
"eslint": "9.31.0",
|
63
|
+
"nuxt": "4.0.0",
|
65
64
|
"rimraf": "5.0.9",
|
66
65
|
"serve": "14.2.4",
|
67
|
-
"typescript": "5.
|
68
|
-
"vite": "
|
69
|
-
"vue-tsc": "
|
70
|
-
"@serwist/configs": "9.1.0
|
66
|
+
"typescript": "5.8.3",
|
67
|
+
"vite": "7.0.4",
|
68
|
+
"vue-tsc": "3.0.1",
|
69
|
+
"@serwist/configs": "9.1.0"
|
71
70
|
},
|
72
71
|
"peerDependencies": {
|
73
72
|
"typescript": ">=5.0.0",
|
package/dist/module.cjs
DELETED
package/dist/module.d.ts
DELETED
@@ -1,34 +0,0 @@
|
|
1
|
-
import * as _nuxt_schema from '@nuxt/schema';
|
2
|
-
import { PluginOptions } from 'vite-plugin-serwist';
|
3
|
-
|
4
|
-
/**
|
5
|
-
* Make certain fields in a object type optional
|
6
|
-
*
|
7
|
-
* @example
|
8
|
-
* interface A {
|
9
|
-
* a: string;
|
10
|
-
* b: string;
|
11
|
-
* c: string;
|
12
|
-
* }
|
13
|
-
* type B = Optional<A, "b" | "c">;
|
14
|
-
* const b: B = { a: "hehe" }; //valid
|
15
|
-
* const b: B = {}; //invalid
|
16
|
-
*/
|
17
|
-
type Optional<T, U extends keyof T> = Omit<T, U> & Partial<Pick<T, U>>;
|
18
|
-
|
19
|
-
interface ClientOptions {
|
20
|
-
/**
|
21
|
-
* Whether this plugin should be registered.
|
22
|
-
*/
|
23
|
-
registerPlugin?: boolean;
|
24
|
-
}
|
25
|
-
interface ModuleOptions extends Optional<PluginOptions, "swSrc" | "swDest" | "globDirectory"> {
|
26
|
-
/**
|
27
|
-
* Options for plugin.
|
28
|
-
*/
|
29
|
-
client?: ClientOptions;
|
30
|
-
}
|
31
|
-
|
32
|
-
declare const _default: _nuxt_schema.NuxtModule<ModuleOptions, ModuleOptions, false>;
|
33
|
-
|
34
|
-
export { type ClientOptions, type ModuleOptions, _default as default };
|
package/dist/types.d.ts
DELETED
@@ -1 +0,0 @@
|
|
1
|
-
export { type ClientOptions, type ModuleOptions, default } from './module'
|