@rspress/runtime 2.0.0-beta.0 → 2.0.0-beta.10

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/Content.js CHANGED
@@ -1,26 +1,32 @@
1
1
  import * as __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__ from "react/jsx-runtime";
2
+ import * as __WEBPACK_EXTERNAL_MODULE__rspress_shared_baa012d0__ from "@rspress/shared";
2
3
  import * as __WEBPACK_EXTERNAL_MODULE_react__ from "react";
3
4
  import * as __WEBPACK_EXTERNAL_MODULE_react_router_dom_5358f3fe__ from "react-router-dom";
4
5
  import * as __WEBPACK_EXTERNAL_MODULE_virtual_site_data_fa42d4c0__ from "virtual-site-data";
5
6
  import * as __WEBPACK_EXTERNAL_MODULE__hooks_js_5a9aefb7__ from "./hooks.js";
6
7
  import * as __WEBPACK_EXTERNAL_MODULE__route_js_d0361f8a__ from "./route.js";
7
8
  function TransitionContentImpl(props) {
8
- var _siteData_themeConfig;
9
9
  let element = props.el;
10
- if (null === __WEBPACK_EXTERNAL_MODULE_virtual_site_data_fa42d4c0__["default"] || void 0 === __WEBPACK_EXTERNAL_MODULE_virtual_site_data_fa42d4c0__["default"] ? void 0 : null == (_siteData_themeConfig = __WEBPACK_EXTERNAL_MODULE_virtual_site_data_fa42d4c0__["default"].themeConfig) ? void 0 : _siteData_themeConfig.enableContentAnimation) element = (0, __WEBPACK_EXTERNAL_MODULE__hooks_js_5a9aefb7__.useViewTransition)(props.el);
10
+ if (__WEBPACK_EXTERNAL_MODULE_virtual_site_data_fa42d4c0__["default"]?.themeConfig?.enableContentAnimation) element = (0, __WEBPACK_EXTERNAL_MODULE__hooks_js_5a9aefb7__.useViewTransition)(props.el);
11
11
  return element;
12
12
  }
13
13
  const TransitionContent = /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react__.memo)(TransitionContentImpl, (prevProps, nextProps)=>prevProps.el === nextProps.el);
14
14
  const Content = ({ fallback = /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__.jsx)(__WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__.Fragment, {}) })=>{
15
15
  const { pathname } = (0, __WEBPACK_EXTERNAL_MODULE_react_router_dom_5358f3fe__.useLocation)();
16
- const matched = (0, __WEBPACK_EXTERNAL_MODULE__route_js_d0361f8a__.pathnameToRouteService)(pathname);
17
- if (!matched) return /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__.jsx)("div", {});
18
- const routesElement = matched.element;
19
- if (!process.env.__REACT_GTE_18__ && process.env.__SSR__) return routesElement;
16
+ const matchedElement = (0, __WEBPACK_EXTERNAL_MODULE_react__.useMemo)(()=>{
17
+ const route = (0, __WEBPACK_EXTERNAL_MODULE__route_js_d0361f8a__.pathnameToRouteService)(pathname);
18
+ return route?.element;
19
+ }, [
20
+ pathname
21
+ ]);
22
+ if (!matchedElement) return /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__.jsx)("div", {});
23
+ if (!(0, __WEBPACK_EXTERNAL_MODULE__rspress_shared_baa012d0__.inBrowser)()) return /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__.jsx)(TransitionContent, {
24
+ el: matchedElement
25
+ });
20
26
  return /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__.jsx)(__WEBPACK_EXTERNAL_MODULE_react__.Suspense, {
21
27
  fallback: fallback,
22
28
  children: /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__.jsx)(TransitionContent, {
23
- el: routesElement
29
+ el: matchedElement
24
30
  })
25
31
  });
26
32
  };
package/dist/hooks.js CHANGED
@@ -57,6 +57,7 @@ function useWindowSize(initialWidth, initialHeight) {
57
57
  height: window.innerHeight
58
58
  });
59
59
  };
60
+ handleResize();
60
61
  window.addEventListener('resize', handleResize);
61
62
  return ()=>{
62
63
  window.removeEventListener('resize', handleResize);
package/dist/index.d.ts CHANGED
@@ -1,8 +1,8 @@
1
- export { DataContext, ThemeContext, useDark, useI18n, useLang, usePageData, useVersion, useViewTransition, useWindowSize, } from './hooks';
2
- export { Content } from './Content';
3
- export { normalizeHrefInRuntime, normalizeImagePath, withBase, removeBase, addLeadingSlash, removeTrailingSlash, normalizeSlash, isProduction, isEqualPath, } from './utils';
1
+ export { DataContext, ThemeContext, useDark, useI18n, useLang, usePageData, useVersion, useViewTransition, useWindowSize, } from './hooks.js';
2
+ export { Content } from './Content.js';
3
+ export { normalizeHrefInRuntime, normalizeImagePath, withBase, removeBase, addLeadingSlash, removeTrailingSlash, normalizeSlash, isProduction, isEqualPath, } from './utils.js';
4
4
  export { useLocation, useNavigate, matchRoutes, BrowserRouter, useSearchParams, matchPath, } from 'react-router-dom';
5
5
  export { createPortal, flushSync, } from 'react-dom';
6
- export { pathnameToRouteService, normalizeRoutePath } from './route';
7
- export { Helmet } from 'react-helmet-async';
8
- export { NoSSR } from './NoSSR';
6
+ export { pathnameToRouteService, normalizeRoutePath, } from './route.js';
7
+ export { Head } from '@unhead/react';
8
+ export { NoSSR } from './NoSSR.js';
package/dist/index.js CHANGED
@@ -4,12 +4,12 @@ import * as __WEBPACK_EXTERNAL_MODULE__utils_js_d88b7fe1__ from "./utils.js";
4
4
  import * as __WEBPACK_EXTERNAL_MODULE_react_router_dom_5358f3fe__ from "react-router-dom";
5
5
  import * as __WEBPACK_EXTERNAL_MODULE_react_dom_7136dc57__ from "react-dom";
6
6
  import * as __WEBPACK_EXTERNAL_MODULE__route_js_d0361f8a__ from "./route.js";
7
- import * as __WEBPACK_EXTERNAL_MODULE_react_helmet_async_048d06c6__ from "react-helmet-async";
7
+ import * as __WEBPACK_EXTERNAL_MODULE__unhead_react_6715e4ab__ from "@unhead/react";
8
8
  import * as __WEBPACK_EXTERNAL_MODULE__NoSSR_js_7f7b6e71__ from "./NoSSR.js";
9
9
  var __webpack_exports__BrowserRouter = __WEBPACK_EXTERNAL_MODULE_react_router_dom_5358f3fe__.BrowserRouter;
10
10
  var __webpack_exports__Content = __WEBPACK_EXTERNAL_MODULE__Content_js_303edc82__.Content;
11
11
  var __webpack_exports__DataContext = __WEBPACK_EXTERNAL_MODULE__hooks_js_5a9aefb7__.DataContext;
12
- var __webpack_exports__Helmet = __WEBPACK_EXTERNAL_MODULE_react_helmet_async_048d06c6__.Helmet;
12
+ var __webpack_exports__Head = __WEBPACK_EXTERNAL_MODULE__unhead_react_6715e4ab__.Head;
13
13
  var __webpack_exports__NoSSR = __WEBPACK_EXTERNAL_MODULE__NoSSR_js_7f7b6e71__.NoSSR;
14
14
  var __webpack_exports__ThemeContext = __WEBPACK_EXTERNAL_MODULE__hooks_js_5a9aefb7__.ThemeContext;
15
15
  var __webpack_exports__addLeadingSlash = __WEBPACK_EXTERNAL_MODULE__utils_js_d88b7fe1__.addLeadingSlash;
@@ -37,4 +37,4 @@ var __webpack_exports__useVersion = __WEBPACK_EXTERNAL_MODULE__hooks_js_5a9aefb7
37
37
  var __webpack_exports__useViewTransition = __WEBPACK_EXTERNAL_MODULE__hooks_js_5a9aefb7__.useViewTransition;
38
38
  var __webpack_exports__useWindowSize = __WEBPACK_EXTERNAL_MODULE__hooks_js_5a9aefb7__.useWindowSize;
39
39
  var __webpack_exports__withBase = __WEBPACK_EXTERNAL_MODULE__utils_js_d88b7fe1__.withBase;
40
- export { __webpack_exports__BrowserRouter as BrowserRouter, __webpack_exports__Content as Content, __webpack_exports__DataContext as DataContext, __webpack_exports__Helmet as Helmet, __webpack_exports__NoSSR as NoSSR, __webpack_exports__ThemeContext as ThemeContext, __webpack_exports__addLeadingSlash as addLeadingSlash, __webpack_exports__createPortal as createPortal, __webpack_exports__flushSync as flushSync, __webpack_exports__isEqualPath as isEqualPath, __webpack_exports__isProduction as isProduction, __webpack_exports__matchPath as matchPath, __webpack_exports__matchRoutes as matchRoutes, __webpack_exports__normalizeHrefInRuntime as normalizeHrefInRuntime, __webpack_exports__normalizeImagePath as normalizeImagePath, __webpack_exports__normalizeRoutePath as normalizeRoutePath, __webpack_exports__normalizeSlash as normalizeSlash, __webpack_exports__pathnameToRouteService as pathnameToRouteService, __webpack_exports__removeBase as removeBase, __webpack_exports__removeTrailingSlash as removeTrailingSlash, __webpack_exports__useDark as useDark, __webpack_exports__useI18n as useI18n, __webpack_exports__useLang as useLang, __webpack_exports__useLocation as useLocation, __webpack_exports__useNavigate as useNavigate, __webpack_exports__usePageData as usePageData, __webpack_exports__useSearchParams as useSearchParams, __webpack_exports__useVersion as useVersion, __webpack_exports__useViewTransition as useViewTransition, __webpack_exports__useWindowSize as useWindowSize, __webpack_exports__withBase as withBase };
40
+ export { __webpack_exports__BrowserRouter as BrowserRouter, __webpack_exports__Content as Content, __webpack_exports__DataContext as DataContext, __webpack_exports__Head as Head, __webpack_exports__NoSSR as NoSSR, __webpack_exports__ThemeContext as ThemeContext, __webpack_exports__addLeadingSlash as addLeadingSlash, __webpack_exports__createPortal as createPortal, __webpack_exports__flushSync as flushSync, __webpack_exports__isEqualPath as isEqualPath, __webpack_exports__isProduction as isProduction, __webpack_exports__matchPath as matchPath, __webpack_exports__matchRoutes as matchRoutes, __webpack_exports__normalizeHrefInRuntime as normalizeHrefInRuntime, __webpack_exports__normalizeImagePath as normalizeImagePath, __webpack_exports__normalizeRoutePath as normalizeRoutePath, __webpack_exports__normalizeSlash as normalizeSlash, __webpack_exports__pathnameToRouteService as pathnameToRouteService, __webpack_exports__removeBase as removeBase, __webpack_exports__removeTrailingSlash as removeTrailingSlash, __webpack_exports__useDark as useDark, __webpack_exports__useI18n as useI18n, __webpack_exports__useLang as useLang, __webpack_exports__useLocation as useLocation, __webpack_exports__useNavigate as useNavigate, __webpack_exports__usePageData as usePageData, __webpack_exports__useSearchParams as useSearchParams, __webpack_exports__useVersion as useVersion, __webpack_exports__useViewTransition as useViewTransition, __webpack_exports__useWindowSize as useWindowSize, __webpack_exports__withBase as withBase };
package/dist/route.js CHANGED
@@ -1,15 +1,14 @@
1
- import * as __WEBPACK_EXTERNAL_MODULE__VIRTUAL_ROUTES__3c8bd3e0__ from "__VIRTUAL_ROUTES__";
2
1
  import * as __WEBPACK_EXTERNAL_MODULE_react_router_dom_5358f3fe__ from "react-router-dom";
2
+ import * as __WEBPACK_EXTERNAL_MODULE_virtual_routes_98776429__ from "virtual-routes";
3
3
  function normalizeRoutePath(routePath) {
4
4
  return decodeURIComponent(routePath).replace(/\.html$/, '').replace(/\/index$/, '/');
5
5
  }
6
6
  const cache = new Map();
7
7
  function pathnameToRouteService(pathname) {
8
- var _matched_;
9
8
  const cacheItem = cache.get(pathname);
10
9
  if (cacheItem) return cacheItem;
11
- const matched = (0, __WEBPACK_EXTERNAL_MODULE_react_router_dom_5358f3fe__.matchRoutes)(__WEBPACK_EXTERNAL_MODULE__VIRTUAL_ROUTES__3c8bd3e0__.routes, normalizeRoutePath(pathname));
12
- const route = null == matched ? void 0 : null == (_matched_ = matched[0]) ? void 0 : _matched_.route;
10
+ const matched = (0, __WEBPACK_EXTERNAL_MODULE_react_router_dom_5358f3fe__.matchRoutes)(__WEBPACK_EXTERNAL_MODULE_virtual_routes_98776429__.routes, normalizeRoutePath(pathname));
11
+ const route = matched?.[0]?.route;
13
12
  if (route) cache.set(pathname, route);
14
13
  return route;
15
14
  }
package/dist/utils.js CHANGED
@@ -10,8 +10,7 @@ function isEqualPath(a, b) {
10
10
  return withBase(normalizeHrefInRuntime((0, __WEBPACK_EXTERNAL_MODULE__rspress_shared_baa012d0__.removeHash)(a))) === withBase(normalizeHrefInRuntime((0, __WEBPACK_EXTERNAL_MODULE__rspress_shared_baa012d0__.removeHash)(b)));
11
11
  }
12
12
  function normalizeHrefInRuntime(a) {
13
- var _siteData_route;
14
- const cleanUrls = Boolean(null === __WEBPACK_EXTERNAL_MODULE_virtual_site_data_fa42d4c0__["default"] || void 0 === __WEBPACK_EXTERNAL_MODULE_virtual_site_data_fa42d4c0__["default"] ? void 0 : null == (_siteData_route = __WEBPACK_EXTERNAL_MODULE_virtual_site_data_fa42d4c0__["default"].route) ? void 0 : _siteData_route.cleanUrls);
13
+ const cleanUrls = Boolean(__WEBPACK_EXTERNAL_MODULE_virtual_site_data_fa42d4c0__["default"]?.route?.cleanUrls);
15
14
  return (0, __WEBPACK_EXTERNAL_MODULE__rspress_shared_baa012d0__.normalizeHref)(a, cleanUrls);
16
15
  }
17
16
  function normalizeImagePath(imagePath) {
package/package.json CHANGED
@@ -1,11 +1,11 @@
1
1
  {
2
2
  "name": "@rspress/runtime",
3
- "version": "2.0.0-beta.0",
3
+ "version": "2.0.0-beta.10",
4
4
  "description": "The Runtime of Rspress Documentation Framework",
5
5
  "bugs": "https://github.com/web-infra-dev/rspress/issues",
6
6
  "repository": {
7
7
  "type": "git",
8
- "url": "https://github.com/web-infra-dev/rspress",
8
+ "url": "git+https://github.com/web-infra-dev/rspress.git",
9
9
  "directory": "packages/runtime"
10
10
  },
11
11
  "license": "MIT",
@@ -13,11 +13,9 @@
13
13
  "*.css",
14
14
  "*.less",
15
15
  "*.sass",
16
- "*.scss",
17
- "**/virtual-global-styles.js",
18
- "virtual-global-styles",
19
- "./src/theme-default/styles/index.ts"
16
+ "*.scss"
20
17
  ],
18
+ "type": "module",
21
19
  "exports": {
22
20
  ".": {
23
21
  "types": "./dist/index.d.ts",
@@ -28,7 +26,6 @@
28
26
  "default": "./server.js"
29
27
  }
30
28
  },
31
- "main": "./dist/index.js",
32
29
  "types": "./dist/index.d.ts",
33
30
  "files": [
34
31
  "dist",
@@ -36,23 +33,24 @@
36
33
  "server.d.ts"
37
34
  ],
38
35
  "dependencies": {
36
+ "@unhead/react": "^2.0.10",
39
37
  "react": "^19.1.0",
40
38
  "react-dom": "^19.1.0",
41
- "react-helmet-async": "^2.0.5",
42
39
  "react-router-dom": "^6.29.0",
43
- "@rspress/shared": "2.0.0-beta.0"
40
+ "@rspress/shared": "2.0.0-beta.10"
44
41
  },
45
42
  "devDependencies": {
46
- "@rsbuild/plugin-react": "~1.1.1",
47
- "@rslib/core": "0.6.5",
43
+ "@rsbuild/plugin-react": "~1.3.1",
44
+ "@rslib/core": "0.8.0",
48
45
  "@types/jest": "~29.5.14",
49
- "@types/react": "^18.3.20",
50
- "@types/react-dom": "^18.3.6",
46
+ "@types/react": "^18.3.22",
47
+ "@types/react-dom": "^18.3.7",
48
+ "rsbuild-plugin-publint": "^0.3.2",
51
49
  "typescript": "^5.8.2",
52
50
  "@rspress/config": "1.0.0"
53
51
  },
54
52
  "engines": {
55
- "node": ">=14.17.6"
53
+ "node": ">=18.0.0"
56
54
  },
57
55
  "publishConfig": {
58
56
  "access": "public",
package/server.d.ts CHANGED
@@ -1 +1,2 @@
1
1
  export { StaticRouter } from 'react-router-dom/server';
2
+ export { matchPath } from 'react-router-dom';
package/server.js CHANGED
@@ -1 +1,2 @@
1
1
  export { StaticRouter } from 'react-router-dom/server';
2
+ export { matchPath } from 'react-router-dom';