diff --git a/README.md b/README.md index 764ab7d..861efe7 100644 --- a/README.md +++ b/README.md @@ -36,6 +36,29 @@ __NOTE: see .github for understand CI/CD__ 2. Create Pull Request & test 3. Squash & merge into `prod` +## WARNING +Right solution for wrap `` into ``. If you would like to wrap your lazy routes only once: +```typescript jsx +import { Outlet, useLocation } from 'react-router-dom'; +import type { FCRoute } from '@lomray/vite-ssr-boost/interfaces/fc-route'; +import { Suspense } from '@lomray/consistent-suspense'; + +/** + * NOTE: without key it's doesn't work + * @see https://github.com/remix-run/react-router/issues/10568 + * @constructor + */ +const MyLayout: FCRoute = () => { + const { key } = useLocation(); + + return ( + + + + ) +} +``` + ## Docker build [See github workflow](.github/workflows/release.yml) or ```bash diff --git a/package-lock.json b/package-lock.json index 884fca0..f016499 100644 --- a/package-lock.json +++ b/package-lock.json @@ -9,7 +9,7 @@ "version": "0.0.1", "dependencies": { "@lomray/consistent-suspense": "^2.0.1", - "@lomray/react-head-manager": "^1.1.1", + "@lomray/react-head-manager": "^2.0.1", "@lomray/react-mobx-manager": "^3.0.0", "@lomray/react-route-manager": "^1.2.1", "@lomray/vite-ssr-boost": "^2.0.3", @@ -380,6 +380,7 @@ "version": "7.23.4", "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.23.4.tgz", "integrity": "sha512-2Yv65nlWnWlSpe3fXEyX5i7fx5kIKo4Qbcj+hMO0odwaneFjfXw5fdum+4yL20O0QiaHpia0cYQ9xpNMqrBwHg==", + "dev": true, "dependencies": { "regenerator-runtime": "^0.14.0" }, @@ -1901,30 +1902,16 @@ } }, "node_modules/@lomray/react-head-manager": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/@lomray/react-head-manager/-/react-head-manager-1.1.1.tgz", - "integrity": "sha512-zmEG0wh1O0L4f0rC6hcRZEu+s6rOhYY6LkntXvofNXrPJSJV5n6sthmQ0e+UoUmjHxvIvnfHMtpdHTPpebrN0Q==", - "dependencies": { - "@babel/runtime": "^7.19.0", - "@lomray/consistent-suspense": "^1.2.2", - "html-react-parser": "^4.0.0" - }, - "peerDependencies": { - "react": ">=17.0.2", - "react-dom": ">=17.0.2", - "tslib": "^2.5.2" - } - }, - "node_modules/@lomray/react-head-manager/node_modules/@lomray/consistent-suspense": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/@lomray/consistent-suspense/-/consistent-suspense-1.3.1.tgz", - "integrity": "sha512-LmaUPzh82HKQv3wMYv01HcypA0GHJt5XuXqZgJYMMnjfxcVx0nfQSmb1wLHW5R9sXsJgvVUXVeuqPkOhJDUBoQ==", + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/@lomray/react-head-manager/-/react-head-manager-2.0.1.tgz", + "integrity": "sha512-nDLwAc/l235eVcw7IQmwe3jS0zWiJMttpCIbXxyoo4q6smibYJa+wIqicS+f5857GQ7sl2Z2Sk1h+5eydsNDiA==", "dependencies": { - "@babel/runtime": "^7.19.0" + "html-react-parser": "^5.0.11" }, "peerDependencies": { + "@lomray/consistent-suspense": ">=2.0.1", "react": ">=17.0.2", - "tslib": "^2.5.2" + "react-dom": ">=17.0.2" } }, "node_modules/@lomray/react-mobx-manager": { @@ -6883,23 +6870,23 @@ "dev": true }, "node_modules/html-dom-parser": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/html-dom-parser/-/html-dom-parser-4.0.0.tgz", - "integrity": "sha512-TUa3wIwi80f5NF8CVWzkopBVqVAtlawUzJoLwVLHns0XSJGynss4jiY0mTWpiDOsuyw+afP+ujjMgRh9CoZcXw==", + "version": "5.0.6", + "resolved": "https://registry.npmjs.org/html-dom-parser/-/html-dom-parser-5.0.6.tgz", + "integrity": "sha512-6KSMOgxzAIZZ1Tcc6eNEfRFC/XE0+TiYaWanKNYKHSEQOtdxrR0t8ILKXNDcRea/WbIDltLUIP8mi/tw7dtFvQ==", "dependencies": { "domhandler": "5.0.3", "htmlparser2": "9.0.0" } }, "node_modules/html-react-parser": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/html-react-parser/-/html-react-parser-4.0.0.tgz", - "integrity": "sha512-OzlOavs9lLyBxoRiXbXfODIX/nSShukMtdx3+WSMjon/FF1gJZRq0rBELoR5OswfbN56C0oKpAii7i3yzO/uVQ==", + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/html-react-parser/-/html-react-parser-5.1.0.tgz", + "integrity": "sha512-9BXtf81EFbi/YZDvDQkiwuPg4y8bXQrrWwrMvpIJxREXPv5HiLS0aQvtjY7YP3z2mYFD4urCWSl2ebSDdrrGwg==", "dependencies": { "domhandler": "5.0.3", - "html-dom-parser": "4.0.0", - "react-property": "2.0.0", - "style-to-js": "1.1.3" + "html-dom-parser": "5.0.6", + "react-property": "2.0.2", + "style-to-js": "1.1.10" }, "peerDependencies": { "react": "0.14 || 15 || 16 || 17 || 18" @@ -7117,9 +7104,9 @@ "dev": true }, "node_modules/inline-style-parser": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/inline-style-parser/-/inline-style-parser-0.1.1.tgz", - "integrity": "sha512-7NXolsK4CAS5+xvdj5OMMbI962hU/wvwoxk+LWR9Ek9bVtyuuYScDN6eS0rUm6TxApFpw7CX1o4uJzcd4AyD3Q==" + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/inline-style-parser/-/inline-style-parser-0.2.2.tgz", + "integrity": "sha512-EcKzdTHVe8wFVOGEYXiW9WmJXPjqi1T+234YpJr98RiFYKHV3cdy1+3mkTE+KHTHxFFLH51SfaGOoUdW+v7ViQ==" }, "node_modules/internal-slot": { "version": "1.0.6", @@ -12893,9 +12880,9 @@ } }, "node_modules/react-property": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/react-property/-/react-property-2.0.0.tgz", - "integrity": "sha512-kzmNjIgU32mO4mmH5+iUyrqlpFQhF8K2k7eZ4fdLSOPFrD1XgEuSBv9LDEgxRXTMBqMd8ppT0x6TIzqE5pdGdw==" + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/react-property/-/react-property-2.0.2.tgz", + "integrity": "sha512-+PbtI3VuDV0l6CleQMsx2gtK0JZbZKbpdu5ynr+lbsuvtmgbNcS3VM0tuY2QjFNOcWxvXeHjDpy42RO+4U2rug==" }, "node_modules/react-refresh": { "version": "0.14.0", @@ -13109,7 +13096,8 @@ "node_modules/regenerator-runtime": { "version": "0.14.0", "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.14.0.tgz", - "integrity": "sha512-srw17NI0TUWHuGa5CFGGmhfNIeja30WMBfbslPNhf6JrqQlLN5gcrvig1oqPxiVaXb0oW0XRKtH6Nngs5lKCIA==" + "integrity": "sha512-srw17NI0TUWHuGa5CFGGmhfNIeja30WMBfbslPNhf6JrqQlLN5gcrvig1oqPxiVaXb0oW0XRKtH6Nngs5lKCIA==", + "dev": true }, "node_modules/regexp-tree": { "version": "0.1.27", @@ -14449,19 +14437,19 @@ } }, "node_modules/style-to-js": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/style-to-js/-/style-to-js-1.1.3.tgz", - "integrity": "sha512-zKI5gN/zb7LS/Vm0eUwjmjrXWw8IMtyA8aPBJZdYiQTXj4+wQ3IucOLIOnF7zCHxvW8UhIGh/uZh/t9zEHXNTQ==", + "version": "1.1.10", + "resolved": "https://registry.npmjs.org/style-to-js/-/style-to-js-1.1.10.tgz", + "integrity": "sha512-VC7MBJa+y0RZhpnLKDPmVRLRswsASLmixkiZ5R8xZpNT9VyjeRzwnXd2pBzAWdgSGv/pCNNH01gPCCUsB9exYg==", "dependencies": { - "style-to-object": "0.4.1" + "style-to-object": "1.0.5" } }, "node_modules/style-to-object": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/style-to-object/-/style-to-object-0.4.1.tgz", - "integrity": "sha512-HFpbb5gr2ypci7Qw+IOhnP2zOU7e77b+rzM+wTzXzfi1PrtBCX0E7Pk4wL4iTLnhzZ+JgEGAhX81ebTg/aYjQw==", + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/style-to-object/-/style-to-object-1.0.5.tgz", + "integrity": "sha512-rDRwHtoDD3UMMrmZ6BzOW0naTjMsVZLIjsGleSKS/0Oz+cgCfAPRspaqJuE8rDzpKha/nEvnM0IF4seEAZUTKQ==", "dependencies": { - "inline-style-parser": "0.1.1" + "inline-style-parser": "0.2.2" } }, "node_modules/stylelint": { diff --git a/package.json b/package.json index f43fe9e..73b0842 100644 --- a/package.json +++ b/package.json @@ -19,7 +19,7 @@ }, "dependencies": { "@lomray/consistent-suspense": "^2.0.1", - "@lomray/react-head-manager": "^1.1.1", + "@lomray/react-head-manager": "^2.0.1", "@lomray/react-mobx-manager": "^3.0.0", "@lomray/react-route-manager": "^1.2.1", "@lomray/vite-ssr-boost": "^2.0.3",