vike 0.4.213 → 0.4.214
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/cjs/node/cli/parseCli.js +2 -2
- package/dist/cjs/node/plugin/index.js +3 -1
- package/dist/cjs/node/plugin/plugins/vite6HmrRegressionWorkaround.js +35 -0
- package/dist/cjs/utils/PROJECT_VERSION.js +1 -1
- package/dist/esm/node/cli/parseCli.js +2 -2
- package/dist/esm/node/plugin/index.js +3 -1
- package/dist/esm/node/plugin/plugins/vite6HmrRegressionWorkaround.d.ts +3 -0
- package/dist/esm/node/plugin/plugins/vite6HmrRegressionWorkaround.js +33 -0
- package/dist/esm/shared/ConfigVike.d.ts +1 -1
- package/dist/esm/utils/PROJECT_VERSION.d.ts +1 -1
- package/dist/esm/utils/PROJECT_VERSION.js +1 -1
- package/dist/esm/utils/projectInfo.d.ts +1 -1
- package/package.json +13 -6
|
@@ -9,8 +9,8 @@ const utils_js_1 = require("./utils.js");
|
|
|
9
9
|
const commands = [
|
|
10
10
|
{ name: 'dev', desc: 'Start development server' },
|
|
11
11
|
{ name: 'build', desc: 'Build for production' },
|
|
12
|
-
{ name: 'preview', desc: 'Start preview server using production build' },
|
|
13
|
-
{ name: 'prerender', desc: 'Pre-render pages' }
|
|
12
|
+
{ name: 'preview', desc: 'Start preview server using production build (only works for SSG apps)' },
|
|
13
|
+
{ name: 'prerender', desc: 'Pre-render pages (only needed when partial.disableAutoRun is true)' }
|
|
14
14
|
];
|
|
15
15
|
function parseCli() {
|
|
16
16
|
const command = (() => {
|
|
@@ -33,6 +33,7 @@ const fileEnv_js_1 = require("./plugins/fileEnv.js");
|
|
|
33
33
|
const getPageAssets_js_1 = require("../runtime/renderPage/getPageAssets.js");
|
|
34
34
|
const resolveClientEntriesDev_js_1 = require("./resolveClientEntriesDev.js");
|
|
35
35
|
const workaroundCssModuleHmr_js_1 = require("./plugins/workaroundCssModuleHmr.js");
|
|
36
|
+
const vite6HmrRegressionWorkaround_js_1 = require("./plugins/vite6HmrRegressionWorkaround.js");
|
|
36
37
|
(0, utils_js_2.assertNodeEnv_onVikePluginLoad)();
|
|
37
38
|
(0, utils_js_2.markEnvAsVikePluginLoaded)();
|
|
38
39
|
assertViteVersion();
|
|
@@ -58,7 +59,8 @@ function plugin(vikeConfig) {
|
|
|
58
59
|
(0, baseUrls_js_1.baseUrls)(vikeConfig),
|
|
59
60
|
(0, envVars_js_1.envVarsPlugin)(),
|
|
60
61
|
(0, fileEnv_js_1.fileEnv)(),
|
|
61
|
-
(0, workaroundCssModuleHmr_js_1.workaroundCssModuleHmr)()
|
|
62
|
+
(0, workaroundCssModuleHmr_js_1.workaroundCssModuleHmr)(),
|
|
63
|
+
(0, vite6HmrRegressionWorkaround_js_1.vite6HmrRegressionWorkaround)()
|
|
62
64
|
];
|
|
63
65
|
return plugins;
|
|
64
66
|
}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.vite6HmrRegressionWorkaround = vite6HmrRegressionWorkaround;
|
|
4
|
+
// https://vite.dev/guide/migration (will be 404 after vite@7 release) > search for `hmrReload()`
|
|
5
|
+
// https://v6.vite.dev/guide/migration (will exist after vite@7 release) > search for `hmrReload()`
|
|
6
|
+
// Workaround seems to work for docs page /banner (which is HTML-only)
|
|
7
|
+
// But doesn't seem to work for /examples/render-modes/ (see https://github.com/vikejs/vike/pull/2069 commit `renable HMR test for HTML-only`)
|
|
8
|
+
function vite6HmrRegressionWorkaround() {
|
|
9
|
+
return {
|
|
10
|
+
name: 'vike:vite6HmrRegressionWorkaround',
|
|
11
|
+
enforce: 'post',
|
|
12
|
+
hotUpdate: {
|
|
13
|
+
order: 'post',
|
|
14
|
+
handler({ modules, server, timestamp }) {
|
|
15
|
+
if (this.environment.name !== 'ssr')
|
|
16
|
+
return;
|
|
17
|
+
let hasSsrOnlyModules = false;
|
|
18
|
+
const invalidatedModules = new Set();
|
|
19
|
+
for (const mod of modules) {
|
|
20
|
+
if (mod.id == null)
|
|
21
|
+
continue;
|
|
22
|
+
const clientModule = server.environments.client.moduleGraph.getModuleById(mod.id);
|
|
23
|
+
if (clientModule != null)
|
|
24
|
+
continue;
|
|
25
|
+
this.environment.moduleGraph.invalidateModule(mod, invalidatedModules, timestamp, true);
|
|
26
|
+
hasSsrOnlyModules = true;
|
|
27
|
+
}
|
|
28
|
+
if (hasSsrOnlyModules) {
|
|
29
|
+
server.ws.send({ type: 'full-reload' });
|
|
30
|
+
return [];
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
};
|
|
35
|
+
}
|
|
@@ -4,8 +4,8 @@ import { projectInfo, includes } from './utils.js';
|
|
|
4
4
|
const commands = [
|
|
5
5
|
{ name: 'dev', desc: 'Start development server' },
|
|
6
6
|
{ name: 'build', desc: 'Build for production' },
|
|
7
|
-
{ name: 'preview', desc: 'Start preview server using production build' },
|
|
8
|
-
{ name: 'prerender', desc: 'Pre-render pages' }
|
|
7
|
+
{ name: 'preview', desc: 'Start preview server using production build (only works for SSG apps)' },
|
|
8
|
+
{ name: 'prerender', desc: 'Pre-render pages (only needed when partial.disableAutoRun is true)' }
|
|
9
9
|
];
|
|
10
10
|
function parseCli() {
|
|
11
11
|
const command = (() => {
|
|
@@ -27,6 +27,7 @@ import { fileEnv } from './plugins/fileEnv.js';
|
|
|
27
27
|
import { setResolveClientEntriesDev } from '../runtime/renderPage/getPageAssets.js';
|
|
28
28
|
import { resolveClientEntriesDev } from './resolveClientEntriesDev.js';
|
|
29
29
|
import { workaroundCssModuleHmr } from './plugins/workaroundCssModuleHmr.js';
|
|
30
|
+
import { vite6HmrRegressionWorkaround } from './plugins/vite6HmrRegressionWorkaround.js';
|
|
30
31
|
assertNodeEnv_onVikePluginLoad();
|
|
31
32
|
markEnvAsVikePluginLoaded();
|
|
32
33
|
assertViteVersion();
|
|
@@ -52,7 +53,8 @@ function plugin(vikeConfig) {
|
|
|
52
53
|
baseUrls(vikeConfig),
|
|
53
54
|
envVarsPlugin(),
|
|
54
55
|
fileEnv(),
|
|
55
|
-
workaroundCssModuleHmr()
|
|
56
|
+
workaroundCssModuleHmr(),
|
|
57
|
+
vite6HmrRegressionWorkaround()
|
|
56
58
|
];
|
|
57
59
|
return plugins;
|
|
58
60
|
}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
export { vite6HmrRegressionWorkaround };
|
|
2
|
+
// https://vite.dev/guide/migration (will be 404 after vite@7 release) > search for `hmrReload()`
|
|
3
|
+
// https://v6.vite.dev/guide/migration (will exist after vite@7 release) > search for `hmrReload()`
|
|
4
|
+
// Workaround seems to work for docs page /banner (which is HTML-only)
|
|
5
|
+
// But doesn't seem to work for /examples/render-modes/ (see https://github.com/vikejs/vike/pull/2069 commit `renable HMR test for HTML-only`)
|
|
6
|
+
function vite6HmrRegressionWorkaround() {
|
|
7
|
+
return {
|
|
8
|
+
name: 'vike:vite6HmrRegressionWorkaround',
|
|
9
|
+
enforce: 'post',
|
|
10
|
+
hotUpdate: {
|
|
11
|
+
order: 'post',
|
|
12
|
+
handler({ modules, server, timestamp }) {
|
|
13
|
+
if (this.environment.name !== 'ssr')
|
|
14
|
+
return;
|
|
15
|
+
let hasSsrOnlyModules = false;
|
|
16
|
+
const invalidatedModules = new Set();
|
|
17
|
+
for (const mod of modules) {
|
|
18
|
+
if (mod.id == null)
|
|
19
|
+
continue;
|
|
20
|
+
const clientModule = server.environments.client.moduleGraph.getModuleById(mod.id);
|
|
21
|
+
if (clientModule != null)
|
|
22
|
+
continue;
|
|
23
|
+
this.environment.moduleGraph.invalidateModule(mod, invalidatedModules, timestamp, true);
|
|
24
|
+
hasSsrOnlyModules = true;
|
|
25
|
+
}
|
|
26
|
+
if (hasSsrOnlyModules) {
|
|
27
|
+
server.ws.send({ type: 'full-reload' });
|
|
28
|
+
return [];
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
};
|
|
33
|
+
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
export declare const PROJECT_VERSION: "0.4.
|
|
1
|
+
export declare const PROJECT_VERSION: "0.4.214";
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
// Automatically updated by @brillout/release-me
|
|
2
|
-
export const PROJECT_VERSION = '0.4.
|
|
2
|
+
export const PROJECT_VERSION = '0.4.214';
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "vike",
|
|
3
|
-
"version": "0.4.
|
|
3
|
+
"version": "0.4.214",
|
|
4
4
|
"repository": "https://github.com/vikejs/vike",
|
|
5
5
|
"exports": {
|
|
6
6
|
"./server": {
|
|
@@ -139,7 +139,8 @@
|
|
|
139
139
|
"fast-glob": "^3.0.0",
|
|
140
140
|
"json5": "^2.0.0",
|
|
141
141
|
"semver": "^7.0.0",
|
|
142
|
-
"source-map-support": "^0.5.0"
|
|
142
|
+
"source-map-support": "^0.5.0",
|
|
143
|
+
"vite": ">=5.1.0"
|
|
143
144
|
},
|
|
144
145
|
"peerDependencies": {
|
|
145
146
|
"react-streaming": ">=0.3.42",
|
|
@@ -148,20 +149,26 @@
|
|
|
148
149
|
"peerDependenciesMeta": {
|
|
149
150
|
"react-streaming": {
|
|
150
151
|
"optional": true
|
|
152
|
+
},
|
|
153
|
+
"vite": {
|
|
154
|
+
"optional": true
|
|
151
155
|
}
|
|
152
156
|
},
|
|
153
157
|
"engines": {
|
|
154
158
|
"node": ">=18.0.0"
|
|
155
159
|
},
|
|
156
160
|
"license": "MIT",
|
|
157
|
-
"description": "
|
|
161
|
+
"description": "The Framework *You* Control - Next.js & Nuxt alternative for unprecedented flexibility and dependability.",
|
|
158
162
|
"keywords": [
|
|
163
|
+
"vite-plugin",
|
|
164
|
+
"ssr",
|
|
165
|
+
"vite",
|
|
159
166
|
"react",
|
|
160
167
|
"vue",
|
|
161
168
|
"solid",
|
|
162
|
-
"
|
|
163
|
-
"
|
|
164
|
-
"
|
|
169
|
+
"next",
|
|
170
|
+
"remix",
|
|
171
|
+
"vike"
|
|
165
172
|
],
|
|
166
173
|
"typesVersions": {
|
|
167
174
|
"*": {
|