Skip to content

Commit a4bb2a8

Browse files
committed
update vite-ssr-react example
1 parent ea4d21a commit a4bb2a8

File tree

3 files changed

+114
-10
lines changed

3 files changed

+114
-10
lines changed

example/ssr-react/package.json

+1
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,7 @@
2323
"@types/react-dom": "^18.2.18",
2424
"@vitejs/plugin-react": "^4.2.1",
2525
"cross-env": "^7.0.3",
26+
"ts-node": "^10.9.2",
2627
"vite": "^5.0.10"
2728
}
2829
}

example/ssr-react/server.js

+12-5
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,11 @@
1-
import fs from 'node:fs/promises';
1+
// @ts-nocheck
2+
import { readFile } from 'node:fs/promises';
23

34
import express from 'express';
45
import { loadStyleDefinitions, getCriticalStyles } from 'used-styles';
5-
import { discoverProjectStyles } from 'used-styles/node';
6+
// import { discoverProjectStyles } from 'used-styles/node';
7+
// FIXME: ESM is not fully supported
8+
import { discoverProjectStyles } from 'used-styles/dist/es5/index-node.js';
69

710
// Constants
811
const isProduction = process.env.NODE_ENV === 'production';
@@ -13,11 +16,15 @@ const base = process.env.BASE || '/';
1316
const stylesLookup = isProduction
1417
? discoverProjectStyles('./dist/client')
1518
: // in dev mode vite injects all styles to <head/> element
16-
loadStyleDefinitions(async () => []);
19+
loadStyleDefinitions(
20+
async () => [],
21+
() => '',
22+
() => true
23+
);
1724

1825
// Cached production assets
19-
const templateHtml = isProduction ? await fs.readFile('./dist/client/index.html', 'utf-8') : '';
20-
const ssrManifest = isProduction ? await fs.readFile('./dist/client/.vite/ssr-manifest.json', 'utf-8') : undefined;
26+
const templateHtml = isProduction ? await readFile('./dist/client/index.html', 'utf-8') : '';
27+
const ssrManifest = isProduction ? await readFile('./dist/client/.vite/ssr-manifest.json', 'utf-8') : undefined;
2128

2229
// Create http server
2330
const app = express();

example/ssr-react/yarn.lock

+101-5
Original file line numberDiff line numberDiff line change
@@ -209,6 +209,13 @@
209209
"@babel/helper-validator-identifier" "^7.22.20"
210210
to-fast-properties "^2.0.0"
211211

212+
"@cspotcode/source-map-support@^0.8.0":
213+
version "0.8.1"
214+
resolved "https://packages.atlassian.com/api/npm/npm-remote/@cspotcode/source-map-support/-/source-map-support-0.8.1.tgz#00629c35a688e05a88b1cda684fb9d5e73f000a1"
215+
integrity sha512-IchNf6dN4tHoMFIn/7OE8LWZ19Y6q/67Bmf6vnGREv8RSbBVb9LPJxEcnwrcwX6ixSvaiGoomAUvu4YSxXrVgw==
216+
dependencies:
217+
"@jridgewell/trace-mapping" "0.3.9"
218+
212219
"@esbuild/[email protected]":
213220
version "0.20.2"
214221
resolved "https://registry.yarnpkg.com/@esbuild/aix-ppc64/-/aix-ppc64-0.20.2.tgz#a70f4ac11c6a1dfc18b8bbb13284155d933b9537"
@@ -333,7 +340,7 @@
333340
"@jridgewell/sourcemap-codec" "^1.4.10"
334341
"@jridgewell/trace-mapping" "^0.3.24"
335342

336-
"@jridgewell/resolve-uri@^3.1.0":
343+
"@jridgewell/resolve-uri@^3.0.3", "@jridgewell/resolve-uri@^3.1.0":
337344
version "3.1.2"
338345
resolved "https://registry.yarnpkg.com/@jridgewell/resolve-uri/-/resolve-uri-3.1.2.tgz#7a0ee601f60f99a20c7c7c5ff0c80388c1189bd6"
339346
integrity sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==
@@ -348,6 +355,14 @@
348355
resolved "https://registry.yarnpkg.com/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.15.tgz#d7c6e6755c78567a951e04ab52ef0fd26de59f32"
349356
integrity sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==
350357

358+
"@jridgewell/[email protected]":
359+
version "0.3.9"
360+
resolved "https://packages.atlassian.com/api/npm/npm-remote/@jridgewell/trace-mapping/-/trace-mapping-0.3.9.tgz#6534fd5933a53ba7cbf3a17615e273a0d1273ff9"
361+
integrity sha512-3Belt6tdc8bPgAtbcmdtNJlirVoTmEb5e2gC94PnkwEW9jI6CAHUeoG85tjWP5WquqfavoMtMwiG4P926ZKKuQ==
362+
dependencies:
363+
"@jridgewell/resolve-uri" "^3.0.3"
364+
"@jridgewell/sourcemap-codec" "^1.4.10"
365+
351366
"@jridgewell/trace-mapping@^0.3.24", "@jridgewell/trace-mapping@^0.3.25":
352367
version "0.3.25"
353368
resolved "https://registry.yarnpkg.com/@jridgewell/trace-mapping/-/trace-mapping-0.3.25.tgz#15f190e98895f3fc23276ee14bc76b675c2e50f0"
@@ -441,6 +456,26 @@
441456
resolved "https://registry.yarnpkg.com/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.16.0.tgz#0db109f8e1a604da9c9a86deebd84d8d040d6671"
442457
integrity sha512-tkfxXt+7c3Ecgn7ln9NJPdBM+QKwQdmFFpgAP+FYhAuRS5y3tY8xeza82gFjbPpytkHmaQnVdMtuzbToCz2tuw==
443458

459+
"@tsconfig/node10@^1.0.7":
460+
version "1.0.11"
461+
resolved "https://packages.atlassian.com/api/npm/npm-remote/@tsconfig/node10/-/node10-1.0.11.tgz#6ee46400685f130e278128c7b38b7e031ff5b2f2"
462+
integrity sha512-DcRjDCujK/kCk/cUe8Xz8ZSpm8mS3mNNpta+jGCA6USEDfktlNvm1+IuZ9eTcDbNk41BHwpHHeW+N1lKCz4zOw==
463+
464+
"@tsconfig/node12@^1.0.7":
465+
version "1.0.11"
466+
resolved "https://packages.atlassian.com/api/npm/npm-remote/@tsconfig/node12/-/node12-1.0.11.tgz#ee3def1f27d9ed66dac6e46a295cffb0152e058d"
467+
integrity sha512-cqefuRsh12pWyGsIoBKJA9luFu3mRxCA+ORZvA4ktLSzIuCUtWVxGIuXigEwO5/ywWFMZ2QEGKWvkZG1zDMTag==
468+
469+
"@tsconfig/node14@^1.0.0":
470+
version "1.0.3"
471+
resolved "https://packages.atlassian.com/api/npm/npm-remote/@tsconfig/node14/-/node14-1.0.3.tgz#e4386316284f00b98435bf40f72f75a09dabf6c1"
472+
integrity sha512-ysT8mhdixWK6Hw3i1V2AeRqZ5WfXg1G43mqoYlM2nc6388Fq5jcXyr5mRsqViLx/GJYdoL0bfXD8nmF+Zn/Iow==
473+
474+
"@tsconfig/node16@^1.0.2":
475+
version "1.0.4"
476+
resolved "https://packages.atlassian.com/api/npm/npm-remote/@tsconfig/node16/-/node16-1.0.4.tgz#0b92dcc0cc1c81f6f306a381f28e31b1a56536e9"
477+
integrity sha512-vxhUy4J8lyeyinH7Azl1pdd43GJhZH/tP2weN8TntQblOY+A0XbT8DJk1/oCPuOOyg/Ja757rG0CgHcWC8OfMA==
478+
444479
"@types/babel__core@^7.20.5":
445480
version "7.20.5"
446481
resolved "https://registry.yarnpkg.com/@types/babel__core/-/babel__core-7.20.5.tgz#3df15f27ba85319caa07ba08d0721889bb39c017"
@@ -518,13 +553,30 @@ accepts@~1.3.5, accepts@~1.3.8:
518553
mime-types "~2.1.34"
519554
negotiator "0.6.3"
520555

556+
acorn-walk@^8.1.1:
557+
version "8.3.3"
558+
resolved "https://packages.atlassian.com/api/npm/npm-remote/acorn-walk/-/acorn-walk-8.3.3.tgz#9caeac29eefaa0c41e3d4c65137de4d6f34df43e"
559+
integrity sha512-MxXdReSRhGO7VlFe1bRG/oI7/mdLV9B9JJT0N8vZOhF7gFRR5l3M8W9G8JxmKV+JC5mGqJ0QvqfSOLsCPa4nUw==
560+
dependencies:
561+
acorn "^8.11.0"
562+
563+
acorn@^8.11.0, acorn@^8.4.1:
564+
version "8.12.0"
565+
resolved "https://packages.atlassian.com/api/npm/npm-remote/acorn/-/acorn-8.12.0.tgz#1627bfa2e058148036133b8d9b51a700663c294c"
566+
integrity sha512-RTvkC4w+KNXrM39/lWCUaG0IbRkWdCv7W/IOW9oU6SawyxulvkQy5HQPVTKxEjczcUvapcrw3cFx/60VN/NRNw==
567+
521568
ansi-styles@^3.2.1:
522569
version "3.2.1"
523570
resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-3.2.1.tgz#41fbb20243e50b12be0f04b8dedbf07520ce841d"
524571
integrity sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==
525572
dependencies:
526573
color-convert "^1.9.0"
527574

575+
arg@^4.1.0:
576+
version "4.1.3"
577+
resolved "https://packages.atlassian.com/api/npm/npm-remote/arg/-/arg-4.1.3.tgz#269fc7ad5b8e42cb63c896d5666017261c144089"
578+
integrity sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA==
579+
528580
529581
version "1.1.1"
530582
resolved "https://registry.yarnpkg.com/array-flatten/-/array-flatten-1.1.1.tgz#9a5f699051b1e7073328f2a008968b64ea2955d2"
@@ -657,6 +709,11 @@ crc-32@^1.2.0:
657709
resolved "https://registry.yarnpkg.com/crc-32/-/crc-32-1.2.2.tgz#3cad35a934b8bf71f25ca524b6da51fb7eace2ff"
658710
integrity sha512-ROmzCKrTnOwybPcJApAA6WBWij23HVfGVNKqqrZpuyZOHqK2CwHSvpGuyt/UNNvaIjEd8X5IFGp4Mh+Ie1IHJQ==
659711

712+
create-require@^1.1.0:
713+
version "1.1.1"
714+
resolved "https://packages.atlassian.com/api/npm/npm-remote/create-require/-/create-require-1.1.1.tgz#c1d7e8f1e5f6cfc9ff65f9cd352d37348756c333"
715+
integrity sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ==
716+
660717
cross-env@^7.0.3:
661718
version "7.0.3"
662719
resolved "https://registry.yarnpkg.com/cross-env/-/cross-env-7.0.3.tgz#865264b29677dc015ba8418918965dd232fc54cf"
@@ -711,6 +768,11 @@ [email protected]:
711768
resolved "https://registry.yarnpkg.com/destroy/-/destroy-1.2.0.tgz#4803735509ad8be552934c67df614f94e66fa015"
712769
integrity sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg==
713770

771+
diff@^4.0.1:
772+
version "4.0.2"
773+
resolved "https://packages.atlassian.com/api/npm/npm-remote/diff/-/diff-4.0.2.tgz#60f3aecb89d5fae520c11aa19efc2bb982aade7d"
774+
integrity sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A==
775+
714776
715777
version "1.1.1"
716778
resolved "https://registry.yarnpkg.com/ee-first/-/ee-first-1.1.1.tgz#590c61156b0ae2f4f0255732a158b266bc56b21d"
@@ -992,6 +1054,11 @@ lru-cache@^5.1.1:
9921054
dependencies:
9931055
yallist "^3.0.2"
9941056

1057+
make-error@^1.1.1:
1058+
version "1.3.6"
1059+
resolved "https://packages.atlassian.com/api/npm/npm-remote/make-error/-/make-error-1.3.6.tgz#2eb2e37ea9b67c4891f684a1394799af484cf7a2"
1060+
integrity sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw==
1061+
9951062
9961063
version "0.3.0"
9971064
resolved "https://registry.yarnpkg.com/media-typer/-/media-typer-0.3.0.tgz#8710d7af0aa626f8fffa1ce00168545263255748"
@@ -1331,6 +1398,25 @@ totalist@^3.0.0:
13311398
resolved "https://registry.yarnpkg.com/totalist/-/totalist-3.0.1.tgz#ba3a3d600c915b1a97872348f79c127475f6acf8"
13321399
integrity sha512-sf4i37nQ2LBx4m3wB74y+ubopq6W/dIzXg0FDGjsYnZHVa1Da8FH853wlL2gtUhg+xJXjfk3kUZS3BRoQeoQBQ==
13331400

1401+
ts-node@^10.9.2:
1402+
version "10.9.2"
1403+
resolved "https://packages.atlassian.com/api/npm/npm-remote/ts-node/-/ts-node-10.9.2.tgz#70f021c9e185bccdca820e26dc413805c101c71f"
1404+
integrity sha512-f0FFpIdcHgn8zcPSbf1dRevwt047YMnaiJM3u2w2RewrB+fob/zePZcrOyQoLMMO7aBIddLcQIEK5dYjkLnGrQ==
1405+
dependencies:
1406+
"@cspotcode/source-map-support" "^0.8.0"
1407+
"@tsconfig/node10" "^1.0.7"
1408+
"@tsconfig/node12" "^1.0.7"
1409+
"@tsconfig/node14" "^1.0.0"
1410+
"@tsconfig/node16" "^1.0.2"
1411+
acorn "^8.4.1"
1412+
acorn-walk "^8.1.1"
1413+
arg "^4.1.0"
1414+
create-require "^1.1.0"
1415+
diff "^4.0.1"
1416+
make-error "^1.1.1"
1417+
v8-compile-cache-lib "^3.0.1"
1418+
yn "3.1.1"
1419+
13341420
tslib@^2.3.1, tslib@^2.6.2:
13351421
version "2.6.2"
13361422
resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.6.2.tgz#703ac29425e7b37cd6fd456e92404d46d1f3e4ae"
@@ -1357,10 +1443,10 @@ update-browserslist-db@^1.0.13:
13571443
escalade "^3.1.1"
13581444
picocolors "^1.0.0"
13591445

1360-
used-styles@^2.6.4:
1361-
version "2.6.4"
1362-
resolved "https://registry.yarnpkg.com/used-styles/-/used-styles-2.6.4.tgz#0d4b86c2d9c29c930d53832329e32e77455dc64b"
1363-
integrity sha512-+rgympQo3tNDysMNt8vi6BnbBADOJTMzbHEA2kUNYOyAdhQ8289Tn9JSEEpn8abkJ16VGe476S3fyM/oA/BkWg==
1446+
used-styles@^3.0.0:
1447+
version "3.0.0"
1448+
resolved "https://packages.atlassian.com/api/npm/npm-remote/used-styles/-/used-styles-3.0.0.tgz#0f92ccaa2bd23f38007754cec58821f320c18652"
1449+
integrity sha512-3g3Om8qA+u2XG1ldSHqvoBWXxTfI4kj1gIFJXpKKYjKgMFfxvbl+Z1eJmA2BTSzSDTABInJvh+zCAJgzU9AcMQ==
13641450
dependencies:
13651451
crc-32 "^1.2.0"
13661452
kashe "^1.0.4"
@@ -1379,6 +1465,11 @@ [email protected]:
13791465
resolved "https://registry.yarnpkg.com/utils-merge/-/utils-merge-1.0.1.tgz#9f95710f50a267947b2ccc124741c1028427e713"
13801466
integrity sha512-pMZTvIkT1d+TFGvDOqodOclx0QWkkgi6Tdoa8gC8ffGAAqz9pzPTZWAybbsHHoED/ztMtkv/VoYTYyShUn81hA==
13811467

1468+
v8-compile-cache-lib@^3.0.1:
1469+
version "3.0.1"
1470+
resolved "https://packages.atlassian.com/api/npm/npm-remote/v8-compile-cache-lib/-/v8-compile-cache-lib-3.0.1.tgz#6336e8d71965cb3d35a1bbb7868445a7c05264bf"
1471+
integrity sha512-wa7YjyUGfNZngI/vtK0UHAN+lgDCxBPCylVXGp0zu59Fz5aiGtNXaq3DhIov063MorB+VfufLh3JlF2KdTK3xg==
1472+
13821473
vary@~1.1.2:
13831474
version "1.1.2"
13841475
resolved "https://registry.yarnpkg.com/vary/-/vary-1.1.2.tgz#2299f02c6ded30d4a5961b0b9f74524a18f634fc"
@@ -1406,3 +1497,8 @@ yallist@^3.0.2:
14061497
version "3.1.1"
14071498
resolved "https://registry.yarnpkg.com/yallist/-/yallist-3.1.1.tgz#dbb7daf9bfd8bac9ab45ebf602b8cbad0d5d08fd"
14081499
integrity sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==
1500+
1501+
1502+
version "3.1.1"
1503+
resolved "https://packages.atlassian.com/api/npm/npm-remote/yn/-/yn-3.1.1.tgz#1e87401a09d767c1d5eab26a6e4c185182d2eb50"
1504+
integrity sha512-Ux4ygGWsu2c7isFWe8Yu1YluJmqVhxqK2cLXNQA5AcC3QfbGNpM7fu0Y8b/z16pXLnFxZYvWhd3fhBY9DLmC6Q==

0 commit comments

Comments
 (0)