vike 0.4.178-commit-fae90a1 → 0.4.179

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.
@@ -28,6 +28,7 @@ function inferAssetTag(pageAsset) {
28
28
  return `<script src="${src}" ${scriptAttrs}></script>`;
29
29
  }
30
30
  if (assetType === 'style') {
31
+ // WARNING: if changing following line, then also update https://github.com/vikejs/vike/blob/fae90a15d88e5e87ca9fcbb54cf2dc8773d2f229/vike/client/shared/removeFoucBuster.ts#L29
31
32
  return `<link rel="stylesheet" type="text/css" href="${src}">`;
32
33
  }
33
34
  (0, utils_js_1.assert)(false, { pageAsset });
@@ -11,12 +11,12 @@ function injectHtmlTags(htmlString, htmlTags, position) {
11
11
  return htmlString;
12
12
  }
13
13
  exports.injectHtmlTags = injectHtmlTags;
14
- async function injectHtmlTagsUsingStream(htmlTags, streamFromReactStreamingPackage) {
14
+ function injectHtmlTagsUsingStream(htmlTags, streamFromReactStreamingPackage) {
15
15
  const htmlFragment = joinHtmlTags(htmlTags.filter((h) => h.position === 'STREAM'));
16
16
  if (htmlFragment) {
17
17
  (0, utils_js_1.assert)(streamFromReactStreamingPackage);
18
18
  (0, utils_js_1.assert)(!streamFromReactStreamingPackage.hasStreamEnded());
19
- await streamFromReactStreamingPackage.injectToStream(htmlFragment, { flush: true });
19
+ streamFromReactStreamingPackage.injectToStream(htmlFragment, { flush: true });
20
20
  }
21
21
  }
22
22
  exports.injectHtmlTagsUsingStream = injectHtmlTagsUsingStream;
@@ -29,7 +29,7 @@ function injectHtmlTagsToStream(pageContext, streamFromReactStreamingPackage, in
29
29
  htmlTags = (0, getHtmlTags_js_1.getHtmlTags)(pageContext, streamFromReactStreamingPackage, injectFilter, pageAssets, viteDevScript);
30
30
  let htmlBegin = htmlPartsToString(htmlPartsBegin, pageAssets);
31
31
  htmlBegin = injectToHtmlBegin(htmlBegin, htmlTags);
32
- await (0, injectHtmlTags_js_1.injectHtmlTagsUsingStream)(htmlTags, streamFromReactStreamingPackage);
32
+ (0, injectHtmlTags_js_1.injectHtmlTagsUsingStream)(htmlTags, streamFromReactStreamingPackage);
33
33
  return htmlBegin;
34
34
  }
35
35
  async function injectAtStreamEnd(htmlPartsEnd) {
@@ -35,6 +35,7 @@ async function getPageAssets(pageContext, clientDependencies, clientEntries) {
35
35
  return;
36
36
  }
37
37
  // https://github.com/vikejs/vike/issues/401
38
+ // WARNING: if changing following line, then also update https://github.com/vikejs/vike/blob/fae90a15d88e5e87ca9fcbb54cf2dc8773d2f229/vike/client/shared/removeFoucBuster.ts#L28
38
39
  src = src + '?direct';
39
40
  }
40
41
  const isEntry = clientEntriesSrc.includes(src) ||
@@ -1,7 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.PROJECT_VERSION = exports.projectInfo = void 0;
4
- const PROJECT_VERSION = '0.4.178-commit-fae90a1';
4
+ const PROJECT_VERSION = '0.4.179';
5
5
  exports.PROJECT_VERSION = PROJECT_VERSION;
6
6
  const projectInfo = {
7
7
  projectName: 'Vike',
@@ -1,13 +1,18 @@
1
1
  export { removeFoucBuster };
2
2
  import { assert } from './utils.js';
3
+ // See also:
4
+ // - Alternative approach of exactly injecting what Vite injects:
5
+ // - https://github.com/remix-run/remix/issues/8830#issuecomment-1968368351
6
+ // - https://github.com/rakkasjs/rakkasjs/blob/7d75ccc915e93bca04e6bab37dc6abdb68a85e4a/packages/rakkasjs/src/features/pages/middleware.tsx#L701
7
+ // - https://github.com/remix-run/remix/issues/8830
3
8
  function removeFoucBuster() {
4
9
  assert(import.meta.env.DEV);
5
10
  let sleep = 2;
6
11
  const runClean = () => {
7
- if (sleep < 1000)
8
- sleep = 2 * sleep;
9
12
  const isClean = clean();
10
13
  if (!isClean) {
14
+ if (sleep < 1000)
15
+ sleep = 2 * sleep;
11
16
  setTimeout(runClean, sleep);
12
17
  }
13
18
  };
@@ -21,10 +26,10 @@ function clean() {
21
26
  // <link rel="stylesheet" type="text/css" href="/renderer/Layout.css?direct">
22
27
  // ```
23
28
  const suffix = '?direct';
29
+ // <link> defined by:
30
+ // - https://github.com/vikejs/vike/blob/fae90a15d88e5e87ca9fcbb54cf2dc8773d2f229/vike/node/runtime/html/injectAssets/inferHtmlTags.ts#L35
31
+ // - https://github.com/vikejs/vike/blob/fae90a15d88e5e87ca9fcbb54cf2dc8773d2f229/vike/node/runtime/renderPage/getPageAssets.ts#L68
24
32
  const injectedByVike = [...document.querySelectorAll(`link[rel="stylesheet"][type="text/css"][href$="${suffix}"]`)];
25
- if (injectedByVike.length === 0) {
26
- // clearInterval(interval)
27
- }
28
33
  let isClean = true;
29
34
  injectedByVike.forEach((link) => {
30
35
  const filePathAbsoluteUserRootDir = link.getAttribute('href').slice(0, -suffix.length);
@@ -27,6 +27,7 @@ function inferAssetTag(pageAsset) {
27
27
  return `<script src="${src}" ${scriptAttrs}></script>`;
28
28
  }
29
29
  if (assetType === 'style') {
30
+ // WARNING: if changing following line, then also update https://github.com/vikejs/vike/blob/fae90a15d88e5e87ca9fcbb54cf2dc8773d2f229/vike/client/shared/removeFoucBuster.ts#L29
30
31
  return `<link rel="stylesheet" type="text/css" href="${src}">`;
31
32
  }
32
33
  assert(false, { pageAsset });
@@ -7,7 +7,7 @@ import type { StreamFromReactStreamingPackage } from '../stream/react-streaming.
7
7
  import type { HtmlTag } from './getHtmlTags.js';
8
8
  type Position = 'HTML_BEGIN' | 'HTML_END';
9
9
  declare function injectHtmlTags(htmlString: string, htmlTags: HtmlTag[], position: Position): string;
10
- declare function injectHtmlTagsUsingStream(htmlTags: HtmlTag[], streamFromReactStreamingPackage: null | StreamFromReactStreamingPackage): Promise<void>;
10
+ declare function injectHtmlTagsUsingStream(htmlTags: HtmlTag[], streamFromReactStreamingPackage: null | StreamFromReactStreamingPackage): void;
11
11
  declare function injectAtOpeningTag(tag: 'head' | 'html' | '!doctype', htmlString: string, htmlFragment: string): string;
12
12
  declare function injectAtClosingTag(tag: 'body' | 'html', htmlString: string, htmlFragment: string): string;
13
13
  declare function createHtmlHeadIfMissing(htmlString: string): string;
@@ -13,12 +13,12 @@ function injectHtmlTags(htmlString, htmlTags, position) {
13
13
  }
14
14
  return htmlString;
15
15
  }
16
- async function injectHtmlTagsUsingStream(htmlTags, streamFromReactStreamingPackage) {
16
+ function injectHtmlTagsUsingStream(htmlTags, streamFromReactStreamingPackage) {
17
17
  const htmlFragment = joinHtmlTags(htmlTags.filter((h) => h.position === 'STREAM'));
18
18
  if (htmlFragment) {
19
19
  assert(streamFromReactStreamingPackage);
20
20
  assert(!streamFromReactStreamingPackage.hasStreamEnded());
21
- await streamFromReactStreamingPackage.injectToStream(htmlFragment, { flush: true });
21
+ streamFromReactStreamingPackage.injectToStream(htmlFragment, { flush: true });
22
22
  }
23
23
  }
24
24
  function joinHtmlTags(htmlTags) {
@@ -27,7 +27,7 @@ function injectHtmlTagsToStream(pageContext, streamFromReactStreamingPackage, in
27
27
  htmlTags = getHtmlTags(pageContext, streamFromReactStreamingPackage, injectFilter, pageAssets, viteDevScript);
28
28
  let htmlBegin = htmlPartsToString(htmlPartsBegin, pageAssets);
29
29
  htmlBegin = injectToHtmlBegin(htmlBegin, htmlTags);
30
- await injectHtmlTagsUsingStream(htmlTags, streamFromReactStreamingPackage);
30
+ injectHtmlTagsUsingStream(htmlTags, streamFromReactStreamingPackage);
31
31
  return htmlBegin;
32
32
  }
33
33
  async function injectAtStreamEnd(htmlPartsEnd) {
@@ -34,6 +34,7 @@ async function getPageAssets(pageContext, clientDependencies, clientEntries) {
34
34
  return;
35
35
  }
36
36
  // https://github.com/vikejs/vike/issues/401
37
+ // WARNING: if changing following line, then also update https://github.com/vikejs/vike/blob/fae90a15d88e5e87ca9fcbb54cf2dc8773d2f229/vike/client/shared/removeFoucBuster.ts#L28
37
38
  src = src + '?direct';
38
39
  }
39
40
  const isEntry = clientEntriesSrc.includes(src) ||
@@ -1,7 +1,7 @@
1
1
  export { projectInfo };
2
2
  export { PROJECT_VERSION };
3
- declare const PROJECT_VERSION: "0.4.178-commit-fae90a1";
3
+ declare const PROJECT_VERSION: "0.4.179";
4
4
  declare const projectInfo: {
5
5
  projectName: "Vike";
6
- projectVersion: "0.4.178-commit-fae90a1";
6
+ projectVersion: "0.4.179";
7
7
  };
@@ -1,6 +1,6 @@
1
1
  export { projectInfo };
2
2
  export { PROJECT_VERSION };
3
- const PROJECT_VERSION = '0.4.178-commit-fae90a1';
3
+ const PROJECT_VERSION = '0.4.179';
4
4
  const projectInfo = {
5
5
  projectName: 'Vike',
6
6
  projectVersion: PROJECT_VERSION
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "vike",
3
- "version": "0.4.178-commit-fae90a1",
3
+ "version": "0.4.179",
4
4
  "scripts": {
5
5
  "dev": "tsc --watch",
6
6
  "build": "rimraf dist/ && pnpm run build:esm && pnpm run build:cjs",
@@ -138,7 +138,7 @@
138
138
  }
139
139
  },
140
140
  "peerDependencies": {
141
- "react-streaming": ">=0.3.40",
141
+ "react-streaming": ">=0.3.41",
142
142
  "vite": ">=4.4.0"
143
143
  },
144
144
  "peerDependenciesMeta": {
@@ -209,7 +209,7 @@
209
209
  "es-module-lexer": "^1.4.1",
210
210
  "esbuild": "^0.19.10",
211
211
  "fast-glob": "^3.3.2",
212
- "react-streaming": "^0.3.40",
212
+ "react-streaming": "^0.3.41",
213
213
  "rimraf": "^5.0.5",
214
214
  "sirv": "^2.0.4",
215
215
  "source-map-support": "^0.5.21",