Skip to content

Files

Latest commit

Apr 4, 2025
46ed1f2 · Apr 4, 2025

History

History
4999 lines (2500 loc) · 298 KB

CHANGELOG.md

File metadata and controls

4999 lines (2500 loc) · 298 KB

0.4.228 (2025-04-04)

Bug Fixes

  • add 404 page to prerenderContext.pageContexts (#2330) (455f310)
  • disable pluginModuleBanner when buid.minify isn't esbuild (#2315) (e36b916)
  • enable noExtraDir: false to force extra dir for 404 pages (#2339) (00509b3)
  • error message typo (44bdc9a)
  • further ensure data isn't written after stream is closed (fix #2334) (45216bc)
  • improve esbuild resolve debug logs (9b98fe0)
  • improve source map handling (#2308) (efaa943)
  • improve unknown CLI option error (#2302) (ac1ba36)
  • passthrough source map vike:pluginModuleBanner (#2300) (68a216b)
  • refactor & fix import resolving (#2328) (d3b8326)
  • resolve +client package path from root (fd94d22)
  • simplify and fix vike:pluginModuleBanner (fix #2338) (d082773)
  • support path aliases resolving outside of userRootDir (fix #2326) (77128be)
  • update @brillout/vite-plugin-server-entry (#2337) (2d95128)
  • workaround for vite-plugin-vercel bug (fix #2342) (f991d58)

Features

Negligible breaking changes

Note

We recommend ignoring "negligible breaking changes" unless this version breaks your app, see Vike Versioning.

  • [Negligible][i18n][pre-rendering][onPrerenderStart()] A 404 pageContext is added to prerenderContext.pageContexts (using your pages/_error/+Page.js). This most likely won't break your app: the only difference is that you now generate not only /dist/client/404.html but also /dist/client/fr-FR/404.html, /dist/client/de-DE/404.html, ...

0.4.227 (2025-03-25)

Bug Fixes

  • cyclic dep assertSingleInstance() (f9a9b23)
  • don't make CLI listen in middleware mode (#2298) (be91b87)
  • fix regression with deprecated design (a48d4d3)
  • preserve pageContext object reference upon onPagePrerender() call (fix #2293) (8f5c172)

Features

0.4.226 (2025-03-20)

Bug Fixes

  • prerender.value => prerender.enable (vikejs/vike-cloudflare#47) (#2276) (c82ff0a)
  • add module file path banner (0e53cce)
  • also interpret CLI option values as string (e17adbf)
  • exit unpon invalid CLI option (e09700c)
  • fix non-config-file error messages (714df05)
  • fix resolving of Vite config precedence (fix #2280) (#2282) (2b7971f)
  • improve assert() err msg (772a64b)
  • improve error message (a47dc27)
  • improve error messages (880739e)
  • make $ vike preview work with vike-server (closes #41) (#2288) (6a842c5)
  • make pageContext more isomorphic (12a0a14)
  • polish error message (c3cd43e)
  • reload Vike config upon reloading Vite dev server (1c0fbf2)
  • remove passToClient hint (1a1ce70)
  • temporarily disable infinite redirection loop detection (closes #2262) (#2273) (37a36a5)
  • validate non-config-file configuration (07d633b)

Features

0.4.225 (2025-03-12)

Bug Fixes

Features

0.4.224 (2025-02-28)

Bug Fixes

  • also copy server assets of entry (#2190) (8260c0f)
  • compatibility with bun runtime (fix #2204) (#2208) (f1089b4)
  • don't break Vitest source mapping (a187344)
  • externalize linked npm packages (0d242d9)
  • fix addFileExtensionsToRequireResolve() (703d38e)
  • fix asset manifest generation for Environment API (closes #2202) (#2203) (f939424)
  • fix replication of Vite's root resolve (fix #2219) (32cd543)
  • further catch invalid React element error (a0ef0b6)
  • import instead of serializing non-serializable build-time values (2a8e575)
  • load routes at build-time (cee3a17)
  • more precise urlResolved assert (#2197) (6f064ad)
  • remove edge-light export (8fffec3)
  • remove faulty assertion (fix #2227) (3502685)
  • skip .generated. files from crawler (fix #2222) (435dbbc)
  • update @brillout/import (ae0ac32)
  • update @brillout/import (acf73d2)
  • update @brillout/picocolors (fcd5f8d)
  • update @brillout/picocolors (ca5ce3e)
  • update @brillout/picocolors (#2199) (586dbfb)
  • update @brillout/vite-plugin-server-entry (closes #2201) (105441e)
  • update picocolors (db2df70)

Features

Performance Improvements

0.4.223 (2025-02-16)

Bug Fixes

Features

0.4.222 (2025-02-12)

Bug Fixes

  • +{configName}.js pointer imports (3310144)
  • also crawl + files at root directory (6247354)
  • apply global configs (fix #2165) (#2169) (8c0ee5e)
  • auto-reload config upon + value file changes (#2170) (54388c3)
  • consider + files living as root as global + files (ed23891)
  • ensure no race condition upon HMR of + files (24cd2e7)
  • fix css duplication warning (#2163) (488a81a)
  • forbid adding Vike's Vite plugin using +vite (#2162) (4c0695b)
  • properly assert configs are known (e9725c9)

Features

0.4.221 (2025-02-10)

Bug Fixes

  • add debug logs (#2138) (5c7810f)
  • allow user to define global custom configs (8fd9d0f)
  • also load value files of global custom configs (eb981b9)
  • always start pre-rendering during Vite build (#2123) (#2124) (9a1fe8d)
  • fallback fonts should not be preloaded (#2144) (af5c91f)
  • fix cross env pointer import check (965359a)
  • further ensure that assertViteVersion() is called (#2135) (9a798ce)
  • improve error message upon using unsupported Vite version (#2135) (e7f407b)
  • improve unknown config handling (7af4702)
  • improve warning upon global config defined locally (#2145) (2a0e304)
  • inspect configValuesLoaded===undefined bug (#2092) (47f28a0)
  • narrow config.vike.global public experimental API (#2122) (818a106)
  • narrow extensions pre-vike-cli interop (#2122) (5f27fc2)
  • refactor & fix config reload upon dev changes (fix #2152) (#2156) (f7f7b3d)
  • refactor & simplify back-/forward navigation (#2117) (5f20340)
  • soft-deprecate & move options set by vike(options) in vite.config.js (#2128) (d79eb01)

Features

  • [experimental] config.vike.prerenderContext._output (#2123) (#2125) (a9f46b8)
  • [experimental] globalContext.config & config.vike.config (#2149) (1a661dc)
  • [experimental] add compatibility with Vite 6 Environment API (#2146) (d9703b8)
  • support text fragments :~:text= (fix #2114) (#2119) (67dbd62)

Performance Improvements

0.4.220 (2025-01-27)

Bug Fixes

  • always let browsers handle hash links (74befa8)
  • fix config overriding precedence (8833925)
  • improve warning message (a2846c4)

0.4.219 (2025-01-24)

Bug Fixes

  • allow subsequent same-process API calls (#2100) (ea3a842)
  • avoid hoisting race condition (da1f60b)
  • don't force exit build() API (84ef85b)
  • fix bug handling (30f5a91)
  • fix Vike extensions regression with __internal/setup (5d388ee)
  • fix Vike extensions regression with configVikePromise (81f6f32)
  • fix Vike extensions regression with vitePluginSsr config (0a599fa)
  • improve NODE_ENV check (52e3f12)
  • minor fix debug flag detection (dbd2d00)
  • new debug flag vike:globalContext (ceba41c)
  • polish error message (18258fa)
  • support dist/ inject + pre-rendering (221ee54)
  • warn when NODE_ENV is string "undefined" (cloudflare/workers-sdk#7886) (127e85e)
  • workaround import() cache upon subsequent API calls (15baeca)

Features

0.4.218 (2025-01-18)

Bug Fixes

  • enable Base URL to be set in + files (#2090) (1113bb0)
  • fix crawling of symlinked directories (#2086) (cc7cb18)
  • pass correct command value 'build' to resolveConfig() upon pre-rendering (ec0904a)
  • reduce redundant resolveConfig() calls (950e4cc)
  • remove vike({ crawl: { git: false } }) in favor of VIKE_CRAWL={git:false} (#2088) (99ea561)
  • remove symlink directory crawling (#2087) (e15d78e)

0.4.217 (2025-01-16)

Bug Fixes

  • pass correct default mode to resolveConfig() (949d82d)

0.4.216 (2025-01-15)

Bug Fixes

0.4.215 (2025-01-14)

Bug Fixes

  • improve API return values (b71cd5c)
  • remove slow crawl warning (52d9899)

0.4.214 (2025-01-12)

Bug Fixes

0.4.213 (2025-01-09)

Bug Fixes

Features

0.4.212 (2025-01-05)

Bug Fixes

  • fix module style/script distinction (fix #2039) (be2fe23)
  • further remove duplicated dist/ assets (fix #2034) (87669c5)

0.4.211 (2024-12-28)

Bug Fixes

  • add hint for window is not defined (7e270e9)
  • fix wrong alias assertion (07fd3f1)
  • remove assets from dist/server/ (fix #2034) (c1cd2d9)
  • set host: true if inside docker container (cac186d)
  • stabilize extends order (fix #2037) (d93dfe1)
  • support .{client,server.shared}.js for pointer imports (285fedb)

0.4.210 (2024-12-17)

Bug Fixes

  • change Vite 6 default port from 5731 to 3000 (9d68312)

Features

0.4.209 (2024-12-12)

Bug Fixes

  • error message typo (a4576ad)
  • improve warning upon side exports (8d0a7ba)
  • show proper error message upon wrong onRenderHtml usage (c3e6b54)
  • tolerate side exports in + files (2e1d6de)
  • update @brillout/vite-plugin-server-entry (bcc7ba6)

0.4.208 (2024-12-09)

Bug Fixes

0.4.207 (2024-12-09)

Bug Fixes

Features

  • [experimental] getMiddlewares() (0d8ef7e)
  • [experimental] new config +middleware (d19051a)

0.4.206 (2024-11-30)

Bug Fixes

  • fix error message handling (558b60d)
  • improve error message upon unexpected module ID (#1985) (796c72f)
  • show warning upon CSS duplication (#1815) (5ef458c)

0.4.205 (2024-11-27)

Bug Fixes

  • accept esbuild 0.24 (ed633d8)
  • add debug logs for firefox history null bug (#1962) (29a621a)
  • fix hash URL parsing (7c752c4)
  • fix regression of resolving hash URLs (fix #1987) (13b4e50)
  • make getCacheControl return defaultValue on 5xx server errors (#1981) (7f41ba2)
  • support large $ git ls-files outputs (fix #1982) (386d2d8)

Features

  • add pageContext argument to navigate() (fix #1976) (9a97c22)

0.4.204 (2024-11-20)

Bug Fixes

  • fix export assertion (fix #1964) (162a660)
  • fix resolving of relative URL with hash (9f54397)
  • improve client-side init execution order (fix #1962) (#1965) (1b14559)
  • improve detection of hash navigation link (953f625)
  • improve type of hashOriginal and searchOriginal (6c69cb5)
  • minor hash scrolling fix (b4c0f11)
  • workaround Firefox bug upon clicking hash link that doesn't change URL (fix #1962) (cb7f3ff)

0.4.203 (2024-11-17)

Bug Fixes

  • allow Vike extensions to omit + in file names (vikejs/vike-react#151) (#1963) (f9f0c5a)

0.4.202 (2024-11-16)

Bug Fixes

  • ignore + files in ejected/ (1a64227)
  • polish error message (2ce82b8)
  • remove outdated extension name assertion (efe809b)
  • skip convention for ejected Vike extension (5584b7d)

0.4.201 (2024-11-06)

Bug Fixes

0.4.200 (2024-11-03)

Bug Fixes

Features

0.4.199 (2024-10-13)

Bug Fixes

  • add injectFilter to OnRenderHtml{Async,Sync} (92f3cf6)
  • fix early prefetch bug (fix #1920) (77f6a27)
  • fix somefile.client.vue (fix #1912) (081c85f)
  • forbid using experimental pageContext prefetching (fix #1915) (58e216f)
  • improve type OnRenderHtml{Sync,Async} (8b9f6ac)
  • remove isClientSideNavigation assertion (fix #1910) (05a4973)

0.4.198 (2024-10-02)

Bug Fixes

  • allow absolute URLs to be passed to navigate() and prefetch() (29ab56f)
  • assertUsage() import strings (vikejs/vike-solid#127) (11810cf)
  • improve unknown config error message (c0b828b)
  • refactor pointer importer / externalization logic (828238d)

Features

0.4.197 (2024-09-25)

Bug Fixes

  • improve removing of all FOUC buster (df033dd)

Features

0.4.196 (2024-09-20)

Bug Fixes

  • allow navigate() to be called early in +client.js (fix #1868) (9168fb3)
  • char escape fix (#1867) (98f7145)
  • fix and improve error HTTP response (fix #1872) (0634732)
  • fix config import resolving + make passToClient env server-only (fix #1882) (#1886) (a7151a1)
  • further skip hash links (fix #1883) (3f77496)
  • make .client.js and .server.js work for dynamic imports (fix #1861) (#1884) (f7e91ba)
  • update @brillout/picocolors (f017481)
  • use client router for error page only if possible (b06195f)

0.4.195 (2024-09-07)

Bug Fixes

0.4.194 (2024-09-04)

Bug Fixes

  • add avif mediatype (#1832) (38002cb)
  • always generate an HTTP response pageContext.httpResponse (#1848) (b45c154)
  • disallow onRenderHtml() to return null/undefined (57a2eba)
  • don't skip invalid URL but throw error instead (2800dff)
  • enforce Base URL instead of showing warning (8c7c0f4)
  • gracefully handle favicon.ico 404 requests (ff39218)
  • improve eslint exports workaround (fix #1838) (c1d490a)
  • improve renderPage() validation error messages (3f4f218)
  • improve Vite request URL check (9bb3c2d)
  • prettify logged URL (787bd2d)
  • remove faulty assert() (fix #1828) (408f798)
  • remove log clearing (bb6a6c2)
  • throw error upon wrong vite setup (a8b636d)
  • update @brillout/vite-plugin-server-entry (dd850ef)

Features

  • [experimental] pageContext._previousPageContext (91f6e68)

0.4.193 (2024-08-23)

Bug Fixes

  • inject assets map in a reliable way (vikejs/vike-node#8) (c4d8f61)
  • update @brillout/vite-plugin-server-entry (6da64f6)

0.4.192 (2024-08-23)

Bug Fixes

  • add argument getGlobalContextAsync(isProduction) (#1826) (d2ca712)
  • fix providePageContext() type (142a999)
  • update @brillout/vite-plugin-server-entry (311c52d)
  • web stream encoding (#1821) (5d81041)

Features

  • [experimental][temporary] getPageFilesAllSafe() (#1823) (59d5e23)
  • expose eager meta config (dffe6a2)
  • new option 'prerender' for disableAutoFullBuild (#1824) (a9b66fe)

Performance Improvements

  • eagerly load user files (b8d3619)

0.4.191 (2024-08-20)

Features

  • export providePageContext() (94c527f)

0.4.190 (2024-08-20)

Bug Fixes

  • improve built css file names (ac192a4)
  • support fake paths upon disable CSS bundling (fix #1818) (6dfac95)

0.4.189 (2024-08-20)

Bug Fixes

0.4.188 (2024-08-19)

Bug Fixes

0.4.187 (2024-08-19)

Bug Fixes

  • disable CSS bundling (fix #1815) (420e8f5)
  • improve support for user-defined manualChunk (80d6c55)

0.4.186 (2024-08-18)

Bug Fixes

  • fix rollupOptions.output.manualChunks passthrough (8d75b15)

0.4.185 (2024-08-18)

Bug Fixes

0.4.184 (2024-08-12)

Bug Fixes

  • stop using createServer() to distinguish dev/prod (fix #1791) (38f60f1)
  • streamReadableWebToString encoding (#1799) (6268228)

BREAKING CHANGES

  • Update to vite@5.1.0 or above.

0.4.183 (2024-08-08)

Bug Fixes

  • also exclude vike/getPageContext from optimizeDeps (4405294)
  • more lightweight and succint client-side err msg (83bd1b7)

0.4.182 (2024-07-29)

Bug Fixes

Features

0.4.181 (2024-07-19)

Bug Fixes

  • add assertUsage() to navigate() (fix #1751) (01873ad)
  • add missing getPageContext() type pointer (39f5754)
  • always hard redirect upon external URL (24641cd)
  • condense client-side error message (3a7b262)
  • don't try to remove Base URL from pageContext.urlLogical or pageContext._urlRewrite (0d35bc9)
  • fix * redirection (c9f5331)
  • fix ipfs:// and ipns:// URL handling (6b75eae)
  • improve JSDocs (2eaeea4)
  • improve prefetch() validation (2bc59a9)
  • make build deterministic (closes #1750) (648cd01)
  • make client-side error message more precise and compact (ad30cc4)

Features

0.4.180 (2024-07-16)

Bug Fixes

  • avoid cloning pageContext on the client-side (9f4ee04)
  • avoid cloning pageContext when routing (6ade0d5)
  • fix type PageContext['routeParams'] (1a2bff3)
  • improve handling of useConfig() serialization error (9384166)
  • improve serialization error message (0b717ad)
  • support injectScriptsAt: 'STREAM' (#1740) (b0d2d3a)
  • update react-streaming (c4d759a)

Features

0.4.179 (2024-07-06)

Bug Fixes

0.4.178 (2024-07-03)

Bug Fixes

0.4.177 (2024-06-17)

Bug Fixes

  • enable setting env: { client: false, server: false, config: false } (fix #1693) (775d83b)
  • fix error message upon mixing old and new design (fix #1701) (03270e7)
  • improve error message (6e30d15)
  • improve error messages (e2c5e93)
  • make onPrerenderStart eager (fix #1702) (1442a4a)

Performance Improvements

  • remove client-side validation to save KBs (9168c5b)

0.4.176 (2024-06-12)

Bug Fixes

  • fix config inheritance of parentheses directories (fix #1690) (fef43b1)
  • fix export assertion (d4c1df7)

0.4.175 (2024-06-10)

Bug Fixes

Features

  • [Filesystem Routing] skip (someDir)/ directories (closes #1684) (d226ee7)

0.4.174 (2024-06-06)

Bug Fixes

0.4.173 (2024-06-05)

Bug Fixes

  • export type { ImportString } (1161acd)
  • add vite.config.js headers to SSR response (#1669) (605b4a5)
  • always show assert stack traces upon DEBUG=vike:error (a437fe9)
  • enforce Vike extension conventions (be770f2)
  • fix deducing of extension name (2c361cc)
  • move dev code outside of prod runtime (5d69efa)
  • prettify logged URL (#1658) (ea2b76c)
  • remove ImportString from pageContext.config type (1b7b761)
  • remove outdated Bun workaround (6701c7b)
  • remove too strict convention (7b30d71)
  • support pre-releases for require setting (24e2d90)
  • support UTF-9 file paths (fix #1658) (a7cc8ad)

Features

0.4.172 (2024-05-26)

Bug Fixes

  • add CJS/ESM error hint (90101cd)
  • add hint for React's invalid hook call (42c3173)
  • further preserve pageContext property getters (155b2ea)
  • improve & simplify passToClient error (0c459cc)
  • improve cumulative support, and fix bugs (c14c8d0)
  • improve error hint messag (e02a1b6)
  • improve warning stack traces (9af790a)
  • make client-side script order determinisic also in dev (#1468) (a3be198)
  • pointer imports used anywhere in config object (b4ba6b7)
  • polish error message (ff5af85)
  • polish HTML errors (642566b)
  • remove faulty logErrorHint() assertion (061f51e)

Features

  • [experimental] pageContext.source and pageContext.from (#1268) (8cc0de4)
  • add headers to pageContext in dev (2ea822a)
  • cumulative for non-serializable configs (da4f0c3)
  • getPageContext() (b2d327e)
  • pageContext.headersOriginal (a78a110)
  • support +client.js for all render modes (closes #1468) (6e37128)
  • Vike.ConfigResolved (978d69d)

0.4.171 (2024-04-20)

Bug Fixes

  • fix meta env change upon .server.js/.client.js/.shared.js (#1588) (f3f2b2f)

0.4.170 (2024-04-20)

Bug Fixes

  • fix distinguishing npm package imports from path aliases (7ee74f4)

0.4.169 (2024-04-20)

Bug Fixes

  • always pass pageContext.routeParams to client-side (fix vikejs/vike-react#104) (241100f)
  • avoid empty file name in dist/ (d3b3014)
  • improve configDefinedAt type (b6e2cb2)
  • improve route string globbing (3a45aa2)
  • let user decide stack trace size (b950341)
  • simplify cumulative (c880121)
  • tolerate relative paths starting with a hidden directory (fix #1589) (ce94f5c)
  • tolerate unconventional Vanilla Extract Vite plugin (fix #1592) (7678a7d)

0.4.168 (2024-03-30)

Bug Fixes

  • always use esbuild to resolve import paths (fix #1580) (4996ef0)
  • clean esbuild errros (ea598f8)
  • don't send superfluous JavaScript Early Hint for HTML-only page (fix #1574) (14e4b5e)
  • enable tools to monkey path history.pushState() to listen to Vike navigations (#1582) (b4b3e0c)
  • improve DX & docs upon using vike-{react,vue,solid} configs without installing (fix #1578) (c08a6bb)
  • improve error message upon non-existing import path in +config.js (fix #1576) (1525f69)
  • improve hint for CJS/ESM error (e0596ba)
  • improve tmp build file names (ee414f3)
  • remove superfluous user-land extends warning (28dc27a)

0.4.167 (2024-03-22)

Bug Fixes

  • allow vite-tsconfig-paths again (a5e2596)
  • call onPageTransitionStart() earlier (fix #1560) (1a3a59f)
  • improve DEBUG flags DX (0f5ac02)
  • only call page transition hooks if page was rendered before (e334999)
  • remove faulty assertion (fix #1571) (b457127)
  • support path aliases that look like npm package imports (fix #1146) (8b5827e)
  • update error message upon no page find found (#1570) (d7b56d6)

0.4.166 (2024-03-19)

Bug Fixes

  • add Vike.Config to PageContextConfig (fix #1532) (74b18b0)
  • conservatively preserve all assets in dist/server (fix #1154) (6dfef11)
  • emphasize CJS/ESM error hint (3e344b9)
  • generate assets.json early (fix #1527) (2598887)
  • improve handling of unsuable Git (#1549) (42d58ff)
  • improve HTTP request error message upon Vike config error (e405b77)
  • improve logging upon skipped HTTP request (0e4145b)
  • improve package.json#exports by adding import export (#1382) (c270210)
  • improve package.json#exports by making require export last (#1382) (ca218b3)
  • improve package.json#exports order (#1382) (7def2dd)
  • injectBreakLines regex speedup (b3cc3cb)
  • package.json#exports replace "import" with "default" (#1382) (6942f61)
  • rename triggedBy to triggeredBy (fix #1563) (a08160f)
  • support Electron by adding 'file://' protocol (fix #1557) (8eba585)

0.4.165 (2024-03-01)

Bug Fixes

  • improve error deduping (9e34c0d)
  • improve error preamble (d547664)
  • improve logging of errors coming from Vite (5a42d7d)
  • remove faulty assert() (fix #1529) (9fa3358)
  • simplify error handling logic and require >= vite@4.4.0 (60d6ef4)

0.4.164 (2024-02-28)

Bug Fixes

  • fix support for config.build.assetsDir (#1154) (407cb5c)
  • improve hint for ESM/CJS errors (a53cd6c)
  • re-implement workaround for legacy plugin (fix #1154) (2305d5b)
  • warn instead of error upon unexpected NODE_ENV value (#1526, #1482) (f0bf7ee)

0.4.163 (2024-02-22)

Bug Fixes

  • always show a passToClient warning (closes #1494) (9365fa5)
  • disambiguate value file (fix #1490) (b163627)
  • don't try to normalize .pageContext.json URLs (#1502) (46e97c0)
  • fix client-side error page rendering (49fe40c)
  • improve error message upon adding Vike's Vite plugin twice (fix #1502) (6812418)
  • improve warning upon overwritten config value (421de1c)

Features

0.4.162 (2024-02-17)

Bug Fixes

  • assertUsage() config file extension (a6c3398)
  • explicitly pass through source map avoid Rollup warning (fix #1481) (b94db0f)
  • improve error message upon build when mixing designs (#1480) (0e9c635)
  • only apply new Vite syntax for V1 design (#1485) (5b523fa)
  • remove superfluous pointer import warning (0309330)
  • skip transpiling only for extension configs (bf221a4)
  • start requiring Vike extensions to set the name setting (82573a5)
  • support client entry import (ba539a4)
  • transform imports iff .h.js (b19a853)
  • update @brillout/vite-plugin-server-entry (ead4a94)
  • update warnings around header files / pointer imports (56687d4)
  • use heuristic to decide whether config import is a pointer/fake import (563bd60)
  • use latest Vite interface (f7e5cd8)

0.4.161 (2024-02-07)

Bug Fixes

0.4.160 (2024-01-23)

Bug Fixes

  • add debug logs for faulty setups (#1450) (2746aa6)
  • allow +config.js to export { config } instead of export default (fbfe1bd)
  • avoid loading extension config files twice (d73533a)
  • fix header file warning (3e25ac7)
  • further add JSDoc (1ab632f)
  • implement more straightforward assertUsage() upon loading vike/plugin in production (#1450) (0304246)
  • improve error message upon loading vike/plugin in production (fix #1450) (4ed9533)
  • improve logic deciding when imports are transform (62f4450)
  • make wrong process.env.NODE_ENV value a hard failure (f3926bd)
  • remove superfluous warning upon non-standard extension config file name (dc46063)
  • skip transpiling config files of extensions (5e86965)
  • small performance boost (d754c6d)

0.4.159 (2024-01-20)

Bug Fixes

  • add generic to PageContext types (7e44992)
  • deprecated old PageContext types (c6fddba)
  • remove generic (7cb2120)

0.4.158 (2024-01-18)

Features

  • pageContext.httpResponse.getReadableNodeStream() (09af9e7)

0.4.157 (2024-01-18)

Bug Fixes

  • apply env check also to eager imports (fix #1423) (20674a7)
  • enable user to opt-out Vike's rollupOutput.*Names settings (#1421) (d07fbe8)
  • fix and improve URL validation for throw render() and throw redirect() (fix #1445) (4b753b8)
  • fix root cause for extractAssetsRemoveQuery() bug (fix #1420) (3275e1c)
  • improve client-side error handling (9dcb1e1)
  • improve deprecation warning (f230cb3)
  • improve error message upon invalid filename (fix #1425) (04acbac)
  • pageContext._routeMatch for vite-plugin-vercel (ad0534c)
  • pick pageContext.urlLogical first (fix #1436) (d8d55d2)
  • remove faulty crawl assert (fix #1440) (e46716d)
  • set ssr.external to true by default (07b92e3)
  • temporarily don't make ssr.external true by default (1b7b3c5)

0.4.156 (2024-01-07)

Bug Fixes

  • update @brillout/vite-plugin-server-entry (6fc93be)

0.4.155 (2024-01-07)

Bug Fixes

  • update @brillout/vite-plugin-import-build -> @brillout/vite-plugin-server-entry (81d8de1)
  • whitelist @brillout/import from CJS/ESM error hint (bb14de3)

0.4.154 (2024-01-06)

Bug Fixes

  • apply vite.ssrFixStackTrace() to warning stack trace (fix #1355) (6415b1c)
  • improve slow crawling warning (5865113)
  • increase hook timeouts upon pre-rendering (61f05c0)
  • reliable workaround for Rollup bug (3e842bb)
  • remove superfluous and misleading assertion (fe12f96)
  • remove superfluous importBuild await (#1404) (7fdfa41)
  • show hint upon CJS/ESM errors (#1358, fixes #621) (2043733)
  • tolerate + anywhere in file paths (fix #1407) (159c659)
  • update @brillout/vite-plugin-import-build (5f01f30)
  • update @brillout/vite-plugin-import-build (fix #1404) (f84370a)
  • workaround Rollup bug (01ab602)

0.4.153 (2023-12-31)

Bug Fixes

  • improve handling of redundant errors (c410699)
  • improve handling of virtual modules (#479) (3d25618)
  • improve render abort logging (415899b)
  • mitigate risk of infinite reloading page (c21cea2)
  • properly handle errors thrown in onHydrationEnd() and onPageTransition{Start,End}() (ad532e0)
  • properly handle errors thrown in onRenderClient (6f928f9)
  • use simplier dynamic import (fix #1393) (06c1fd5)

0.4.152 (2023-12-26)

Bug Fixes

  • don't inject script preload tags for HTML-only pages (fix #1379) (e8c6494)

Features

  • cacheControl setting (bb7fd09)
  • generic <Data> type for onBeforePrerenderStart() (29f265b)
  • redirect to URI without http protocal (closes #1380) (58f404c)

0.4.151 (2023-12-22)

Bug Fixes

  • add vike:outDir debug logs (92240b6)
  • enable URL redirection that resolves to a URL with @ (fix #1347) (469866a)
  • fix error message upon loading server-only module on the client-side (#1335) (09d362e)
  • improve debug logs visual formatting (222b1b2)
  • make standalone builds easier (#1165, #1342) (f555646)
  • remove assertion (fix #1359) (63b1c32)
  • remove wrong assertion (f91537e)
  • sound URL pathname resolution implementation (#1347) (42c1df1)
  • update @brillout/vite-plugin-import-build (c954cbc)

Features

Performance Improvements

0.4.150 (2023-12-08)

Bug Fixes

0.4.149 (2023-12-06)

Bug Fixes

  • add react-streaming to optimizeDeps.exclude (3073c89)
  • fix regression for config.outDir outside of config.root (fix #1317) (70e7518)
  • make Git test more reliable (fix #1320) (bd1f159)
  • stop crawling tracked but deleted plus files (7bae6de)
  • test whether git is installed (fix #1313) (7596dcd)

0.4.148 (2023-12-04)

Bug Fixes

  • [v1 design] improve DX around header files (fb58692)
  • assertUsage() wrong onBeforeRender() env (0826fb4)
  • edge case URL handling (fix #1281) (3d1a786)
  • fix Base URL check (fix #1302) (0848f62)
  • improve onBeforeRender() env logic (#1266) (2580d69)
  • improve stream warning (74d84f5)
  • improve the logical URL that is considered when catching infinite redirect loops (fix #1270) (8397523)
  • improve white space handling in URLs (2fa53b2)
  • show deprecating warning for old deprecated design (6bcd2d0)

Features

0.4.147 (2023-11-17)

Bug Fixes

  • [V1 design] implement lazy serializable config values (e358cc3)
  • [V1 design] refactor config.meta[configName].env (79116f5)
  • export version (cfb9551)
  • make prerender opt-out precede over prerender hooks (baead9d)
  • support Base URLs with trailing slash (fix #1258) (701e2e5)

0.4.146 (2023-11-14)

Bug Fixes

  • bin path for $ vike CLI (3ee5592)
  • define prerender value over +prerender.js file (e6d8513)
  • enable plus files to export null (2520555)
  • fix back-/forward navigation regression (#1231) (0678210)
  • turn non re-exported imports error into a warning (af313b7)

0.4.145 (2023-11-13)

Bug Fixes

  • [v1 design] allow cumulative values to be imported (de18325)
  • [v1 design] further enable configs to be defined in +{configName}.js files (0b976a6)
  • [V1 design] improve meta wrong usage errors (cf6997e)
  • [V1 design] improve/fix effect() wrong usage error messages (ec3773f)
  • add client-side error to pageContext.errorWhileRendering (d195f92)
  • add warning when trying to prefetch non-routable URL (a434afa)
  • allow "constructor" search param in URL (adfc183)
  • allow users to use history.pushState() (#1231) (7f5e99a)
  • always check client-side renderability (aceaa35)
  • check whether URL rewrite is client-side renderable (934c2ef)
  • don't show 404 table when terminal isn't width enough (fix #1219) (6aef8a6)
  • ensure boundary upon env var static replacing (fix #1214) (d687042)
  • fallback to Server Routing if trying to client-side render URL not matching any route (fb5337e)
  • fix preview for partial pre-rendering (31edf79)
  • fix some typos (752df95)
  • further abort outdated client rendering (5893a2f)
  • handle serialization errors caused by getter errors (fix #1232) (8664301)
  • improve client-side error handling (81c3bbd)
  • improve/fix not pre-renderable page warning (fix #1252) (ca10f32)
  • make i18n hook control more robust (4b7b0b2)
  • properly handle eager/lazy config values (fix #1208) (e40e9b1)
  • scroll to top upon client-side throw render() (f16cbe5)
  • set pageContext.isClientSideNavigation on the client-side (fix #1243) (a9895e8)
  • show more succint 404 table (#1219) (aff81fa)
  • systematically abort client-side renderering if possible (85207c9)
  • workaround regression introduced by vitejs/vite#14756 (c56391d)

0.4.144 (2023-10-23)

Bug Fixes

  • [v1 design] allow export name to match config name (051f3e7)
  • [v1 design] always check env consistency of resolve import paths (8444966)
  • [v1 design] don't assert re-exports of value files (4a86ab4)
  • [v1 design] improve error handling of config effects (4034f86)
  • [v1 design] more succinct logs (11c207a)
  • [v1 design] only tolerate side exports for value files (ad8e233)
  • [v1 design] use absolute file paths to check for consistent env (0cd8de6)
  • 404 table layout: strip ansi (76a5530)
  • add/improve pageContext.urlOriginal JSDoc (e93d5e9)
  • apply Rollup 4 breaking change (521b895)
  • assertUsage() route value (14def35)
  • await async onPageTransition{Start,End} (58f822b)
  • be stricter about side exports (8b553f8)
  • don't glob +files in dist/ (b25fbb2)
  • don't glob page files in dist/ (db783c9)
  • don't glob page files in dist/ // #1189 (4e8d082)
  • expose type Url (fix #1184) (dc6fea0)
  • improve JSDoc (8b0c0a2)
  • improve TypeScript's IntelliSense QuickInfo of PageContext and PageContextClient (3fd1378)
  • properly handle undefined return value (fix #1179) (f03b42d)
  • update boilerplates to use Vike.PageContext (a69556b)

Features

0.4.143 (2023-10-08)

Bug Fixes

  • [v1 design] further use @brillout/json-serializer instead of JSON.stringify for serializing config values (fix #1159) (50a417c)
  • [v1 design] make unused import an error instead of a warning (fix #1159) (ac0bb99)
  • [V1 design] support NodeNext import paths with file extension (fix #1142) (7d2383c)
  • add hint to error upon unknown config (5e62d95)
  • fix defineConfig implementation (#1156) (463fad8)
  • improve CJS warning (aa6af48)
  • improve suppressing of expected Rollup warnings (acfc159)
  • relative URL resolving (fix #1155) (937cb3b)
  • remove problematic assertion for legacy plugin (fix #1154) (279d82b)
  • remove vike from ssr.noExternal (fix #1163) (86abfd5)
  • suppress expected Rollup warning about Solid transformed code (batijs/bati#89) (7111abb)
  • update @brillout/vite-plugin-import-build (2dfbf8a)
  • update @brillout/vite-plugin-import-build (e5018ae)
  • update border of not-helpful-error hint (85e89b8)

Features

0.4.142 (2023-09-22)

Bug Fixes

  • add vite-plugin-ssr -> Vike rename warning (fbc46ad)
  • improve invalid path alias error message (16e41f3)
  • improve invalid path alias handling (7d7b240)
  • improve manifest.json location (5baecef)
  • make URL parsing more robust for users shimming window in Node.js (b324757)

Features

  • provide new type PageContext and enable users to extend it (785821b)

Performance Improvements

0.4.141 (2023-09-15)

Bug Fixes

  • throw redirect(/some-url/, 301) (fix #1104) (64f684f)
  • +config.h.js prerender flag (2c58da8)
  • add hint to error message upon invalid route string (c1537dc)
  • add missing config type to PageContextBuiltInServer (362d69c)
  • avoid overriding meta (f2ec4bd)
  • enable vike-* packages to seamlessly extend Config using interface merging (894c039)
  • external redirects (fix #1103) (7343a85)
  • further discourage loading multiple versions (fix #1108) (3a66e95)
  • further use colors instead of backtick in error messages (3cdb970)
  • further use colors instead of backtick in error messages (6739302)
  • further use colors instead of backtick in error messages (0f23c0d)
  • further use colors instead of backtick in error messages (b178539)
  • further use colors instead of backtick in error messages (2296914)
  • improve error message about non-default exports (58f8b2f)
  • improve error message upon code defined inside header files (687c5b2)
  • improve JSDoc of throw redirect() (2ce54a2)
  • improve log colors (b936aee)
  • improve serialization error message (1bedc8a)
  • improve wrong redirection usage error (83f8586)
  • intercept log for throw redirect() (950ebd0)
  • make inheritance check consider whole path segments (fix #1109) (5bd8c1e)
  • set Page type to unknown instead of any by default (412a26a)
  • set pageContext.is404 upon throw render(404) (fix #1107) (9dd96c3)
  • use colors instead of backtick in error messages (a052d52)
  • use colors instead of quotes in error messages (ceb7af8)

Features

  • [V1 design] cumulative (25af958)
  • new namespace Vike to enable users to refine type Config (c0e909d)
  • static external redirections (#926) (fa02b0e)
  • static glob redirections (#926) (80a15a1)

0.4.140 (2023-08-30)

Bug Fixes

  • allow 410 status code (fix #1097) (ac52a24)
  • log redirect target (afc81e9)
  • show log upon permanent redirect defined by config.redirects (4eb8f59)

Features

  • config.trailingSlash and config.disableUrlNormalization (#949, #926) (7c8fc28)

0.4.139 (2023-08-26)

Bug Fixes

  • forbid vite-tsconfig-paths (fix #1060) (8192d28)
  • show iKnowThePerformanceRisksOfAsyncRouteFunctions deprecation warning (9fd3748)

0.4.138 (2023-08-24)

Bug Fixes

  • add null to onBeforeRender type (#1075) (fefc63e)
  • enable adding urlParsed to passToClient without triggering hash warning (fix #1092) (bee05be)
  • improve error message upon +page.js (c0979f2)
  • improve similar known config hint (9b55367)
  • improve urlParsed type (#1092) (be471d4)
  • rename PageContextBuiltIn to PageContextBuiltInServer (49cd1e6)

0.4.137 (2023-08-23)

Bug Fixes

  • [V1 design] improve error messages (42e3b6c)
  • apply config.redirects to URL without Base URL (7202ab6)
  • check whether link is client-side routable only when strictly needed (#1073) (575d48c)
  • don't call guard() hook for the error page (fix #1090) (4013ac6)
  • don't pass _abortCaller to client-side (359bddf)
  • expose pageContext.abortStatusCode (#1077) (1f7b92b)
  • improve RenderErrorPage() dev logging (2dbc2a2)
  • preserve URL origin upon URL path normalization redirection (3b43bb7)
  • remove superfluous Node.js dependency (fabbee3)
  • show RenderErrorPage() deprecation warning more prominently (6ba3a2a)
  • warn users that still use CJS (290403b)

Features

  • hook suppressing by setting hook value to null (fix #1075) (11202d2)

0.4.136 (2023-08-15)

Bug Fixes

  • contentType migration link (588f5eb)
  • ensure correct Node.js version (fix #1068) (3b305cb)
  • gracefully handle infinite loop of URL redirects/rewrites (#926) (522bd0f)
  • improve redirect logging (#926) (ec17c1f)
  • stop superfluous copying of publicDir for dist/server/ (de43088)

Features

0.4.135 (2023-08-05)

Bug Fixes

  • also skip assertPassToClient when previous read was __v_raw (fix #1041) (ec0122b)
  • call onBeforeRender for the first render if it's client-only (fix #1043) (ddf2e39)
  • oven-sh/bun#3743 - Support Bun (45aa3ec)
  • properly handle frame error with id windows path (fix #1053) (6a760d1)
  • warn when trying to access the URL hash on the server-side (fix #1042) (f0f6c0a)

0.4.134 (2023-08-03)

Bug Fixes

  • align vite(-plugin-ssr) tag colors (b71d927)
  • also install require shim in dev (40b6836)
  • also retrieve pageContext JSON when pageContextInit adds custom props (bbc6d12)
  • call client-side guard() hook after retrieving pageContext from server (fee58b2)
  • consolidate throw renderErrorPage() and throw renderUrl() into a single utility throw render() (#926) (3c2be02)
  • fetch server-side pageContext before calling client-side onBeforeRender hook (c7d574c)
  • fix error page client-side rendering (cb82f14)
  • gracefully handle non-serializable pageContext values (9bedf61)
  • hide redirect() statusCode option (#926) (5ae9243)
  • improve 404 hint (f9bd674)
  • improve client-side handling of non-serializable/missing pageContext value (ed5335f)
  • improve error message upon client runtime conflict (#750) (62a4bf8)
  • improve error upon aborting pre-rendering (#926) (3226c3e)
  • improve error upon invalid config.build.outDir (fix #1046) (d958a41)
  • improve logging of abort errors (#926) (61d3f71)
  • improve require shim (56fc5b3)
  • improve routes table (40818a6)
  • improve serialization error (b720277)
  • set includeAssetsImportedByServer to true by default (67aa8d4)
  • show warning instead of error upon dangerous HTML strings (#999) (846a92e)
  • simplify and improve warning about error page missing (668e971)
  • use more nominal hook lifecycle for client-side error page rendering (145e9ba)
  • V1 design config HMR minor fix (ad15d8c)

Features

0.4.133 (2023-07-04)

Bug Fixes

  • also convert resolved config.build.outDir to POSIX path (#935) (9ae9aa2)
  • don't assume UserConfig.build.outDir to be a POSIX path (#935) (3f235bc)
  • forbid config value files to live in different environments (80ab2e2)
  • handle HMR for config dependency file removal/creation (1880172)
  • make CLI parsing more robust (fix #990) (36ffa2b)
  • remove isNpmPackage() assertions from client-side bundle (2f35023)
  • respect disableAutoFullBuild: false (fix #990) (36814e9)
  • support HMR for config file imports (53616d0)
  • tolerate missing global context (150f3ea)
  • tolerate non-conventional path aliases (461ea84)
  • workaround Vite swallowing handleHotUpdate() errors (81d2582)

Features

  • improve environment variables support (30d0027)

0.4.132 (2023-06-23)

Bug Fixes

  • [error-handling] ensure debug note is shown whenever an error is swallowed (4d2e482)
  • [V1 design] handle removed/added + files (6bd930c)
  • [V1 design] impose .h.js (744247a)
  • [V1 design] invalidate virtual modules upon removed/added + file (8e510da)
  • [V1 design] make Config['filesystemRoutingRoot'] a string (42b972f)
  • [V1 design] simplify Config type for non-header files (e13542b)
  • [V1 design] skip +*.telefunc.js files (fc97459)
  • add deprecation notice to wrong RenderErrorPage import (b82c51e)
  • add fixtures (75c42e9)
  • add JSDoc comment to RenderErrorPage() (47d43c2)
  • further swallow RenderErrorPage() error on the client-side (ef0e07c)
  • improve backwards compatibility of PageContextBuiltIn types (f1d0cf2)
  • improve error equivalence check (fddc417)
  • improve error message upon mixing a Web Stream with a Node.js Stream (#933) (7ffb373)
  • lift need for importBuild.cjs when pre-rendering (fix #935) (ec8b2f3)
  • prettify SWC errors (29b257d)
  • refactor error handling (4678f9f)
  • RenderErrorPage() without any options (880e65c)
  • soft-deprecate async onBeforeRoute() (7dd7428)
  • soft-deprecate Async Route Functions (a101a9c)
  • support ESM namespace imports in header files (fix #945) (8be32b0)
  • update @brillout/vite-plugin-import-build (b1ed09a)

Features

  • expose pageContext._pageRoutes (#49) (2a2c223)
  • implement guard() hook (91a11a0)
  • temporary config _disableAutomaticLinkInterception (fix #918) (35ca471)

0.4.131 (2023-05-30)

Bug Fixes

  • [V1 design] add config npm dependencies to optimizeDeps.include (2b4a84a)
  • [V1 design] ignore backup files (062b064)
  • [V1 design] implement filesystem routing for npm package root imports (ce04fdb)
  • [V1 design] improve error handling when extends import cannot be (e70b362)
  • [V1 design] improve type handling of non-header config files (fa18331)
  • add .page.server.js?extractAssets to Rollup entries (fix #911) (078a2c7)
  • improve dist/ file names (d042d69)
  • improve handling of manually triggering pre-rendering while config prerender is false (f4a7f55)
  • recommend path aliases to follow # prefix convention (2fc2193)

0.4.130 (2023-05-26)

Bug Fixes

  • [V1 design] refactor DX of non-header configs (26342dd)

0.4.129 (2023-05-25)

Bug Fixes

  • add computed URL props as non-enumerable when pre-rendering (fix #914) (2784ac9)
  • improve debug infos upon manifest miss (#911) (c3975e3)
  • improve error message upon malformed HTML (fix #913) (a6799d1)
  • improve error message upon setting pageContext.is404 (fix #912) (7b0d31d)
  • refactor and fix render hook validation (20ae8ad)
  • update links to docs (bf38acc)

0.4.128 (2023-05-25)

Bug Fixes

  • temporarily disable non-header file warning (bdc07e3)

0.4.127 (2023-05-24)

Bug Fixes

  • [V1 design] add configElement for side exports (fix #904) (2c83f7b)
  • [V1 design] don't serialize config-only configs (943accb)
  • [V1 design] implement JavaScript header files .h.js, and Path (5ced26a)
  • [V1 design] improve warning upon invalid +config.js (8fa9aa5)
  • [V1 design] make +meta.js work (81f07c4)
  • [V1 design] make eager loading of value files optional (cdfd079)
  • [V1 design] refactor invalidation logic (3fed5d2)
  • fix error message upon unknown config (fix #909) (4b02857)
  • improve require() shim (f095b02)

0.4.126 (2023-05-20)

Bug Fixes

  • [V1 design] catch extends infinite loop (bf6a22a)
  • [V1 design] don't assume meta effect() to target an existing config element (cec8abb)
  • [V1 design] fix configDefinedAt (5f00714)
  • [V1 design] fix prerender config handling (ee7ad7a)
  • [V1 design] implement filesystemRoutingRoot (d15142a)
  • [V1 design] improve effect() implementation (3363e1f)
  • [V1 design] improve error message upon wrong config value type (4d1be16)
  • be more loose in what interface files are considered global (fix #897) (de7014f)
  • make config inheritance more robust (fix #897) (9fccc6f)

0.4.125 (2023-05-18)

Bug Fixes

  • [V1 design] implement partial pre-rendering warning for V1 design (2bd69f0)
  • [V1 design] print real hook name (189974c)
  • [V1 design] print real hook name (dca30fd)
  • expect pageId to be a npm package (532ceaa)
  • improve handling of undefined and null HTML variables (648ed9a)
  • in dev, warn when escaping HTML (fix #865) (038f544)

0.4.124 (2023-05-18)

Bug Fixes

  • [V1 design] support export { frontmatter } in .mdx files (fix #869) (9833afa)
  • fix internal assertion about eager loading of configValue (fix #874) (51f1c80)
  • fix prefetchLinks deprecation notice (a4b2694)
  • further improve error message upon incorrect setup (#886) (2eb6511)
  • handle edge case when user wrongfully tries to use require() in Vite land (fix #879) (896b22e)
  • improve error message upon incorrect setup (#886) (0096e93)
  • improve error message upon invalid URL provided by onBeforeRoute() (fix #887) (7def153)
  • improve prefetchStaticAssets setting values (#889) (74225a8)
  • improve wrong re-export error message (#864) (6ca3639)
  • link to ?extractExportNames bug workaround (closes #864) (a2a4880)

Features

0.4.123 (2023-05-05)

Bug Fixes

  • auto-add VPS's middleware at last (f0abd07)
  • improve filesystem apply root (fix #858) (173cca0)
  • make filesystem inheritance conflict resolution more robust (fix #858) (a5d0d5d)
  • make filesystem root apply clearer (4eb5f45)
  • remove cyclic dependency (fix #861) (80d4856)

0.4.122 (2023-05-03)

Bug Fixes

  • [V1 design] consolidate route validation (8004aa9)
  • [V1 design] support aliased imports in +config.js (fix #852) (3a664b0)
  • improve code splitting rule handling (fix #848) (ccf11aa)

0.4.121 (2023-05-02)

Bug Fixes

  • [V1 design] improve error handling upon wrong import path (fix #843) (676b7e3)
  • [V1 design] warn instead of fail upon unrespected export rule (#844) (06b449e)
  • ignore export { _rerender_only } (fix #844) (7144fdb)
  • remove unnecessary error handling edge case (#843) (92009e5)

0.4.120 (2023-04-30)

Bug Fixes

  • filesystem routing between page configs and config value files (fix #831) (21fac73)

0.4.119 (2023-04-29)

Bug Fixes

  • [V1 design] add warning when defining global configs in +config.js (7320170)
  • [V1 design] improve warning when global hook is defined by + file (fa39dd8)
  • [V1 design] remove global configs from Config type (0fcd1c8)
  • [V1 design] remove obsolete path strings (2140e1f)
  • improve handling of pre-rendering toggle contradiction (121f27d)
  • support Vercel Edge Runtime (fix #828) (84f1fde)
  • use closeBundle() to force exit (fix #807) (964577d)
  • warn instead of throw upon wrong html template var type (05a25d0)

0.4.118 (2023-04-27)

Bug Fixes

  • [V1 design] properly handle empty string config values (fix #817) (60f7b34)
  • add page files to server entries on the server-side as well (cc293e6)
  • apply pre-render force exit in a last-order Rollup hook (#807) (7d50676)
  • ensure each client entry gets bundle (#820) (a5b47af)
  • improve dist/ filenames (cbd38b4)
  • revert autoFullBuild sequential pre order (4df2571)
  • set autoFullBuild Rollup hooks as sequential (#807) (a2bc5fa)

0.4.117 (2023-04-24)

Bug Fixes

  • [V1 design] implement config filesystem overriding (fix #812) (f9d826c)

0.4.116 (2023-04-23)

Bug Fixes

  • [V1 design] expose types Meta and Effect (6a581a1)
  • [V1 design] use portable syntax for temp generated files (fix #800) (39ec890)
  • [V1 Design] workaround Vite bug when process.cwd() !== config.root (48e75ec)
  • always set pageContext.is404 when rendering error page on the client-side (fix #806) (dbfb0f7)
  • clean stack traces only for Node.js (8161b54)
  • force exit pre-rendering (fix #807) (8aedcaa)
  • improve chunk asset name (fb34270)
  • improve contradictory env warning (#792) (58ccdcd)
  • improve wrong NODE_ENV warning (472a16d)
  • skip warning when process.env.NODE_ENV === "test" (3c910c0)
  • support tauri:// protocol (#808) (f7afe16)
  • tolerate URL with missing pathname (#808) (fc76ffe)

0.4.115 (2023-04-20)

Bug Fixes

  • [V1 Design] tolerate vite-plugin-solid transformation on + files (5cbfcbe)
  • add Vite dev log messages in CI logs (b5d2a6f)
  • add warning upon unexpected process.env.NODE_ENV value (#792) (b0c1588)
  • add warning when renderPage() is called with Vite client request (#792) (e5e670b)
  • ensure asset name to be file name and not file path (fix #794) (b84d67f)
  • improve passToClient hint (5935e81)
  • improve wrong import path error (6e8492a)

0.4.114 (2023-04-17)

Bug Fixes

  • [V1 design] rename config clientEntry to client (fa8d29e)
  • add /types to package.json#exports (fix #788) (900326c)
  • update @brillout/vite-plugin-import-build (42a1dcc)
  • update @brillout/vite-plugin-import-build (f7786e6)

0.4.113 (2023-04-13)

Bug Fixes

  • [V1 design] implement filesystem route for npm package imports (0b42eba)
  • fix type export path (fix #785) (34e2e86)
  • further tolerate PWA manifest workaround (fix #769) (2a50fba)
  • improve error message when trying to prerender while prerender isn't enabled (#773) (b60420b)
  • make early hint deduping support CDN deployments (fix #775) (b547ca1)

0.4.112 (2023-04-09)

Bug Fixes

  • normalize chunkInfo.facadeModuleId (fix #771) (b8eb4f1)
  • replace node path with pathe library (ccc65ce)
  • tolerate PWA manifest workaround (fix #769) (4f9992d)
  • use simple path shim (f0234ee)
  • use updated dependencies that don't depend on Node.js (f00a096)

0.4.111 (2023-04-05)

Bug Fixes

  • [V1 Design] fix pageConfigFile consolidation (467a225)
  • [V1 Design] improve error message upon wrong exports (a639121)
  • [V1 design] replace isErrorPage: true with _error/ convention (ce185e0)
  • [V1 Design] support multiple imports from same file in +config.js (5ffaae7)
  • [V1 Design] support prefetchStaticAssets (7840f60)
  • [V1 design] warn upon unrespected import rule (8ea6a40)
  • improve client runtime assertions (#750) (caab024)
  • improve new frontend deployment handling (1bda80f)
  • refactor types building and exporting (d4cde57)

0.4.110 (2023-03-31)

Bug Fixes

  • add JSDoc (be87309)
  • workaround TypeScript auto-importing re-export target (9f39733)

0.4.109 (2023-03-31)

Bug Fixes

  • [V1 Design] rename pageContext.configEntries[number].configOrigin -> pageContext.configEntries[number].configDefinedAt (b46df9d)
  • [V1 Design] rename pageContext.configList -> pageContext.configEntries (c5e4215)
  • move all types to vite-plugin-ssr/types (d36bfcf)

0.4.108 (2023-03-29)

Bug Fixes

  • export type ConfigList (9847a04)
  • tolerate VPS frameworks to remove the + symbol (8a9a93e)

0.4.107 (2023-03-29)

Bug Fixes

  • [v1] impl pageContext.config and pageContext.configAll (38187a3)
  • always add VPS to ssr.external (472652f)
  • suppress warning about removing "use client"; directives (fix #746) (e0a1f66)

0.4.106 (2023-03-28)

Bug Fixes

0.4.105 (2023-03-28)

Bug Fixes

  • improve client/server routing contradiction error (#745) (e079ea0)

0.4.104 (2023-03-27)

Bug Fixes

0.4.103 (2023-03-24)

Bug Fixes

  • slightly improve error message (#730) (4f7e0f8)
  • workaround Vite not respecting clear option (c8e28a6)

0.4.102 (2023-03-24)

Bug Fixes

  • improve error message upon outdated imports (fix #730) (cdc6e95)

0.4.101 (2023-03-23)

Bug Fixes

  • improve error message upon importing Client Routing utilities while using Server Routing (fix #731) (b14dfda)
  • improve migration hint (bc6a8ae)

0.4.100 (2023-03-22)

Bug Fixes

  • add resolve helpers to npm package (#717) (85a2a10)
  • improve error message when server-only module is loaded in browser (#fix 723) (37eaf60)
  • move server exports to 'vite-plugin-ssr/server' (fe07744)

0.4.99 (2023-03-19)

Bug Fixes

  • improve condition for adding VPS middleware to dev server (ac8eb24)
  • re-add pageContext._prerenderContext (#722) (f2803ec)

0.4.98 (2023-03-18)

Features

  • pageContext.isClientSideNavigation (closes #568) (9943f28)

0.4.97 (2023-03-17)

Bug Fixes

  • throw an error upon 404 on the client-side (6f80f80)

Features

  • support RenderErrorPage() on the client-side (fix #717) (a7313b6)

0.4.96 (2023-03-17)

Bug Fixes

  • add package.json#exports[string].types to each entry (fix #716) (c88b1c5)

0.4.95 (2023-03-17)

Bug Fixes

  • [v1] suggest config name upon wrong lowercase (334c303)
  • [v1] use levenshtein distance for similarity (4c5cfed)
  • fix navigate() jsdoc (146bd65)
  • point package.json#exports[string].types to .d.ts files (8541b6c)
  • update bug message (15de976)

0.4.94 (2023-03-14)

Bug Fixes

  • add 'vite-plugin-ssr' to ssr.external only if strictly needed (68b1fcb)
  • improve makeFilePathAbsolute assertion (fix #703) (2d6489b)
  • remove unreliable isFilesystemAbsolute() assertion (fix #703) (41adc4a)
  • shim require() for ESM modules (fix #701) (7b269e0)
  • suppress not actionable Rollup warnings (e6925c4)
  • update @brillout/vite-plugin-import-build (ec4cf32)
  • use assertIsVitePluginCode() instead of isNodeJS() (03f594d)

0.4.93 (2023-03-10)

Bug Fixes

0.4.92 (2023-03-10)

Bug Fixes

  • aggressively add all page files to optimizeDeps.entries (d20f92a)
  • improve utils/assertSingleInstance.ts (#691) (fee06f3)
  • support Vite's dev server hotkey (3054d2f)

Features

0.4.91 (2023-03-05)

Bug Fixes

  • fix and consolidate pageContext.pageProps.is404 logic #681 (99e9e39)
  • update @brillout/vite-plugin-import-build (908cb17)

0.4.90 (2023-03-04)

Bug Fixes

  • improve dist/ file names (b1a232c)
  • make dependency sharing with Vite much more likely (a9949bd)
  • remove special characters from emitted dist/ files (b019fe7)

0.4.89 (2023-02-25)

Bug Fixes

  • only warn about slow file crawling in dev (d5eac01)
  • skip devPlugin() when building (91a6312)
  • update @brillout/vite-plugin-import-build (fix #672) (a60315a)

0.4.88 (2023-02-24)

Bug Fixes

  • only warn about slow file crawling in dev (1cfefb7)
  • update @brillout/vite-plugin-import-build (2f16a65)

0.4.87 (2023-02-22)

Bug Fixes

  • don't add CSS files to optimizeDeps (e8f5b17)
  • unique error page assertion (fix #661) (a2027a8)

0.4.86 (2023-02-20)

Bug Fixes

  • add esbuild to list of dependencies (fix #659) (535bc4b)
  • improve warning upon pre-render hook providing URL not matching any page route (e933c00)
  • improve wording (25903e3)
  • remove false positive of using pageContext.url (#654) (ede98b3)
  • show stack trace upon pageContext.url usage warning (44a21aa)

0.4.85 (2023-02-19)

Bug Fixes

  • add assertUsage() for onBeforePrerender() usage (71211af)
  • also assertUsage() prerender() string[] return (3cfff0b)
  • forbid prerender hooks to provide the same URL twice (#654) (594bc50)
  • improve pre-rendering warnings (c15cc80)
  • pageContext.pageContexts => pageContext._pageContexts (7204a6f)
  • polish pre-render assertUsage() messages (348336b)
  • stop providing pageContext._pageContexts (5860a9c)

0.4.84 (2023-02-17)

Bug Fixes

  • colorize dev logs (3ce3f0d)
  • improve error messages (3ec176c)
  • improve internal assertion (549b5ab)
  • swallow expected pageContext.urlOriginal access error (58e991f)
  • update @brillout/vite-plugin-import-build (622d8a4)

0.4.83 (2023-02-17)

Bug Fixes

0.4.82 (2023-02-13)

Bug Fixes

  • update @brillout/vite-plugin-import-build (07a1265)

0.4.81 (2023-02-13)

Bug Fixes

  • fix support for custom config.build.rollupOptions.output.assetFileNames (fix #647) (bcc248e)

0.4.80 (2023-02-12)

Bug Fixes

  • collect single css when cssCodeSplit: false (fix #644) (0040e48)

0.4.79 (2023-02-11)

Bug Fixes

  • use configureDevServer() instead of config.isProduction to diff dev/prod (dbad544)

0.4.78 (2023-02-10)

Bug Fixes

  • improve assertion failure log (1bff480)
  • improve importBuild.cjs instructions (fix #627) (cd7ba41)
  • log fetch error causing new frontend deploy detection (f54b3b7)
  • update @brillout/vite-plugin-import-build (463fe05)

0.4.77 (2023-02-04)

Bug Fixes

0.4.76 (2023-02-04)

Bug Fixes

  • consider only fonts as fallback assets (fix #624) (523167f)

0.4.75 (2023-02-03)

Bug Fixes

  • determine fallback asset by also removing hash from filename (fix #634) (66fe475)

0.4.74 (2023-02-03)

Bug Fixes

  • package.json ./__internal/setup export (d11401d)
  • remove early hint crossorigin property (fix #618) (fd7f76e)
  • remove fallback assets from early hints (fix #624) (693ff00)

0.4.73 (2023-01-30)

Bug Fixes

  • simplify and correct status code for onRenderResult (fix #619) (e0b2f20)

0.4.72 (2023-01-30)

Bug Fixes

  • don't log RenderErrorPage (8b7afc4)
  • improve Vite dev server logging (e588487)
  • set pageContext.errorWhileRendering to original error (d58e024)
  • support multiple Rollup output entries (#477) (65a1053)
  • update vite-plugin-import-build (fix #612) (72999ef)

0.4.71 (2023-01-20)

Bug Fixes

  • fix react-streaming optional TypeScript dependency (8a6af79)
  • improve logging of build warnings (7780b27)

0.4.70 (2023-01-18)

Bug Fixes

  • improve formatting of transpilation error logs in dev (d158d97)
  • improve transpile error handling (1f9f45d)
  • workaround immutable exports (fix #596) (3753cc2)

0.4.69 (2022-12-29)

Bug Fixes

0.4.68 (2022-12-27)

Bug Fixes

0.4.67 (2022-12-27)

Bug Fixes

  • pipe original stream asynchronously (c87c32e)

0.4.66 (2022-12-26)

Bug Fixes

  • also apply pageContextInit to pre-rendered 404 page (#576) (4c027f7)
  • apply prerender pageContextInit (fix #576) (32f0860)

0.4.65 (2022-12-22)

Bug Fixes

  • tolerate superfluous globalContext setters (fix #572) (74954c1)

0.4.64 (2022-12-21)

Bug Fixes

0.4.63 (2022-12-20)

Bug Fixes

0.4.62 (2022-12-15)

Bug Fixes

  • always use original Base URL config for determining fine-grained Base URLs (fix #556) (8dd3f75)

0.4.61 (2022-12-15)

Bug Fixes

  • apply extension assets handling only if needed (#556) (6f7ee64)

0.4.60 (2022-12-14)

Bug Fixes

  • workaround searchForWorkspaceRoot() windows bug (fix #555) (5ddb5a4)

0.4.59 (2022-12-13)

Bug Fixes

  • soft-deprecate pageContext promises in favor of pageContext async functions (f0bc24d)
  • update outdated assertion (fix #552) (6477dbd)

0.4.58 (2022-12-13)

Bug Fixes

0.4.57 (2022-12-10)

Bug Fixes

  • pageContext promise function (776b156)

0.4.56 (2022-12-10)

Bug Fixes

  • stop showing warning upon $ vite-plugin-ssr prerender (659f28b)
  • tolerate hook file path to be a npm package module (fix #550) (2215db7)

Features

  • allow pageContextPromise to be a lazy-called function (fix #548) (a273ce3)

0.4.55 (2022-12-09)

Bug Fixes

  • implement new configurations baseAssets and baseServer (fix #542) (3b41f93)
  • improve onBeforePrerender() interface (48b953f)
  • properly handle virtual IDs (2e596c5)
  • remove convoluted extractAssets assertions and improve comments (05fc470)
  • simplify processing of extension source page files (948b131)

Features

0.4.54 (2022-11-26)

Bug Fixes

0.4.53 (2022-11-25)

  • support Vite 4

0.4.52 (2022-11-24)

Bug Fixes

  • allow arbitrary mode, independently of dev/prod (fix #516) (65bcf53)
  • remove unnecessary NODE_ENV check (#516) (11f0155)
  • explicitly fail when using two streams (7dbdae8)
  • improve html whitespace handling (0915436)
  • improve PageAsset data structure (#262) (e41ab39)
  • improve warning message upon wrong HTML variable value (19f3423)
  • increase timeouts (7f25745)
  • make HTML injections more readable (38c97c7)

Features

Performance Improvements

  • allow user to control script preloading (b0374b1)
  • only preload fonts and JavaScript by default (00cbf39)
  • remove superfluous preload tag (70cc112)
  • in dev, load scripts before static assets (3358460)

0.4.51 (2022-11-19)

Bug Fixes

  • assert Stem packages to define package.json#exports (55c40b8)
  • don't assume Stem packages to always define a VPS config (f5c41d6)
  • fix resolving of Stem client entries (cb2f359)
  • refine wrong usage message (#516) (1e4dbe6)
  • workaround windows bug (91393d7)

0.4.50 (2022-11-17)

Bug Fixes

  • improve error message upon wrong Vite dev server usage (fix #516) (0b7c9bc)
  • look for package.json as well as in parent directories (fix #518) (5bd5434)

0.4.49 (2022-11-17)

Bug Fixes

  • export type { TemplateWrapped } (fix #511) (e9be7fe)
  • export type { UserConfig } (e760135)
  • add Stem entries to optimizeDeps.include (b65b639)
  • avoid importBuild var collision (43811ba)
  • deprecate package.json#vite-plugin-ssr.pageFilesDir (e0b2291)
  • enforce Stem npm packages to belong to a npm org (c1a9bc4)
  • fix pageContext.exportsAll type (dda92b8)
  • improve Stem package resolver (c929ab4)
  • warn instead of err upon wrong Stem package name (7c198b9)

Features

  • enable Stem packages to define vite-plugin-ssr config (25a204f)

0.4.48 (2022-11-10)

Features

  • expose pageContext.exportsAll[exportName][0].filePath (0dec2ce)

0.4.47 (2022-11-09)

Bug Fixes

  • remove internal heuristic in favor of new config hydrationCanBeAborted (fix #423) (56f6c3e)

0.4.46 (2022-11-07)

Bug Fixes

0.4.45 (2022-11-07)

Bug Fixes

  • add JSDoc to navigate() (c240e8e)
  • also check whether new page is renderable for navigate() (fix #502) (d7729e9)
  • fix navigate() type export for newer TypeScript versions (3713643)

0.4.44 (2022-11-03)

Bug Fixes

0.4.43 (2022-10-19)

Bug Fixes

  • align CLI option parsing with Vite (54d2b22)
  • don't preload virtual css modules (fix #479) (3f7b991)
  • improve error message upon environment loading wrong exports entry (fix #481) (3c58410)

0.4.42 (2022-10-18)

Bug Fixes

  • remove erroneous assertions (fix #469) (7e2bf51)
  • skip autoFullBuild upon @vitejs/plugin-legacy internal build() (#477) (d578381)
  • stop assuming build command (9254b66)
  • stop assuming Vite CLI command to occur first (b9738b7)
  • support older Edge browsers (#477) (9b9f551)

0.4.41 (2022-10-15)

BREAKING CHANGES

  • disableAutoFullBuild defaults to true when using Vite's build() API.

    We introduce this breaking change in a minor because it affects only very small number of users.

Bug Fixes

Performance Improvements

  • faster script injection (#474)

0.4.40 (2022-10-07)

Bug Fixes

  • [stream] ensure order of stream writing and stream flushing (#466) (11a5cbd)
  • [stream] flush HTML begin/end injections (#466) (50bd119)
  • [stream] flush script injection (e618438)
  • fix slow hook timeouts (58525c1)
  • make includeAssetsImportedByServer support ?url imports (fix #464) (29f046e)

0.4.39 (2022-10-03)

Bug Fixes

  • add timeout to hook calls (1f5be92)

0.4.38 (2022-09-22)

Bug Fixes

  • check bundle package duplicate only for production (59c832e)

0.4.37 (2022-09-22)

Bug Fixes

0.4.36 (2022-09-19)

Bug Fixes

  • improve error message when using Vite 2 (fix #455) (3a274ef)

0.4.35 (2022-09-17)

Bug Fixes

  • don't treat page as HTML-only if it defines client renderer (fix #446) (a89540f)

0.4.34 (2022-09-14)

Bug Fixes

0.4.33 (2022-09-13)

Bug Fixes

  • revert "fix: do not copy static assets to dist/server/" (fix #447) (ec93afe)

0.4.32 (2022-09-08)

Bug Fixes

  • comply to common reverse proxy setups (fix #443) (7b76001)
  • improve error message upon trying to use navigate() without Client Routing (fix #441) (5c97cc4)

0.4.31 (2022-09-04)

Bug Fixes

  • make streaming SSR work on Firefox (a0c791c)
  • typescript: allow user to define Page type (4e3ac79)

0.4.30 (2022-09-02)

Performance Improvements

  • use picocolors instead of kolorist (f4f2e1c)

0.4.29 (2022-08-30)

Bug Fixes

  • support includeAssetsImportedByServer for linked dependencies (eaa857b)
  • use Vite's built-in import.meta.glob() instead of vite-plugin-glob (fix #431) (19385ef)

BREAKING CHANGES

  • vite-plugin-ssr@0.4.29 doesn't work with Vite 2 anymore: make sure to update to Vite 3.

0.4.28 (2022-08-29)

Bug Fixes

  • improve getFileUrl() assertions (4799316)
  • update react detection heuristic (#423) (931a8e9)

0.4.27 (2022-08-26)

Bug Fixes

  • improve config.build.outDir handling (d6415f8)
  • track instances for improved debuggability (6d24934)
  • update vite-plugin-import-build (8856f94)

Reverts

  • Revert "start using @brillout/vite-plus" (03d0b0f)
  • Revert "update @brillout/vite-plus" (5a9cdc5)

0.4.26 (2022-08-23)

Bug Fixes

  • use latest vite-plugin-import-build version (4a2d3ea)

0.4.25 (2022-08-22)

Bug Fixes

  • improve 404 logging during dev (522f8cc)
  • improve React detection heuristic (#423) (bbd39c6)
  • skip 404 warning upon RenderErrorPage error (45fd93f)

0.4.24 (2022-08-22)

Bug Fixes

0.4.23 (2022-08-21)

Bug Fixes

0.4.22 (2022-08-18)

Bug Fixes

  • add module vite-plugin-ssr/routing to optimizeDeps.exclude (3585d9e)

0.4.21 (2022-08-18)

Bug Fixes

  • further tolerate vite-plugin-ssr being loaded twice (da02463)
  • improve error message upon vite-plugin-ssr being included twice in bundle (58427f5)
  • improve scroll restoration for Firefox (fd70fad)
  • pass entire pageContext to Route Functions (a596b59)
  • re-support & improve hash navigation (fix #418) (88b9da0)

Features

0.4.20 (2022-08-12)

Bug Fixes

  • fix types for react streaming (432d1a7)
  • further tolerate vite-plugin-ssr being loaded twice (8038fbe)
  • stop injecting into stream when streaming is disabled (#416) (a8e1519)

0.4.19 (2022-08-10)

Bug Fixes

  • improve TypeScripts types (02c4089)

Features

  • implement pageContext.isBackwardNavigation (510501b)

0.4.18 (2022-08-05)

Bug Fixes

  • don't swallow unexpected error upon prefetching (0e05293)
  • improve error message upon duplicated page files (32bbdfd)
  • improve error message upon failure fetching static assets (1d134a7)
  • improve error message upon wrong provided pageContext.url value in onBeforeRoute() (cb50a55)
  • upon onBeforeRoute() overwriting pageContext.url, preserve and use original URL for .pageContex.json requests (b9cca1b)

0.4.17 (2022-08-03)

Bug Fixes

0.4.16 (2022-08-01)

Bug Fixes

  • improve onBeforeRender() hook handling upon error (5838c18)
  • support build.assetsDir (fix #397) (6909c8a)

Features

  • pageContext.enableEagerStreaming (fix #396) (7fd58e8)

0.4.15 (2022-07-31)

Bug Fixes

0.4.14 (2022-07-30)

Bug Fixes

  • add exportsAll to PageContextBuiltIn (06b0c6c)
  • add is404 to pageContext docs and PageContextBuiltIn (bcb2ab5)
  • add JSDoc annotations to PageContextBuiltIn (62dcc0e)
  • add support for server-side rendered preprocessed stylesheets (PostCSS, SASS, ...) (6d30acf)
  • improve vite-plugin-pwa error message (#388) (6e6f872)
  • improve error message upon wrong base value (fix #394) (7671cfa)
  • improve error message upon wrong outDir value (fix #392) (f2df3fe)
  • improve error message upon wrong Rollup config (998e9f6)
  • improve error message when trying to apply 's HTML transformer (fix #388) (2ab98c9)
  • make onPagePrerender pageContext concurrent safe (ba11709)
  • make React detection heuristic more robust (dfe45d3)
  • remove problematic assertion (fix #391) (9500fe3)
  • render error page on the client-side (fix #393) (9f2dfb7)
  • show second error if it's not the same as first one (859678d)
  • stop erasing previous optimizeDeps.entries (fix #386) (255e788)
  • stop executing onBeforeRender() hook upon rendering the error page (f992343)
  • support 404 for $ vite preview + SSG (28f8e02)

0.4.13 (2022-07-26)

Bug Fixes

  • forbidden re-exports in page files (6bd30c8)
  • further improve error message upon wrong Vite config while using pre-rendering (#380) (013cb92)
  • improve error message upon prerender() API usage with wrong Vite config (fix #380) (4084c5a)
  • remove wildcard re-export wrong usage assertion (db3c015)
  • remove wrong assertion (fix #383) (928e12e)
  • support dynamic doNotPrerender values (fix #382) (8a5b9a4)
  • support wildcard re-exports (fix #381) (64dc9a9)
  • tell user to not define doNotPrerender in .page.client.js files (5863a99)
  • use custom debug implementation instead of debug npm package (b4bdf62)

Features

  • allow doNotPrerender to be defined in _default.page. files (close #373) (33f6119)

0.4.12 (2022-07-25)

Bug Fixes

  • add export resolvers for TS (c995bfc)
  • allow _error.page.js to be defined in _default/ (fix #374) (556b4b6)
  • allow export { doNotPrerender } to be defined in .page.js and .page.client.js (fix #378) (409b625)
  • explain user wrong usage instead of failing upon wrong export values (dd6e94e)
  • false positive of using pageContext.urlParsed.[hashString|searchString] (fix #377) (c129b9e)
  • improve DEBUG=vps:extractStyles flag (#376) (5301336)
  • improve error message upon wrong onBeforePrerender() hook usage (f533bda)
  • make includeAssetsImportedByServer: false work (099bc10)
  • make includeAssetsImportedByServer work for Vue SFCs (fix #376) (f4c57fb)
  • set includeAssetsImportedByServer to false by default (d8aa9a5)
  • improve error messages (611bb45)

Performance Improvements

  • load less page files while pre-rendering (611bb45)
  • use PageFile[exportNames] while pre-rendering, in order to avoid unnecessary loading of page files (#373, #378) (00db4f9)

0.4.11 (2022-07-22)

Bug Fixes

  • assertion when user throws non-object error (7bad325)
  • improve err msg upon production build not found (9aaa254)

0.4.10 (2022-07-20)

Bug Fixes

  • show the stack trace for warnings with a direct call stack from the user (f5c22d4)
  • treat _default/ directories as empty for filesystem routing _default.page.* files (da9af6e)

0.4.9 (2022-07-15)

Bug Fixes

  • ensure that plugin helpers are not loaded by server-side runtime (48714f3)

0.4.8 (2022-07-15)

Bug Fixes

  • add node_modules/vite-plugin-ssr to fs.allow list (86b1173)
  • do not import es-module-lexer from server-side runtime (7420876)
  • do not import fast-glob from server-side runtime (0fabc6d)

0.4.7 (2022-07-15)

Bug Fixes

  • prerender() types (a53c492)
  • avoid false warnings of outdated pageContext.pageExports usage (905f830)
  • do not load route files when using server routing (0891002)
  • eslint prerender() (f8f12b5)
  • show stack trace upon outdated pageExports usage (641f7d3)
  • show viewport prefetching dev info only once (dae2e98)

0.4.6 (2022-07-14)

Bug Fixes

  • add page files to optimizeDeps.entries (3c5fa83)
  • make fs logic simpler (2d83b67)

Performance Improvements

  • improve page files to be scanned by Vite (31f4c01)
  • prevent Vite from scanning too many page files (2772814)

0.4.5 (2022-07-12)

Bug Fixes

0.4.4 (2022-07-12)

Bug Fixes

0.4.3 (2022-07-12)

Bug Fixes

0.4.2 (2022-07-11)

Bug Fixes

0.4.1 (2022-07-11)

Bug Fixes

  • add crossorigin attribute to preload link with absolute src (fix #355) (2c4ed4b)
  • route precedence for new param token @ (f83aa57)

0.4.0 (2022-07-10)

BREAKING CHANGES

See vite-plugin-ssr.com/migration/0.4 for how to migrate from 0.3 to 0.4.

Features

Major feature: see this Twitter Thread.

Minor features:

  • enable overwriting default routing with onBeforeRoute() (46b9e19)
  • pageContext.urlParsed.searchAll (94ee761)
  • Parameterized Filesystem Routing (416a94e)
  • support export default (fix #314) (f653b68)

Bug Fixes

  • add routing debug logs (dfdb208)
  • add support for $ vite preview command (c8ca4b8)
  • add support for ReScript (a040fe7)
  • add worker exports to package.json#exports for Cloudflare Workers (954fe02)
  • assert HTML variables (254cf54)
  • do not append ?extractStyles to asset imports for image Vite plugins (fix #353) (1b937e2)
  • do not copy static assets to dist/server/ (7e33664)
  • ensure HMR preamble code to be executed before client entries (f4ff28b)
  • ensure Rollup generates an entry for each page file (fix #350) (e659e26)
  • ensure stream end handler is called once (768c383)
  • ensure stream is always flushed (5770d9f)
  • fix styling in development for browser back/fwd buttons (d3d4190)
  • handle destroyed Node.js writable proxy (6488300)
  • handle URLs with several trailing slashes (#310) (551b020)
  • improve asset naming (8791d66)
  • improve debug logs (978a7c2)
  • improve error message upon multiple versions loaded (6bb206e)
  • improve error message upon wrong streaming setup (baf8c88)
  • improve filesystem routing when pages/ is (deeply) nested (858dde4)
  • improve prefetch config (f4b4cc7)
  • improve stream error handling (d4835c0)
  • improve wrong usage error message (2d3132d)
  • increase scroll listener throttle timeout (#46) (ab36ac3)
  • isolate framework pageFiles symlink directory (6e2d6f1)
  • make $ vite dev and $ vite preview support HTML streaming (9a59360)
  • make httpResponse.pipe() work with Readable Streams (558f87a)
  • make navigate() cross-bundle safe (68a9e7a)
  • make vps resilient against array prototype extensions (2d09e75)
  • only add vps dev middleware for Vite's CLI (b0c3974)
  • route precedence (e2bfd5d)
  • support $ vite dev command (4ca3e39)
  • support vite preview command for SSG (a7c602a)
  • support rollup format synonyms (1a7d4f7)
  • swallow expected errors upon new frontend deploy (34d800f)
  • switch to server-routing if asset fail to load upon new deploy (#292) (1f837d5)
  • throw normalized client-side error upon new deploy handling (e0163a8)
  • tolerate multiple vps instances (74b8eb2)
  • treat Object.ceate(null) as plain JavaScript object (c9eb387)
  • update pageContext.urlParsed type (12261ac)

Performance Improvements

  • ensure scripts to be loaded last (b921e60)
  • only add page entries to optimizeDeps.entries if CI (8e10dae)
  • resolve dynamic imports early (a9da5a2)
  • scan index page on dev start (4f82f03)

0.3.64 (2022-04-14)

Bug Fixes

0.3.63 (2022-04-14)

Bug Fixes

  • client-side routing unicode navigate (fix #307) (fba7e77)

0.3.62 (2022-04-09)

Bug Fixes

  • help esbuild resolve navigate() server-side import (fix #301) (a03a392)

0.3.61 (2022-03-30)

Bug Fixes

  • Fix duplicate decodeURI logic (#291)

0.3.60 (2022-03-11)

Bug Fixes

  • allow prerender() to be called without any argument (7eca89d)
  • forbid usage of older problematic Vite version (1b04a99)
  • support unicode URLs (443f7c6)

0.3.59 (2022-02-23)

Bug Fixes

  • help eslint resolve modules (fix #270) (14dfe7a)
  • improve bug error message (#268) (a848d9d)
  • improve error message upon wrong escapeInject usage (fix #268) (9331aa8)

0.3.58 (2022-02-20)

Bug Fixes

  • fix windows dynamic import path resolve (c548f3e)

0.3.57 (2022-02-20)

Bug Fixes

  • support ESM module dist/server (4499330)
  • use import() instead of require() (a7886be)

0.3.56 (2022-02-19)

Bug Fixes

  • [bundle-size reduction] remove unused utils from client (cb86e81)
  • [npm package size reduction] remove tests from npm package (3ad6a6b)
  • [npm package size reduction] replace dual ESM+CJS transpiling with (0157912)

0.3.55 (2022-02-18)

Bug Fixes

  • remove TS source files from npm package (fix #265) (d15f134)

0.3.54 (2022-02-17)

Bug Fixes

0.3.53 (2022-02-10)

Bug Fixes

  • add TypeScript types to CLI JavaScript API (b1d90c5)

0.3.52 (2022-02-10)

Features

  • pass globalContext to prerender() hooks (0f52a77)

0.3.51 (2022-02-01)

Bug Fixes

  • fix @brillout/json-s optimizeDeps entry (4e45d08)
  • gracefully handle unexpected URL formats (fix #252) (48ca1b1)
  • improve DX around wrong environment (4f705c4)
  • use more robust Node.js env test (7240263)

0.3.50 (2022-01-28)

Bug Fixes

  • fix 404 link (1006387)
  • improve DX upon serialization failure (d42911c)

Features

  • enable users to trigger error page by throw RenderPageError({ pageContext: /* some additional context passed to _error.page.js */ }) (8731c6e)

0.3.49 (2022-01-26)

Features

  • add baseAssets option; enable CDN deployments (dac4841)

0.3.48 (2022-01-25)

Bug Fixes

  • fix and rename doNotCreateNewHistoryEntry to overwriteLastHistoryEntry (d3a4582)

0.3.47 (2022-01-24)

Features

  • new navigate() option doNotCreateNewHistoryEntry (59460fd)

0.3.46 (2022-01-18)

Features

  • allow render() hook to return a pageContext promise (44ef89d)

0.3.45 (2022-01-17)

Bug Fixes

  • allow user to define rollupOptions.input with a string or string[] (d3f116d)

0.3.44 (2022-01-12)

Features

  • expose SSR errors at pageContext.errorWhileRendering (3a10f11)

0.3.43 (2022-01-04)

Bug Fixes

  • enable improved SPA example (f111fd5)

0.3.42 (2021-12-27)

Bug Fixes

  • attempt to fix the setup.ts bug (0ae3499)

0.3.41 (2021-12-24)

Features

  • add option prerender({ onPagePrender }) (b864664)

0.3.40 (2021-12-23)

Bug Fixes

  • do not use outDir config for plugin dist/ folder (a7b2cc5)
  • improve error message when importBuild.js is missing (fix #235) (4390d7f)
  • replace direct eval with new Function (9432d31)
  • support Cloudflare Pages workers (950b470)

0.3.39 (2021-12-18)

Bug Fixes

  • add debug info for setup.ts:14 bug (edad4cc)

0.3.38 (2021-12-18)

Bug Fixes

  • make noExternal: true work with vite-plugin-ssr (bacba9f)

0.3.37 (2021-12-17)

Bug Fixes

  • HTML tag detection regex (d8c3846)
  • load stream module dynamically only if needed (beb589d)
  • remove Vite's require hook plugin (55270db)

BREAKING CHANGES

  • HTML Streaming changes.
  • httpResponse.bodyNodeStream -> httpResponse.getNodeStream()
  • httpResponse.bodyWebStream -> httpResponse.getWebStream()
  • httpResponse.bodyPipeToNodeWritable() -> httpResponse.pipeToNodeWritable()
  • httpResponse.bodyPipeToWebWritable() -> httpResponse.pipeToWebWritable()

More infos at https://vite-plugin-ssr.com/stream

0.3.36 (2021-12-13)

Bug Fixes

  • add support for relative URLs such as ./relative-path or ?query (b0329d2)
  • deprecate pageContext.urlNormalized in favor of pageContext.urlPathname and pageContext.urlParsed (2b23bf3)

BREAKING CHANGES

  • pageContext.urlNormalized is deprecated. Use pageContext.urlPathname and pageContext.urlParsed instead.

0.3.35 (2021-12-07)

Bug Fixes

  • fix minor Base URL bug

0.3.34 (2021-12-04)

Bug Fixes

  • filesystemRoutingRoot living at root (3f27e5d)

0.3.33 (2021-12-03)

Bug Fixes

0.3.32 (2021-12-03)

Bug Fixes

  • remove duplicated Base URL in dev (b6b660d)
  • support page files at app root (7674ec7)

0.3.31 (2021-11-19)

Bug Fixes

  • don't assume Vite to normalize root (fix #208) (3b50083)
  • fix client routing deadlock when ensureHydration is set (124c83c)

0.3.30 (2021-11-18)

Bug Fixes

  • make pageContext.pageProps.is404 more resilient (765c5b3)

0.3.29 (2021-11-16)

Bug Fixes

  • add support for url === '/some-base-url' && baseUrl === '/some-base-url/' (bfac53b)
  • Client Router + Base URL regression (fix #205) (cb95ed4)
  • improve argument handling of useClientRouter() (8db8836)
  • regression pageProps.is404 overridden by user provided pageContext (a796168)
  • skip Client Router for links that don't match Base URL (bce64c5)

0.3.28 (2021-11-15)

Bug Fixes

  • add scss/sass/less to inferred types (fix #196) (0a329cf)
  • always use camelCase for CLI options (2ad6027)
  • fix buggy CSS test (8676afa)
  • fix Route Function precedence value assertion (f4d41c7)
  • improve error message when client-side routing to 404 (c036f51)
  • show warning instead of internal error upon relative link URLs (83255e2)

BREAKING CHANGES

  • CLI option $ vite-plugin-ssr prerender --no-extra-dir renamed to $ vite-plugin-ssr prerender --noExtraDir.

0.3.27 (2021-11-10)

Bug Fixes

0.3.26 (2021-11-05)

Bug Fixes

  • do not normalize pageContext.url (22a5311)

0.3.25 (2021-11-05)

Bug Fixes

0.3.24 (2021-11-04)

Bug Fixes

  • [Client Router] add support for links with hash (39ad1fb)
  • add link prefetch handlers once (b8e0d00)

0.3.23 (2021-11-03)

Bug Fixes

  • also render 500 page upon client-side routing (252137b)
  • ensure right content type for .pageContext.json URLs (#191) (56e356f)
  • impl clear message when hooks wrongfully return whole pageContext object (fix #174) (c38eb98)

0.3.22 (2021-11-02)

Bug Fixes

  • Add webp to inferred types (#195)

0.3.21 (2021-11-02)

Bug Fixes

  • provide pageContext.httpResponse.contentType (fix #191) (ee5009d)

0.3.20 (2021-10-30)

Bug Fixes

0.3.19 (2021-10-27)

Bug Fixes

  • improve CSP support (#181)

0.3.18 (2021-10-26)

Bug Fixes

  • ensure filesystem routing is skipped when there is a page route file (95eff57)
  • improve overall precedence algorithm (4f84f4e)

0.3.17 (2021-10-25)

Bug Fixes

  • improve route string precedence (74e6abb)

0.3.16 (2021-10-25)

Bug Fixes

  • refactor route precedence algorithm (8ce369b)

BREAKING CHANGES

0.3.15 (2021-10-24)

Bug Fixes

  • reduce priority of catch-all routes (3b11956)

0.3.14 (2021-10-24)

Bug Fixes

  • avoid duplicate error logs (63eb40f)
  • make catch-all route lower prio (fix #178) (235e0dc)

Features

  • make outDir configurable instead of always being dist/ (#177)

BREAKING CHANGES

  • Route String priority algorithm changed. AFAICT there aren't any breaking change, but no guarantee here.

0.3.13 (2021-10-21)

Features

0.3.12 (2021-10-17)

Bug Fixes

0.3.11 (2021-10-16)

Features

  • support multiple onBeforeRender() hooks in .page.js and .page.server.js (#95, #153)

Bug Fixes

  • do not optimizeDeps client code deps (#168)
  • update path-to-regexp (f997192)

BREAKING CHANGES

0.3.10 (2021-10-09)

Bug Fixes

  • prepare Vite breaking change (8312b5d)

0.3.9 (2021-10-08)

Bug Fixes

  • add option useClientRouter({ ensureHydration: boolean }) to mitigate "Hydration Mismatch" errors for Vue users" (c5891cd)
  • fix tolerate readable streams with missing read() handler (#138) (e33eea4)
  • stop make superfluous .pageContext.json requests when there are no onBeforeRender() defined on the server-side (#95) (6a16049)
  • tolerate readable streams with missing read() handler (#138) (a214190)

0.3.8 (2021-10-07)

Bug Fixes

  • add option useClientRouter({ ensureHydration: boolean }) to mitigate "Hydration Mismatch" errors for Vue users" (c5891cd)
  • stop make superfluous .pageContext.json requests when there are no onBeforeRender() defined on the server-side (#95) (6a16049)
  • tolerate readable streams with missing read() handler (#138) (a214190)

0.3.7 (2021-10-05)

Bug Fixes

  • also add @brillout/json-s to optimizeDeps (ed255d1)

0.3.6 (2021-10-05)

Bug Fixes

  • tell Vite what to pre-bundle also for vite-plugin-ssr/client/router (#156) (64f7444)

0.3.5 (2021-10-05)

Bug Fixes

  • circumvent Vite bug that occurs when HTML has no <head> (e282837)
  • tell Vite what to pre-bundle (fix #156) (59dfb4c)

0.3.4 (2021-10-05)

Bug Fixes

  • make sure renderPage() never throws an error, gracefully handle errors instead (ec37859)

0.3.3 (2021-09-29)

Features

  • HTML streaming support (#138)

0.3.2 (2021-09-22)

Bug Fixes

  • correctly handle base URL that contains a URL origin (fix #149) (41fb77c)
  • filesystem routing: also map src/ directories to empty string (c629cbe)

Features

  • pageContext.httpResponse.bodyWebStream, pageContext.httpResponse.bodyNodeStream, pageContext.httpResponse.getBody() (c2e1ce2)

0.3.1 (2021-09-14)

Bug Fixes

  • unknown exports warning (324480c)

0.3.0 (2021-09-14)

Bug Fixes

  • dx: forbid user to inject assets twice instead of silently failing (6d4166e)
  • support latest @types/node version (3078ac5)
  • ts: use all strict flags in order to accommodate for users with strict TS settings (#145) (fd5bae5)

Features

  • implement domain-drive file structure (closes #125) (fb368ff)
  • allow render() hook to modify pageContext (e.g. boilerplate-react/renderer/_default.page.server.jsx)
  • onBeforeRoute() out of beta
  • onBeforePrerender() out of beta
  • vite-plugin-ssr can now automatically inject assets to HTML in more situations (paving the way for built-in HTML streaming support)

BREAKING CHANGES

  • dangerouslySkipEscape is now a standalone import.

      // _default.page.server.js
    
    - import { html } from "vite-plugin-ssr"
    + import { html, dangerouslySkipEscape } from "vite-plugin-ssr"
    
      export function render() {
        return html`<!DOCTYPE html>
          <html>
            <body>
    -         <div id="root">${html.dangerouslySkipEscape(pageHtml)}</div>
    +         <div id="root">${dangerouslySkipEscape(pageHtml)}</div>
            </body>
          </html>`
      }
  • html template tag renamed to escapeInject.

      // _default.page.server.js
    
    - import { html, dangerouslySkipEscape } from "vite-plugin-ssr"
    + import { escapeInject, dangerouslySkipEscape } from "vite-plugin-ssr"
    
      export function render() {
    -   return html`<!DOCTYPE html>
    +   return escapeInject`<!DOCTYPE html>
          <html>
            <body>
              <div id="root">${dangerouslySkipEscape(pageHtml)}</div>
            </body>
          </html>`
      }
  • createPageRender() renamed createPageRenderer().

      // server.js
    
    - const renderPage = createPageRender(/*...*/)
    + const renderPage = createPageRenderer(/*...*/)
  • renderPage() changes:

      // server.js
    
      const renderPage = createPageRenderer(/*...*/)
      app.get('*', async (req, res, next) => {
        const url = req.originalUrl
    -   const pageContext = { url }
    -   const result = await renderPage(pageContext)
    -   if (result.nothingRendered) return next()
    -   res.status(result.statusCode).send(result.renderResult)
    +   const pageContextInit = { url }
    +   const pageContext = await renderPage(pageContextInit)
    +   if (!pageContext.httpResponse) return next()
    +   res.status(pageContext.httpResponse.statusCode).send(pageContext.httpResponse.body)
      })
  • Hook addPageContext() deprecated and replaced with onBeforeRender().

      // *.page.server.js
    
    - export function addPageContext(pageContext) {
    + export function onBeforeRender(pageContext) {
        const pageProps = /*...*/
    -   return { pageProps }
    +   return {
    +     pageContext: {
    +       pageProps
    +     }
    +   }
      }
  • _onBeforeRoute() and _onBeforePrerender() are out of beta: rename them to onBeforeRoute() and onBeforePrerender().

  • _injectAssets() is now a standalone import.

      // _default.page.server.js
    
    - import { html } from "vite-plugin-ssr"
    + import { _injectAssets } from "vite-plugin-ssr"
    
      export function render() {
    -   html._injectAssets(/*...*/)
    +   _injectAssets(/*...*/)
      }

0.2.13 (2021-09-03)

Bug Fixes

  • ts: fix typings for HTML Fragments (392268a)

0.2.12 (2021-09-01)

Bug Fixes

  • do not override page's render hook (0f51330)

Features

  • [beta feature] allow user to define _onBeforeRoute() hook (#136, fix #140) (91ed460)
  • allow _onBeforeRoute() to modify pageContext.url (bad2405)
  • allow missing .page.js when .page.client.js and .page.server.js is defined (37f6f6b)
  • [beta feature] allow user to define _onBeforePrerender() hook (fix #136) (9b6a135)
  • dx: improve no route matching warning (586e1c4)

0.2.11 (2021-08-22)

Bug Fixes

  • allow parallel option to be passed via cli (9a94bc9)

0.2.10 (2021-08-22)

Bug Fixes

  • pre-rendering: allow user to control concurrency (fix #134, fix (c7f9454)
  • ts: fix conflicting ViteDevServer type definitions (8d3aef3)
  • ts: make getPage() generic, e.g. getPage<SomeCustomPageContext>() (f56104d)

0.2.9 (2021-08-15)

Bug Fixes

  • allow pageContext to be Vue reactive (65ac828)
  • dx: improve pageContext not available in browser wrong usage message (0563c20)
  • help TS resolve plugin until TS supports package.json#exports (414ce14)
  • skip symbols and toJSON in pageContext proxy (361bca2)
  • ts: return plugin as any to avoid Plugin type mismatches when there are multiple Vite versions installed (34e9b6a)

0.2.8 (2021-08-12)

DX

  • dx: improve error message when user forgot to run $ vite build for production.

0.2.7 (2021-08-10)

Bug Fixes

  • make server-side test work again for CF (fix #130) (fe01932)
  • properly remove built-in props from error message (6e23c10)
  • resolve --root arg (6a51f2a)

0.2.6 (2021-08-09)

Bug Fixes

  • use utils/assert instead of assert of console module (#129) (8b4e39c)

0.2.5 (2021-08-06)

DX

  • dx: improve error message when pageContext is not serializable #127 (fix #128)

0.2.4 (2021-08-03)

Bug Fixes

  • don't overwrite but supplement rollupOptions.input (f3268a8)

Features

  • impl .page.server.js#doNotPrerender to enable pre-rendering skipping (bfb2dd1)

0.2.3 (2021-07-21)

Bug Fixes

  • don't return null upon several matching _default page files (fix #120) (801b92f)

0.2.2 (2021-07-20)

Bug Fixes

  • add support for server written in ESM (fix #118) (56e3885)

0.2.1 (2021-07-19)

Bug Fixes

0.2.0 (2021-07-16)

  • improve dist/server/importBuild.js ergonomics (cad8683)

BREAKING CHANGES

  • dist/server/importer.js has been renamed to dist/server/importBuild.js.

0.1.5 (2021-07-11)

Bug Fixes

  • error when route string is missing a leading slash instead of silently failing (21052c6)
  • properly handle URL suffix .pageContext.json for URL / (84b3e76)

0.1.4 (2021-07-07)

Features

  • add option $ vite-plugin-ssr prerender --noExtraDir (c88e030)
  • provide TypeScript types for pageContext (fix #110) (ceb6ebd)

0.1.3 (2021-07-07)

Bug Fixes

  • don't lower case when matching URLs (333583f)
  • improve strategy to hunt down Vite cache bug (#108) (085207a)

0.1.2 (2021-06-17)

Features

  • also expose pageContext.pageExports on the client-side (83801ff)
  • support async route functions (fix #97) (0aca411)

0.1.1 (2021-06-09)

Features

  • enable Jest/Babel component unit testing (fix #91) (cb3417d)

0.1.0 (2021-06-06)

Nothing changed (0.1.0 is equivalent to 0.1.0-beta.50); vite-plugin-ssr is now out of beta :-).

0.1.0-beta.50 (2021-06-02)

Bug Fixes

  • define ESM build in tsconfig.ts instead of CLI (vitejs/vite#3617, fix #85) (4fdbf91)

0.1.0-beta.49 (2021-06-02)

Bug Fixes

0.1.0-beta.48 (2021-05-30)

  • rename dangerouslySetHtml to dangerouslySkipEscape (fix #84) (b14bd17), closes #84

Bug Fixes

BREAKING CHANGES

  • Replace dangerouslySetHtml with dangerouslySkipEscape. E.g. for linux users: git ls-files | xargs sed -i "s/dangerouslySetHtml/dangerouslySkipEscape/g"

0.1.0-beta.47 (2021-05-29)

Features

  • make *.page.js exports available to user as pageContext.pageExports (fix #80)

0.1.0-beta.46 (2021-05-28)

  • define everything on pageContext (fix #76) (15d68f8), closes #76

BREAKING CHANGES

  • Apply following changes:
  // *.page.server.js

  export { render }
- function render({ Page, pageContext }) {
+ function render(pageContext) {
+   const { Page } = pageContext
    /* ... */
  }

  export { addPageContext }
- function addPageContext({ Page, pageContext }) {
+ function addPageContext(pageContext) {
+   const { Page } = pageContext
    /* ... */
  }
  // *.page.client.js

  import { getPage } from "vite-plugin-ssr/client";

- const { Page, pageContext } = await getPage();
+ const pageContext = await getPage();
+ const { Page } = pageContext
  // *.page.client.js

  import { useClientRouter } from 'vite-plugin-ssr/client/router'

  useClientRouter({
-   render({ Page, pageContext, isHydration }) {
+   render(pageContext) {
+     const { Page, isHydration } = pageContext
      /* ... */
    },
  })
  // At your server integration point

  const express = require('express')
  const { createPageRender } = require('vite-plugin-ssr')

  /* ... */

  const pageRender = createPageRender(/*...*/)

  /* ... */

- pageRender({ url, pageContext })
+ pageContext.url = url
+ pageRender(pageContext)
  • pageContext.urlFull is deprecated; use pageContext.urlNormalized instead.

0.1.0-beta.45 (2021-05-26)

Bug Fixes

  • reload glob imports in dev (#66) (09b54c0)
  • Route Functions should return routeParams instead of contextProps (fix #63) (e03b918)

Features

  • always route on the server-side (fix #73) (ef3eb3c)
  • rename contextProps to pageContext, and addContextProps to addPageContext (fix #58) (aedf9fc), closes #58

BREAKING CHANGES

  • Replace all occurrences in your source code of addContextProps to addPageContext, and all occurrences of contextProps to pageContext. There is no need for semantic replacing: you can simply replace text, for example with a linux terminal:
    1. git ls-files | xargs sed -i "s/addContextProps/addPageContext/g"
    2. git ls-files | xargs sed -i "s/contextProps/pageContext/g"
  • Make your Route Functions return { match: true, routeParams: {/*...*/} } instead of { match: true, pageContext: {/*...*/} } (or { match: true, contextProps: {/*...*/} } if you didn't rename contextProps to pageContext yet).

0.1.0-beta.44 (2021-05-20)

Bug Fixes

  • Add mime types to preload tags, add common image preload tags (29a3b96)

0.1.0-beta.43 (2021-05-18)

Bug Fixes

  • use visibilitychange event instead of unload event (b2cc36e)

Features

  • implement <a keep-scroll-position /> and navigate(url, { keepScrollPosition: true }) (#62) (6a8515a)

0.1.0-beta.42 (2021-05-14)

Bug Fixes

  • write pre-render files sequentially (fix #59) (2339746)

0.1.0-beta.41 (2021-05-14)

Bug Fixes

  • on static hosts, fallback to Server Routing for 404 pages (#57) (56e0d0a)

Features

  • also generate dist/client/404.html when pre-rendering (fix #57) (d6072f2)

0.1.0-beta.40 (2021-05-05)

Bug Fixes

  • add empty .npmignore to ensure dist/ is always published (c241c53)

0.1.0-beta.38 (2021-05-05)

Bug Fixes

  • make sure Node.js doesn't try to use browser entry points (fix #55) (4e9c14b)

0.1.0-beta.37 (2021-05-04)

  • make route parameters available only at contextProps.routeParams (f98f94b)

BREAKING CHANGES

  • Route parameters are not available directly at contextProps anymore. E.g. use contextProps.routeParams.movieId instead of contextProps.movieId (for a route string /movie/:movieId).

0.1.0-beta.36 (2021-05-01)

Bug Fixes

  • also check windows path for usesClientRouter test (b3c1cab)
  • do not assume .page.js files to always be the root in the manifest (fix #51) (138a3f7)
  • fix preload tags paths when building on windows (9c2fd40)

0.1.0-beta.35 (2021-04-26)

Bug Fixes

  • vite-fix-2390 is not required anymore (& bump Vite dependency) (36fade0)
  • do not reload page when user only changes the URL hash (dbb6f9a)
  • do not use new URL for extracting URL search and URL hash (fix #47) (4f3d737)
  • throttle scroll event listener (fix #46) (c58d1ff)
  • use browser scroll restore for first page load (b6f701b)

Features

  • allow Route Functions to return a boolean and make returning match optional (963e488)
  • make contextProps.urlParsed available to user (97aa908)

0.1.0-beta.34 (2021-04-21)

Bug Fixes

  • simplify navigationState and avoid unnecessary contextProps fetching when navigating to /# (#43) (9e2196b)
  • use path.posix.relative instead of path.relative (5eadbb1)
  • version number in assertion messages (47a99a6)

Features

  • make contextProps.urlFull and contextProps.urlPathname available everywhere (fix #42, fix #42) (b3f46fc)

BREAKING CHANGES

  • contextProps.url and contextProps.urlNormalized are deprecated: use contextProps.urlFull and contextProps.urlPathname instead.

0.1.0-beta.33 (2021-04-17)

Bug Fixes

  • retrieve context props for 404 page, and expect missing context props for 404 page if no _error.page.js is defined (fix #41) (55cd596)

0.1.0-beta.32 (2021-04-16)

Features

BREAKING CHANGES

  • pageProps and setPageProps() are deprecated. Define your page props on contextProps.pageProps by returning pageProps in addContextProps(), and then export const passToClient = ['pageProps'] in .page.server.js to tell vite-plugin-ssr to serialize and pass contextProps.pageProps to the browser. In the browser contextProps is now available at const { Page, contextProps } = await getPage() and useClientRouter({ render({ Page, contextProps, isHydration }) }).

0.1.0-beta.31 (2021-04-15)

Bug Fixes

  • remove test files from boilerplates (c255dbb)
  • use parseUrl() instead of new URL() (fix #28) (447d095)

0.1.0-beta.30 (2021-04-10)

Bug Fixes

  • prevent dynamic dependency paths from mistakenly being statically analysed (a1eca47)

Features

  • accept any valid URL to be passed to renderPage() (930865e)
  • add contextProps.routeParams (512a253)
  • add contextProps.urlNormalized (9c932b0)

0.1.0-beta.29 (2021-04-10)

Bug Fixes

0.1.0-beta.28 (2021-04-10)

Bug Fixes

  • cli: process exit 1 on unhandled promise rejections (fix #33) (6ab3b49)
  • [cloudflare workers] do not import plugin code in prod (#1) (a6af9e7)
  • change url right before rendering new page (97530f0)
  • do not assume asset path to start with assets/ (fix #32) (9791c41)
  • improve error handling for CF workers (70a89e0)

Features

  • [cloudflare workers] generate importer.js (#1) (dfa4e76)
  • cli: add option to set root (4f1087a)
  • [cloudflare workers] allow user to manually set Vite Manifests (#1) (75aa55e)
  • [cloudflare workers] make loading vite entry user file loader self sufficient for build (#1) (0693184)
  • [cloudflare workers] remove client-side code in SSR bundles (#1) (557fabc)

BREAKING CHANGES

  • import ssr from 'vite-plugin-ssr' now throws an error; use import ssr from 'vite-plugin-ssr/plugin' instead.

0.1.0-beta.27 (2021-04-03)

Bug Fixes

Features

  • auto-detect whether useClientRouter() is used and pass that info to the pre-render + pass Vite's base value to the pre-render (698f060)
  • support base url for prod server (de8c0e0)

0.1.0-beta.26 (2021-03-30)

Bug Fixes

  • CJS default plugin export (09c3ee4)

0.1.0-beta.25 (2021-03-30)

Bug Fixes

0.1.0-beta.24 (2021-03-30)

Bug Fixes

Features

BREAKING CHANGES

  • This release only works with @vite@2.1.4; make sure to pin your vite dependency to 2.1.4 in your package.json.

0.1.0-beta.23 (2021-03-28)

Bug Fixes

  • add CJS default export for vite-plugin-ssr/plugin (40216d2)

0.1.0-beta.22 (2021-03-28)

Bug Fixes

  • only intercept regular left clicks on regular links (405a27f)
  • save & restore scroll position upon client-side routing (72815c7)

improve

  • don't load plugin code in production (95e7e0f)

BREAKING CHANGES

  • It's now recommended to do import ssr from 'vite-plugin-ssr/plugin'; instead of import ssr from 'vite-plugin-ssr';. A warning will be shown otherwise.

0.1.0-beta.21 (2021-03-26)

Bug Fixes

  • Filesystem Routing bug when common prefix ends in filename (06ccfaa)
  • fix mapping of pageId and page files (fix #18) (45436f5)
  • use some-path/index.html instead of some-path.html (fix #19) (7281ffe)

Features

  • expose CLI as JavaScript API (e16ec91)

0.1.0-beta.20 (2021-03-26)

Bug Fixes

Features

  • update peer dependency on vite 2.1.2->2.1.3 (6778f09)

BREAKING CHANGES

  • this release works only with vite@2.1.3 so make sure to pin your vite dependency to 2.1.3

0.1.0-beta.19 (2021-03-25)

Features

  • add --skip-git flag to boilerplates (18e1616)
  • add support for base url (fix #16) (b4a4f2f)

0.1.0-beta.18 (2021-03-24)

Bug Fixes

  • when injecting HTML: also recognize tags that have attributes (651428a)

Features

0.1.0-beta.17 (2021-03-19)

Bug Fixes

  • remove zero-js problematic example (69d662d)

Features

0.1.0-beta.16 (2021-03-18)

Bug Fixes

  • auto apply @brillout/vite-fix-2390 (f847a32), closes #5

0.1.0-beta.15 (2021-03-17)

Bug Fixes

  • support building in ts cjs projects (be5c7dc), closes #11

0.1.0-beta.14 (2021-03-17)

Bug Fixes

  • improve thenable check (62fca8e)
  • remove need for AntiFlicker by preloading styles in dev (debb9bd), closes #2

Reverts

0.1.0-beta.13 (2021-03-14)

Bug Fixes

  • do not assertUsage viteDevServer in production (d7f69c5)

0.1.0-beta.12 (2021-03-12)

Features

  • allow non-page .server file extensions (10a14d1), closes #3

0.1.0-beta.11 (2021-03-09)

Bug Fixes

  • skip /favicon.ico requests (f528784)

chore

  • rename createRender() to createPageRender() (f62dc8e)

Features

  • improve error handling (4a945bf)
  • improve route functions (9af7f7b)
  • improve usage error messages (cc0d678)

BREAKING CHANGES

  • server integration point createRender() renamed to createPageRender().
  • render() function (const render = createRender(/*...*/)) now returns an object { nothingRendered, renderResult, statusCode }.
  • _404.page.js and _500.page.js deprecated and replaced with _error.page.js.

0.1.0-beta.10 (2021-03-05)

Bug Fixes

  • convert windows path to posix for micromatch (cc9c405), closes #4
  • don't try to inject dynamic import polyfill (fdffd37)
  • boilerplates: remove duplicated file (4421aa6)

Features

  • allow render hook to return an object instead of HTML (a649eaf)
  • support _500.page.js and improve error handling (d492b9c)
  • support html tag composition (9a57006)

0.1.0-beta.9 (2021-03-01)

Bug Fixes

  • Fix released build

0.1.0-beta.8 (2021-03-01)

Bug Fixes

  • re-export default (cd43e6e)
  • use in operator only on objects (819dfe1)

Features

  • remove html.sanitize and make sanitized automatic (95d145c)

BREAKING CHANGES

  • Removed html.sanitize(); simply directly insert the string and vite-plugin-ssr will automatically sanitize it

0.1.0-beta.7 (2021-02-28)

Features

  • Pass Page to addContextProps. (2512ee3)

0.1.0-beta.6 (2021-02-22)

Initial public release