@dr.pogodin/react-utils 1.47.0-alpha.1 → 1.47.0-alpha.11
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/babel.config.js +1 -1
- package/babel.module.config.js +11 -0
- package/bin/build.js +8 -4
- package/bin/setup.js +2 -3
- package/build/development/client/getInj.js +57 -44
- package/build/development/client/getInj.js.map +1 -1
- package/build/development/client/index.js +15 -21
- package/build/development/client/index.js.map +1 -1
- package/build/development/client/init.js +2 -6
- package/build/development/client/init.js.map +1 -1
- package/build/development/index.js +3 -183
- package/build/development/index.js.map +1 -1
- package/build/development/server/Cache.js +1 -8
- package/build/development/server/Cache.js.map +1 -1
- package/build/development/server/index.js +22 -50
- package/build/development/server/index.js.map +1 -1
- package/build/development/server/renderer.js +83 -92
- package/build/development/server/renderer.js.map +1 -1
- package/build/development/server/server.js +58 -62
- package/build/development/server/server.js.map +1 -1
- package/build/development/server/utils/errors.js +8 -31
- package/build/development/server/utils/errors.js.map +1 -1
- package/build/development/server/utils/index.js +2 -9
- package/build/development/server/utils/index.js.map +1 -1
- package/build/development/shared/components/Button/index.js +9 -16
- package/build/development/shared/components/Button/index.js.map +1 -1
- package/build/development/shared/components/Checkbox/index.js +6 -13
- package/build/development/shared/components/Checkbox/index.js.map +1 -1
- package/build/development/shared/components/GenericLink/index.js +4 -10
- package/build/development/shared/components/GenericLink/index.js.map +1 -1
- package/build/development/shared/components/Input/index.js +11 -18
- package/build/development/shared/components/Input/index.js.map +1 -1
- package/build/development/shared/components/Link.js +6 -13
- package/build/development/shared/components/Link.js.map +1 -1
- package/build/development/shared/components/Modal/index.js +16 -22
- package/build/development/shared/components/Modal/index.js.map +1 -1
- package/build/development/shared/components/NavLink.js +6 -13
- package/build/development/shared/components/NavLink.js.map +1 -1
- package/build/development/shared/components/PageLayout/index.js +7 -14
- package/build/development/shared/components/PageLayout/index.js.map +1 -1
- package/build/development/shared/components/TextArea/index.js +15 -22
- package/build/development/shared/components/TextArea/index.js.map +1 -1
- package/build/development/shared/components/Throbber/index.js +7 -14
- package/build/development/shared/components/Throbber/index.js.map +1 -1
- package/build/development/shared/components/WithTooltip/Tooltip.js +12 -18
- package/build/development/shared/components/WithTooltip/Tooltip.js.map +1 -1
- package/build/development/shared/components/WithTooltip/index.js +16 -23
- package/build/development/shared/components/WithTooltip/index.js.map +1 -1
- package/build/development/shared/components/YouTubeVideo/index.js +10 -17
- package/build/development/shared/components/YouTubeVideo/index.js.map +1 -1
- package/build/development/shared/components/index.js +16 -130
- package/build/development/shared/components/index.js.map +1 -1
- package/build/development/shared/components/selectors/CustomDropdown/Options/index.js +18 -19
- package/build/development/shared/components/selectors/CustomDropdown/Options/index.js.map +1 -1
- package/build/development/shared/components/selectors/CustomDropdown/index.js +24 -28
- package/build/development/shared/components/selectors/CustomDropdown/index.js.map +1 -1
- package/build/development/shared/components/selectors/NativeDropdown/index.js +19 -19
- package/build/development/shared/components/selectors/NativeDropdown/index.js.map +1 -1
- package/build/development/shared/components/selectors/Switch/index.js +12 -17
- package/build/development/shared/components/selectors/Switch/index.js.map +1 -1
- package/build/development/shared/components/selectors/common.js +1 -7
- package/build/development/shared/components/selectors/common.js.map +1 -1
- package/build/development/shared/components/selectors/index.js +3 -27
- package/build/development/shared/components/selectors/index.js.map +1 -1
- package/build/development/shared/utils/config.js +40 -21
- package/build/development/shared/utils/config.js.map +1 -1
- package/build/development/shared/utils/globalState.js +3 -8
- package/build/development/shared/utils/globalState.js.map +1 -1
- package/build/development/shared/utils/index.js +12 -89
- package/build/development/shared/utils/index.js.map +1 -1
- package/build/development/shared/utils/isomorphy/buildInfo.js +2 -9
- package/build/development/shared/utils/isomorphy/buildInfo.js.map +1 -1
- package/build/development/shared/utils/isomorphy/environment-check.js +2 -8
- package/build/development/shared/utils/isomorphy/environment-check.js.map +1 -1
- package/build/development/shared/utils/isomorphy/index.js +7 -32
- package/build/development/shared/utils/isomorphy/index.js.map +1 -1
- package/build/development/shared/utils/jest/E2eSsrEnv.js +24 -31
- package/build/development/shared/utils/jest/E2eSsrEnv.js.map +1 -1
- package/build/development/shared/utils/jest/global.js +1 -7
- package/build/development/shared/utils/jest/global.js.map +1 -1
- package/build/development/shared/utils/jest/index.js +20 -44
- package/build/development/shared/utils/jest/index.js.map +1 -1
- package/build/development/shared/utils/splitComponent.js +54 -46
- package/build/development/shared/utils/splitComponent.js.map +1 -1
- package/build/development/shared/utils/time.js +22 -31
- package/build/development/shared/utils/time.js.map +1 -1
- package/build/development/shared/utils/webpack.js +17 -16
- package/build/development/shared/utils/webpack.js.map +1 -1
- package/build/production/client/getInj.js +13 -11
- package/build/production/client/getInj.js.map +1 -1
- package/build/production/client/index.js +3 -3
- package/build/production/client/index.js.map +1 -1
- package/build/production/client/init.js +2 -2
- package/build/production/client/init.js.map +1 -1
- package/build/production/index.js +2 -6
- package/build/production/index.js.map +1 -1
- package/build/production/server/Cache.js +3 -3
- package/build/production/server/Cache.js.map +1 -1
- package/build/production/server/index.js +8 -8
- package/build/production/server/index.js.map +1 -1
- package/build/production/server/renderer.js +24 -25
- package/build/production/server/renderer.js.map +1 -1
- package/build/production/server/server.js +9 -11
- package/build/production/server/server.js.map +1 -1
- package/build/production/server/utils/errors.js +9 -9
- package/build/production/server/utils/errors.js.map +1 -1
- package/build/production/server/utils/index.js +2 -1
- package/build/production/server/utils/index.js.map +1 -1
- package/build/production/shared/components/Button/index.js +4 -4
- package/build/production/shared/components/Button/index.js.map +1 -1
- package/build/production/shared/components/Checkbox/index.js +1 -1
- package/build/production/shared/components/Checkbox/index.js.map +1 -1
- package/build/production/shared/components/GenericLink/index.js +4 -4
- package/build/production/shared/components/GenericLink/index.js.map +1 -1
- package/build/production/shared/components/Input/index.js +5 -5
- package/build/production/shared/components/Input/index.js.map +1 -1
- package/build/production/shared/components/Link.js +3 -3
- package/build/production/shared/components/Link.js.map +1 -1
- package/build/production/shared/components/Modal/index.js +7 -7
- package/build/production/shared/components/Modal/index.js.map +1 -1
- package/build/production/shared/components/NavLink.js +2 -2
- package/build/production/shared/components/NavLink.js.map +1 -1
- package/build/production/shared/components/PageLayout/index.js +2 -2
- package/build/production/shared/components/PageLayout/index.js.map +1 -1
- package/build/production/shared/components/TextArea/index.js +5 -5
- package/build/production/shared/components/TextArea/index.js.map +1 -1
- package/build/production/shared/components/Throbber/index.js +2 -2
- package/build/production/shared/components/Throbber/index.js.map +1 -1
- package/build/production/shared/components/WithTooltip/Tooltip.js +4 -4
- package/build/production/shared/components/WithTooltip/Tooltip.js.map +1 -1
- package/build/production/shared/components/WithTooltip/index.js +4 -4
- package/build/production/shared/components/WithTooltip/index.js.map +1 -1
- package/build/production/shared/components/YouTubeVideo/index.js +4 -4
- package/build/production/shared/components/YouTubeVideo/index.js.map +1 -1
- package/build/production/shared/components/index.js +3 -1
- package/build/production/shared/components/index.js.map +1 -1
- package/build/production/shared/components/selectors/CustomDropdown/Options/index.js +2 -2
- package/build/production/shared/components/selectors/CustomDropdown/Options/index.js.map +1 -1
- package/build/production/shared/components/selectors/CustomDropdown/index.js +2 -2
- package/build/production/shared/components/selectors/CustomDropdown/index.js.map +1 -1
- package/build/production/shared/components/selectors/NativeDropdown/index.js +4 -4
- package/build/production/shared/components/selectors/NativeDropdown/index.js.map +1 -1
- package/build/production/shared/components/selectors/Switch/index.js +1 -1
- package/build/production/shared/components/selectors/Switch/index.js.map +1 -1
- package/build/production/shared/components/selectors/common.js +2 -2
- package/build/production/shared/components/selectors/common.js.map +1 -1
- package/build/production/shared/components/selectors/index.js +1 -1
- package/build/production/shared/components/selectors/index.js.map +1 -1
- package/build/production/shared/utils/config.js +8 -6
- package/build/production/shared/utils/config.js.map +1 -1
- package/build/production/shared/utils/globalState.js +2 -2
- package/build/production/shared/utils/globalState.js.map +1 -1
- package/build/production/shared/utils/index.js +1 -1
- package/build/production/shared/utils/index.js.map +1 -1
- package/build/production/shared/utils/isomorphy/buildInfo.js +3 -3
- package/build/production/shared/utils/isomorphy/buildInfo.js.map +1 -1
- package/build/production/shared/utils/isomorphy/environment-check.js +3 -3
- package/build/production/shared/utils/isomorphy/environment-check.js.map +1 -1
- package/build/production/shared/utils/isomorphy/index.js +4 -4
- package/build/production/shared/utils/isomorphy/index.js.map +1 -1
- package/build/production/shared/utils/jest/E2eSsrEnv.js +14 -14
- package/build/production/shared/utils/jest/E2eSsrEnv.js.map +1 -1
- package/build/production/shared/utils/jest/global.js +1 -1
- package/build/production/shared/utils/jest/global.js.map +1 -1
- package/build/production/shared/utils/jest/index.js +11 -11
- package/build/production/shared/utils/jest/index.js.map +1 -1
- package/build/production/shared/utils/splitComponent.js +11 -22
- package/build/production/shared/utils/splitComponent.js.map +1 -1
- package/build/production/shared/utils/time.js +3 -3
- package/build/production/shared/utils/time.js.map +1 -1
- package/build/production/shared/utils/webpack.js +6 -6
- package/build/production/shared/utils/webpack.js.map +1 -1
- package/build/types-code/client/getInj.d.ts +1 -2
- package/build/types-code/client/index.d.ts +1 -1
- package/build/types-code/index.d.ts +1 -7
- package/build/types-code/server/index.d.ts +6 -11
- package/build/types-code/server/utils/index.d.ts +1 -1
- package/build/types-code/shared/utils/config.d.ts +4 -2
- package/build/types-code/shared/utils/index.d.ts +2 -2
- package/build/types-code/shared/utils/splitComponent.d.ts +6 -4
- package/build/web/client/getInj.js +55 -44
- package/build/web/client/getInj.js.map +1 -1
- package/build/web/client/index.js +15 -21
- package/build/web/client/index.js.map +1 -1
- package/build/web/client/init.js +2 -4
- package/build/web/client/init.js.map +1 -1
- package/build/web/index.js +1 -15
- package/build/web/index.js.map +1 -1
- package/build/web/server/index.js +12 -21
- package/build/web/server/index.js.map +1 -1
- package/build/web/server/renderer.js +34 -40
- package/build/web/server/renderer.js.map +1 -1
- package/build/web/server/server.js +14 -11
- package/build/web/server/server.js.map +1 -1
- package/build/web/server/utils/index.js +1 -1
- package/build/web/server/utils/index.js.map +1 -1
- package/build/web/shared/components/Button/index.js +1 -1
- package/build/web/shared/components/Button/index.js.map +1 -1
- package/build/web/shared/components/Checkbox/index.js +1 -1
- package/build/web/shared/components/Checkbox/index.js.map +1 -1
- package/build/web/shared/components/Input/index.js +1 -1
- package/build/web/shared/components/Input/index.js.map +1 -1
- package/build/web/shared/components/Modal/index.js +3 -3
- package/build/web/shared/components/Modal/index.js.map +1 -1
- package/build/web/shared/components/PageLayout/index.js +1 -1
- package/build/web/shared/components/PageLayout/index.js.map +1 -1
- package/build/web/shared/components/TextArea/index.js +1 -1
- package/build/web/shared/components/TextArea/index.js.map +1 -1
- package/build/web/shared/components/Throbber/index.js +1 -1
- package/build/web/shared/components/Throbber/index.js.map +1 -1
- package/build/web/shared/components/WithTooltip/index.js +1 -1
- package/build/web/shared/components/WithTooltip/index.js.map +1 -1
- package/build/web/shared/components/YouTubeVideo/index.js +1 -1
- package/build/web/shared/components/YouTubeVideo/index.js.map +1 -1
- package/build/web/shared/components/selectors/CustomDropdown/Options/index.js +3 -0
- package/build/web/shared/components/selectors/CustomDropdown/Options/index.js.map +1 -1
- package/build/web/shared/components/selectors/CustomDropdown/index.js +3 -1
- package/build/web/shared/components/selectors/CustomDropdown/index.js.map +1 -1
- package/build/web/shared/components/selectors/NativeDropdown/index.js +4 -1
- package/build/web/shared/components/selectors/NativeDropdown/index.js.map +1 -1
- package/build/web/shared/components/selectors/Switch/index.js +2 -1
- package/build/web/shared/components/selectors/Switch/index.js.map +1 -1
- package/build/web/shared/utils/config.js +38 -14
- package/build/web/shared/utils/config.js.map +1 -1
- package/build/web/shared/utils/index.js +2 -2
- package/build/web/shared/utils/index.js.map +1 -1
- package/build/web/shared/utils/jest/E2eSsrEnv.js +3 -2
- package/build/web/shared/utils/jest/E2eSsrEnv.js.map +1 -1
- package/build/web/shared/utils/splitComponent.js +27 -20
- package/build/web/shared/utils/splitComponent.js.map +1 -1
- package/build/web/shared/utils/webpack.js +13 -7
- package/build/web/shared/utils/webpack.js.map +1 -1
- package/config/babel/node-ssr.js +12 -6
- package/config/babel/webpack.js +6 -1
- package/config/jest/default.js +8 -2
- package/config/jest/setup.js +8 -1
- package/config/webpack/app-base.js +23 -15
- package/config/webpack/app-development.js +2 -3
- package/config/webpack/lib-base.js +1 -2
- package/package.json +35 -25
- package/types.d.ts +1 -6
- package/node-entry.js +0 -15
- package/src/client/getInj.ts +0 -51
- package/src/client/index.tsx +0 -43
- package/src/client/init.ts +0 -52
- package/src/index.ts +0 -79
- package/src/server/Cache.ts +0 -61
- package/src/server/index.ts +0 -249
- package/src/server/renderer.tsx +0 -653
- package/src/server/server.ts +0 -332
- package/src/server/utils/errors.ts +0 -122
- package/src/server/utils/index.ts +0 -3
- package/src/shared/components/Button/index.tsx +0 -130
- package/src/shared/components/Button/style.scss +0 -54
- package/src/shared/components/Checkbox/index.tsx +0 -53
- package/src/shared/components/Checkbox/theme.scss +0 -63
- package/src/shared/components/GenericLink/index.tsx +0 -141
- package/src/shared/components/GenericLink/style.scss +0 -3
- package/src/shared/components/Input/index.tsx +0 -96
- package/src/shared/components/Input/theme.scss +0 -52
- package/src/shared/components/Link.tsx +0 -25
- package/src/shared/components/Modal/base-theme.scss +0 -38
- package/src/shared/components/Modal/index.tsx +0 -177
- package/src/shared/components/Modal/styles.scss +0 -3
- package/src/shared/components/NavLink.tsx +0 -18
- package/src/shared/components/PageLayout/base-theme.scss +0 -30
- package/src/shared/components/PageLayout/index.tsx +0 -51
- package/src/shared/components/TextArea/index.tsx +0 -139
- package/src/shared/components/TextArea/style.scss +0 -68
- package/src/shared/components/Throbber/index.tsx +0 -28
- package/src/shared/components/Throbber/theme.scss +0 -26
- package/src/shared/components/WithTooltip/Tooltip.tsx +0 -274
- package/src/shared/components/WithTooltip/default-theme.scss +0 -36
- package/src/shared/components/WithTooltip/index.tsx +0 -186
- package/src/shared/components/YouTubeVideo/base.scss +0 -15
- package/src/shared/components/YouTubeVideo/index.tsx +0 -73
- package/src/shared/components/YouTubeVideo/throbber.scss +0 -11
- package/src/shared/components/index.ts +0 -20
- package/src/shared/components/selectors/CustomDropdown/Options/index.tsx +0 -124
- package/src/shared/components/selectors/CustomDropdown/Options/style.scss +0 -6
- package/src/shared/components/selectors/CustomDropdown/index.tsx +0 -146
- package/src/shared/components/selectors/CustomDropdown/theme.scss +0 -118
- package/src/shared/components/selectors/NativeDropdown/index.tsx +0 -90
- package/src/shared/components/selectors/NativeDropdown/theme.scss +0 -81
- package/src/shared/components/selectors/Switch/index.tsx +0 -74
- package/src/shared/components/selectors/Switch/theme.scss +0 -39
- package/src/shared/components/selectors/common.ts +0 -57
- package/src/shared/components/selectors/index.ts +0 -8
- package/src/shared/utils/config.ts +0 -28
- package/src/shared/utils/globalState.ts +0 -44
- package/src/shared/utils/index.ts +0 -45
- package/src/shared/utils/isomorphy/buildInfo.ts +0 -50
- package/src/shared/utils/isomorphy/environment-check.ts +0 -18
- package/src/shared/utils/isomorphy/index.ts +0 -36
- package/src/shared/utils/jest/E2eSsrEnv.ts +0 -305
- package/src/shared/utils/jest/global.ts +0 -17
- package/src/shared/utils/jest/index.ts +0 -215
- package/src/shared/utils/splitComponent.tsx +0 -275
- package/src/shared/utils/time.ts +0 -101
- package/src/shared/utils/webpack.ts +0 -74
- package/src/styles/_global/reset.css +0 -52
- package/src/styles/_mixins/fonts.scss +0 -40
- package/src/styles/_mixins/media.scss +0 -150
- package/src/styles/_mixins/typography.scss +0 -83
- package/src/styles/global.scss +0 -11
- package/src/styles/mixins.scss +0 -6
package/package.json
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
{
|
|
2
|
-
"version": "1.47.0-alpha.
|
|
2
|
+
"version": "1.47.0-alpha.11",
|
|
3
3
|
"bin": {
|
|
4
4
|
"react-utils-build": "bin/build.js",
|
|
5
5
|
"react-utils-setup": "bin/setup.js"
|
|
@@ -12,31 +12,30 @@
|
|
|
12
12
|
"@dr.pogodin/babel-plugin-react-css-modules": "^6.13.8",
|
|
13
13
|
"@dr.pogodin/csurf": "^1.16.6",
|
|
14
14
|
"@dr.pogodin/js-utils": "^0.1.4",
|
|
15
|
-
"@dr.pogodin/react-global-state": "^0.
|
|
15
|
+
"@dr.pogodin/react-global-state": "^0.21.1",
|
|
16
16
|
"@dr.pogodin/react-helmet": "^3.0.4",
|
|
17
|
-
"@dr.pogodin/react-themes": "^1.9.
|
|
17
|
+
"@dr.pogodin/react-themes": "^1.9.4",
|
|
18
18
|
"@jest/environment": "^30.2.0",
|
|
19
|
-
"axios": "^1.13.
|
|
19
|
+
"axios": "^1.13.2",
|
|
20
20
|
"commander": "^14.0.2",
|
|
21
21
|
"compression": "^1.8.1",
|
|
22
22
|
"config": "^4.1.1",
|
|
23
23
|
"cookie": "^1.0.2",
|
|
24
24
|
"cookie-parser": "^1.4.7",
|
|
25
25
|
"cross-env": "^10.1.0",
|
|
26
|
-
"dayjs": "^1.11.
|
|
26
|
+
"dayjs": "^1.11.19",
|
|
27
27
|
"express": "^5.1.0",
|
|
28
28
|
"helmet": "^8.1.0",
|
|
29
29
|
"http-status-codes": "^2.3.0",
|
|
30
|
-
"lodash": "^4.17.21",
|
|
30
|
+
"lodash-es": "^4.17.21",
|
|
31
31
|
"morgan": "^1.10.1",
|
|
32
|
-
"node-forge": "^1.3.1",
|
|
33
32
|
"qs": "^6.14.0",
|
|
34
33
|
"raf": "^3.4.1",
|
|
35
34
|
"react": "^19.2.0",
|
|
36
35
|
"react-dom": "^19.2.0",
|
|
37
36
|
"react-router": "^7.9.5",
|
|
38
37
|
"request-ip": "^3.3.0",
|
|
39
|
-
"rimraf": "^6.
|
|
38
|
+
"rimraf": "^6.1.0",
|
|
40
39
|
"serialize-javascript": "^7.0.0",
|
|
41
40
|
"serve-favicon": "^2.5.1",
|
|
42
41
|
"source-map-support": "^0.5.21",
|
|
@@ -69,8 +68,8 @@
|
|
|
69
68
|
"@types/express": "^5.0.5",
|
|
70
69
|
"@types/jest": "^30.0.0",
|
|
71
70
|
"@types/lodash": "^4.17.20",
|
|
71
|
+
"@types/lodash-es": "^4.17.12",
|
|
72
72
|
"@types/morgan": "^1.9.10",
|
|
73
|
-
"@types/node-forge": "^1.3.14",
|
|
74
73
|
"@types/pretty": "^2.0.3",
|
|
75
74
|
"@types/react": "^19.2.2",
|
|
76
75
|
"@types/react-dom": "^19.2.2",
|
|
@@ -83,9 +82,9 @@
|
|
|
83
82
|
"autoprefixer": "^10.4.21",
|
|
84
83
|
"babel-jest": "^30.2.0",
|
|
85
84
|
"babel-loader": "^10.0.0",
|
|
85
|
+
"babel-plugin-add-import-extension": "^1.6.0",
|
|
86
86
|
"babel-plugin-module-resolver": "^5.0.2",
|
|
87
87
|
"babel-plugin-transform-import-meta": "^2.3.3",
|
|
88
|
-
"core-js": "^3.46.0",
|
|
89
88
|
"css-loader": "^7.1.2",
|
|
90
89
|
"css-minimizer-webpack-plugin": "^7.0.2",
|
|
91
90
|
"identity-obj-proxy": "^3.0.0",
|
|
@@ -100,11 +99,10 @@
|
|
|
100
99
|
"postcss-scss": "^4.0.9",
|
|
101
100
|
"pretty": "^2.0.0",
|
|
102
101
|
"react-refresh": "^0.18.0",
|
|
103
|
-
"regenerator-runtime": "^0.14.1",
|
|
104
102
|
"resolve-url-loader": "^5.0.0",
|
|
105
|
-
"sass": "^1.93.
|
|
103
|
+
"sass": "^1.93.3",
|
|
106
104
|
"sass-loader": "^16.0.6",
|
|
107
|
-
"sitemap": "^
|
|
105
|
+
"sitemap": "^9.0.0",
|
|
108
106
|
"source-map-loader": "^5.0.0",
|
|
109
107
|
"stylelint": "^16.25.0",
|
|
110
108
|
"stylelint-config-standard-scss": "^16.0.0",
|
|
@@ -122,30 +120,42 @@
|
|
|
122
120
|
"workbox-webpack-plugin": "^7.3.0"
|
|
123
121
|
},
|
|
124
122
|
"engines": {
|
|
125
|
-
"node": ">=
|
|
126
|
-
"npm": ">=10"
|
|
123
|
+
"node": ">=22.21",
|
|
124
|
+
"npm": ">=10.9"
|
|
127
125
|
},
|
|
128
|
-
"main": "./
|
|
129
|
-
"source": "./src/index.ts",
|
|
126
|
+
"main": "./build/production/index.js",
|
|
130
127
|
"types": "./build/types-code/index.d.ts",
|
|
131
128
|
"exports": {
|
|
132
129
|
".": {
|
|
133
|
-
"
|
|
130
|
+
"types": "./build/types-code/index.d.ts",
|
|
131
|
+
"webpack": "./build/web/index.js",
|
|
134
132
|
"node": {
|
|
135
|
-
"
|
|
136
|
-
"default": "./
|
|
133
|
+
"development": "./build/development/index.js",
|
|
134
|
+
"default": "./build/production/index.js"
|
|
137
135
|
},
|
|
138
136
|
"react-native": {
|
|
139
|
-
"default": "./
|
|
137
|
+
"default": "./build/production/index.js",
|
|
140
138
|
"types": "./build/types-code/index.d.ts"
|
|
141
139
|
}
|
|
142
140
|
},
|
|
141
|
+
"./client": {
|
|
142
|
+
"types": "./build/types-code/client/index.d.ts",
|
|
143
|
+
"default": "./build/web/client/index.js"
|
|
144
|
+
},
|
|
143
145
|
"./config/*": "./config/*.js",
|
|
144
146
|
"./config/eslint/*": "./config/eslint/*.mjs",
|
|
145
147
|
"./config/*.json": "./config/*.json",
|
|
146
|
-
"./global-styles": "./build/web/styles/global.scss",
|
|
147
|
-
"./jest":
|
|
148
|
+
"./global-styles.scss": "./build/web/styles/global.scss",
|
|
149
|
+
"./jest": {
|
|
150
|
+
"types": "./build/types-code/shared/utils/jest/index.d.ts",
|
|
151
|
+
"default": "./build/production/shared/utils/jest/index.js"
|
|
152
|
+
},
|
|
148
153
|
"./mixins": "./build/web/styles/mixins.scss",
|
|
154
|
+
"./server": {
|
|
155
|
+
"types": "./build/types-code/server/index.d.ts",
|
|
156
|
+
"development": "./build/development/server/index.js",
|
|
157
|
+
"default": "./build/production/server/index.js"
|
|
158
|
+
},
|
|
149
159
|
"./build/development/client/init": "./build/development/client/init.js",
|
|
150
160
|
"./build/production/client/init": "./build/production/client/init.js",
|
|
151
161
|
"./jest-e2e-ssr-env": "./build/production/shared/utils/jest/E2eSsrEnv.js"
|
|
@@ -176,8 +186,8 @@
|
|
|
176
186
|
"scripts": {
|
|
177
187
|
"build": "rimraf build && npm run build:configs && npm run build:types-scss && npm run build:types-code && npm run build:web && npm run build:dev && npm run build:prod",
|
|
178
188
|
"build:configs": "tsc --project tsconfig.configs.json",
|
|
179
|
-
"build:dev": "node bin/build -i build/web -t development --lib --webpack-config webpack.config.ts --no-webpack",
|
|
180
|
-
"build:prod": "node bin/build -i build/web -t production --lib --webpack-config webpack.config.ts --no-webpack",
|
|
189
|
+
"build:dev": "node bin/build -i build/web -t development --lib --babel-config babel.module.config.js --webpack-config webpack.config.ts --no-webpack",
|
|
190
|
+
"build:prod": "node bin/build -i build/web -t production --lib --babel-config babel.module.config.js --webpack-config webpack.config.ts --no-webpack",
|
|
181
191
|
"build:types-code": "rimraf build/types-code && tsc --project tsconfig.types.json && tsc-alias -p tsconfig.types.json",
|
|
182
192
|
"build:types-scss": "rimraf build/types-scss && typed-scss-modules .",
|
|
183
193
|
"build:web": "rimraf build/web && babel ./src --config-file ./babel.libweb.config.js --out-dir build/web -x .js,.jsx,.ts,.tsx --source-maps --copy-files",
|
package/types.d.ts
CHANGED
|
@@ -4,6 +4,7 @@ declare var IS_REACT_ACT_ENVIRONMENT: boolean | undefined;
|
|
|
4
4
|
declare var REACT_UTILS_WEBPACK_BUNDLE: boolean | undefined;
|
|
5
5
|
declare var REACT_UTILS_LIBRARY_LOADED: boolean | undefined;
|
|
6
6
|
declare var REACT_UTILS_FORCE_CLIENT_SIDE: boolean | undefined;
|
|
7
|
+
declare var SCENE_INIT_PROMISE: Promise<void> | undefined;
|
|
7
8
|
/* eslint-enable no-var */
|
|
8
9
|
|
|
9
10
|
declare module '@babel/register/experimental-worker' {
|
|
@@ -19,12 +20,6 @@ declare module '@babel/register/experimental-worker' {
|
|
|
19
20
|
export default register;
|
|
20
21
|
}
|
|
21
22
|
|
|
22
|
-
declare module 'node-forge/lib/forge' {
|
|
23
|
-
import F from 'node-forge';
|
|
24
|
-
|
|
25
|
-
export default F;
|
|
26
|
-
}
|
|
27
|
-
|
|
28
23
|
declare module '*.png' {
|
|
29
24
|
const path: string;
|
|
30
25
|
export default path;
|
package/node-entry.js
DELETED
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
// TODO: We should re-visit, if this can be simplified / optimized?
|
|
2
|
-
/* global global, module, process, require */
|
|
3
|
-
|
|
4
|
-
// This permits to load the library in react-native, or other environment that
|
|
5
|
-
// does not have __dirname global. It probably breaks a few node-specific lib
|
|
6
|
-
// pieces, but that does not seem to prevent more relevant parts from working.
|
|
7
|
-
if (typeof __dirname === 'undefined') {
|
|
8
|
-
global.__dirname = ''; // eslint-disable-line no-underscore-dangle
|
|
9
|
-
}
|
|
10
|
-
|
|
11
|
-
// Again, for react-native, and maybe some other environments, we need
|
|
12
|
-
// to have no dynamic requires below (i.e. can't do require(`./build/${env}`)).
|
|
13
|
-
// eslint-disable-next-line import/no-commonjs
|
|
14
|
-
module.exports = process.env.NODE_ENV === 'production'
|
|
15
|
-
? require('./build/production') : require('./build/development');
|
package/src/client/getInj.ts
DELETED
|
@@ -1,51 +0,0 @@
|
|
|
1
|
-
// Encapsulates retrieval of server-side data injection into HTML template.
|
|
2
|
-
|
|
3
|
-
/* global document */
|
|
4
|
-
|
|
5
|
-
// Note: this way, only required part of "node-forge": AES, and some utils,
|
|
6
|
-
// is bundled into client-side code.
|
|
7
|
-
import forge from 'node-forge/lib/forge';
|
|
8
|
-
|
|
9
|
-
// eslint-disable-next-line import/no-unassigned-import
|
|
10
|
-
import 'node-forge/lib/aes';
|
|
11
|
-
|
|
12
|
-
import type { InjT } from 'utils/globalState';
|
|
13
|
-
|
|
14
|
-
import { getBuildInfo } from 'utils/isomorphy/buildInfo';
|
|
15
|
-
|
|
16
|
-
// Safeguard is needed here, because the server-side version of Docusaurus docs
|
|
17
|
-
// is compiled (at least now) with settings suggesting it is a client-side
|
|
18
|
-
// environment, but there is no document.
|
|
19
|
-
let inj: InjT = {};
|
|
20
|
-
|
|
21
|
-
const metaElement: HTMLMetaElement | null = typeof document === 'undefined'
|
|
22
|
-
? null : document.querySelector('meta[itemprop="drpruinj"]');
|
|
23
|
-
|
|
24
|
-
if (metaElement) {
|
|
25
|
-
metaElement.remove();
|
|
26
|
-
let data = forge.util.decode64(metaElement.content);
|
|
27
|
-
|
|
28
|
-
const { key } = getBuildInfo();
|
|
29
|
-
const d = forge.cipher.createDecipher('AES-CBC', key);
|
|
30
|
-
d.start({ iv: data.slice(0, key.length) });
|
|
31
|
-
d.update(forge.util.createBuffer(data.slice(key.length)));
|
|
32
|
-
d.finish();
|
|
33
|
-
|
|
34
|
-
data = forge.util.decodeUtf8(d.output.data);
|
|
35
|
-
|
|
36
|
-
// TODO: Double-check, if there is a safer alternative to parse it?
|
|
37
|
-
// eslint-disable-next-line no-eval
|
|
38
|
-
inj = eval(`(${data})`) as InjT;
|
|
39
|
-
} else if (typeof window !== 'undefined' && window.REACT_UTILS_INJECTION) {
|
|
40
|
-
inj = window.REACT_UTILS_INJECTION;
|
|
41
|
-
delete window.REACT_UTILS_INJECTION;
|
|
42
|
-
} else {
|
|
43
|
-
// Otherwise, a bunch of dependent stuff will easily fail in non-standard
|
|
44
|
-
// environments, where no client-side initialization is performed. Like tests,
|
|
45
|
-
// Docusaurus examples, etc.
|
|
46
|
-
inj = {};
|
|
47
|
-
}
|
|
48
|
-
|
|
49
|
-
export default function getInj(): InjT {
|
|
50
|
-
return inj;
|
|
51
|
-
}
|
package/src/client/index.tsx
DELETED
|
@@ -1,43 +0,0 @@
|
|
|
1
|
-
// Initialization of client-side code.
|
|
2
|
-
/* global document */
|
|
3
|
-
|
|
4
|
-
import type { ComponentType } from 'react';
|
|
5
|
-
import { createRoot, hydrateRoot } from 'react-dom/client';
|
|
6
|
-
import { HelmetProvider } from '@dr.pogodin/react-helmet';
|
|
7
|
-
import { BrowserRouter } from 'react-router';
|
|
8
|
-
|
|
9
|
-
import { GlobalStateProvider } from '@dr.pogodin/react-global-state';
|
|
10
|
-
|
|
11
|
-
import getInj from './getInj';
|
|
12
|
-
|
|
13
|
-
type OptionsT = {
|
|
14
|
-
dontHydrate?: boolean;
|
|
15
|
-
initialState?: unknown;
|
|
16
|
-
};
|
|
17
|
-
|
|
18
|
-
/**
|
|
19
|
-
* Prepares and launches the app at client side.
|
|
20
|
-
* @param Application Root application component
|
|
21
|
-
* @param [options={}] Optional. Additional settings.
|
|
22
|
-
*/
|
|
23
|
-
export default function Launch(
|
|
24
|
-
Application: ComponentType,
|
|
25
|
-
options: OptionsT = {},
|
|
26
|
-
): void {
|
|
27
|
-
const container = document.getElementById('react-view');
|
|
28
|
-
if (!container) throw Error('Failed to find container for React app');
|
|
29
|
-
const scene = (
|
|
30
|
-
<GlobalStateProvider initialState={getInj().ISTATE ?? options.initialState}>
|
|
31
|
-
<BrowserRouter>
|
|
32
|
-
<HelmetProvider>
|
|
33
|
-
<Application />
|
|
34
|
-
</HelmetProvider>
|
|
35
|
-
</BrowserRouter>
|
|
36
|
-
</GlobalStateProvider>
|
|
37
|
-
);
|
|
38
|
-
|
|
39
|
-
if (options.dontHydrate) {
|
|
40
|
-
const root = createRoot(container);
|
|
41
|
-
root.render(scene);
|
|
42
|
-
} else hydrateRoot(container, scene);
|
|
43
|
-
}
|
package/src/client/init.ts
DELETED
|
@@ -1,52 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Initialization of client-side environment.
|
|
3
|
-
*/
|
|
4
|
-
|
|
5
|
-
/* global window */
|
|
6
|
-
|
|
7
|
-
import { type BuildInfoT, getBuildInfo } from 'utils/isomorphy/buildInfo';
|
|
8
|
-
|
|
9
|
-
const buildInfo = getBuildInfo();
|
|
10
|
-
|
|
11
|
-
// TODO: Should be moved into buildInfo module?
|
|
12
|
-
declare global {
|
|
13
|
-
// eslint-disable-next-line @typescript-eslint/consistent-type-definitions
|
|
14
|
-
interface Window {
|
|
15
|
-
__DEV_BUILD_INFO__: BuildInfoT | undefined;
|
|
16
|
-
}
|
|
17
|
-
}
|
|
18
|
-
|
|
19
|
-
declare const BUILD_INFO: BuildInfoT | undefined;
|
|
20
|
-
|
|
21
|
-
if (process.env.NODE_ENV !== 'production') {
|
|
22
|
-
// eslint-disable-next-line no-console
|
|
23
|
-
console.warn('Dev mode: "BUILD_INFO" attached to the global "window"');
|
|
24
|
-
|
|
25
|
-
// eslint-disable-next-line no-underscore-dangle
|
|
26
|
-
window.__DEV_BUILD_INFO__ = BUILD_INFO;
|
|
27
|
-
}
|
|
28
|
-
|
|
29
|
-
/* TODO: A proper logger should be moved to `@dr.pogodin/react-utils`. */
|
|
30
|
-
const { useServiceWorker } = buildInfo;
|
|
31
|
-
if (useServiceWorker) {
|
|
32
|
-
const { navigator } = window;
|
|
33
|
-
if ('serviceWorker' in navigator) {
|
|
34
|
-
window.addEventListener('load', () => {
|
|
35
|
-
void (async () => {
|
|
36
|
-
try {
|
|
37
|
-
// Note: no matter the "publicPath", we want to serve the service worker
|
|
38
|
-
// from the web app root, to allow it control any and all pages of the
|
|
39
|
-
// web app (otherwise, it will be restricted to the scope of its path).
|
|
40
|
-
// The server takes it into account.
|
|
41
|
-
const reg = await navigator
|
|
42
|
-
.serviceWorker.register('/__service-worker.js');
|
|
43
|
-
// eslint-disable-next-line no-console
|
|
44
|
-
console.log('SW registered:', reg);
|
|
45
|
-
} catch (err) {
|
|
46
|
-
// eslint-disable-next-line no-console
|
|
47
|
-
console.log('SW registration failed:', err);
|
|
48
|
-
}
|
|
49
|
-
})();
|
|
50
|
-
});
|
|
51
|
-
}
|
|
52
|
-
}
|
package/src/index.ts
DELETED
|
@@ -1,79 +0,0 @@
|
|
|
1
|
-
import 'styles/global.scss';
|
|
2
|
-
|
|
3
|
-
import { webpack } from 'utils';
|
|
4
|
-
|
|
5
|
-
import type * as ClientM from './client';
|
|
6
|
-
import type * as ServerFactoryM from './server';
|
|
7
|
-
|
|
8
|
-
// It is a safeguard against multiple instances / versions of the library
|
|
9
|
-
// being loaded into environment by mistake (e.g. because of different
|
|
10
|
-
// packages pinning down different exact versions of the lib, thus preventing
|
|
11
|
-
// a proper dedupe and using a single common library version).
|
|
12
|
-
if (global.REACT_UTILS_LIBRARY_LOADED) {
|
|
13
|
-
throw Error('React utils library is already loaded');
|
|
14
|
-
} else global.REACT_UTILS_LIBRARY_LOADED = true;
|
|
15
|
-
|
|
16
|
-
// TODO: This is a rapid workaround to get rid of __dirname. I guess, later
|
|
17
|
-
// we'll re-implement requireWeak() to accept import.meta.url directly, and
|
|
18
|
-
// this workaround won't be needed.
|
|
19
|
-
let dirname = import.meta.url;
|
|
20
|
-
dirname = dirname.slice(5, dirname.lastIndexOf('/'));
|
|
21
|
-
|
|
22
|
-
const server = webpack.requireWeak<typeof ServerFactoryM>('./server', dirname);
|
|
23
|
-
|
|
24
|
-
const client = server
|
|
25
|
-
? undefined
|
|
26
|
-
|
|
27
|
-
// eslint-disable-next-line @typescript-eslint/no-require-imports
|
|
28
|
-
: (require('./client') as typeof ClientM).default;
|
|
29
|
-
|
|
30
|
-
export {
|
|
31
|
-
type AsyncCollectionT,
|
|
32
|
-
type AsyncCollectionLoaderT,
|
|
33
|
-
type AsyncDataEnvelopeT,
|
|
34
|
-
type AsyncDataLoaderT,
|
|
35
|
-
type ForceT,
|
|
36
|
-
type UseAsyncDataOptionsT,
|
|
37
|
-
type UseAsyncDataResT,
|
|
38
|
-
type UseGlobalStateResT,
|
|
39
|
-
type ValueOrInitializerT,
|
|
40
|
-
getGlobalState,
|
|
41
|
-
GlobalStateProvider,
|
|
42
|
-
newAsyncDataEnvelope,
|
|
43
|
-
useAsyncCollection,
|
|
44
|
-
useAsyncData,
|
|
45
|
-
useGlobalState,
|
|
46
|
-
withGlobalStateType,
|
|
47
|
-
} from '@dr.pogodin/react-global-state';
|
|
48
|
-
|
|
49
|
-
export * from 'components';
|
|
50
|
-
|
|
51
|
-
export {
|
|
52
|
-
type BeforeRenderResT,
|
|
53
|
-
type BeforeRenderT,
|
|
54
|
-
type ConfigT,
|
|
55
|
-
type ServerSsrContext,
|
|
56
|
-
type ServerT,
|
|
57
|
-
} from './server';
|
|
58
|
-
|
|
59
|
-
export {
|
|
60
|
-
assertEmptyObject,
|
|
61
|
-
config,
|
|
62
|
-
Barrier,
|
|
63
|
-
Cached,
|
|
64
|
-
Emitter,
|
|
65
|
-
isomorphy,
|
|
66
|
-
getSsrContext,
|
|
67
|
-
type Listener,
|
|
68
|
-
type ObjectKey,
|
|
69
|
-
Semaphore,
|
|
70
|
-
splitComponent,
|
|
71
|
-
type Theme,
|
|
72
|
-
themed,
|
|
73
|
-
ThemeProvider,
|
|
74
|
-
time,
|
|
75
|
-
webpack,
|
|
76
|
-
withRetries,
|
|
77
|
-
} from 'utils';
|
|
78
|
-
|
|
79
|
-
export { client, server };
|
package/src/server/Cache.ts
DELETED
|
@@ -1,61 +0,0 @@
|
|
|
1
|
-
type CachedItemT<DatumT> = {
|
|
2
|
-
data: DatumT;
|
|
3
|
-
size: number;
|
|
4
|
-
timestamp: number;
|
|
5
|
-
};
|
|
6
|
-
|
|
7
|
-
/**
|
|
8
|
-
* Implements the static cache.
|
|
9
|
-
*/
|
|
10
|
-
export default class Cache<DatumT> {
|
|
11
|
-
private items: Record<string, CachedItemT<DatumT>> = {};
|
|
12
|
-
|
|
13
|
-
private size = 0;
|
|
14
|
-
|
|
15
|
-
constructor(private maxSize: number) { }
|
|
16
|
-
|
|
17
|
-
/**
|
|
18
|
-
* Cache lookup.
|
|
19
|
-
* @param key Item key to look for.
|
|
20
|
-
* @param [maxage=Number.MAX_VALUE] Optional. The maximum age of
|
|
21
|
-
* cached item to serve. Default to infinite.
|
|
22
|
-
* @returns Cached item, or null if the item is absent in cache,
|
|
23
|
-
* or stale.
|
|
24
|
-
*/
|
|
25
|
-
get({
|
|
26
|
-
key,
|
|
27
|
-
maxage = Number.MAX_VALUE,
|
|
28
|
-
}: {
|
|
29
|
-
key: string;
|
|
30
|
-
maxage?: number;
|
|
31
|
-
}): DatumT | null {
|
|
32
|
-
const item = this.items[key];
|
|
33
|
-
return item && Date.now() - item.timestamp < maxage ? item.data : null;
|
|
34
|
-
}
|
|
35
|
-
|
|
36
|
-
/**
|
|
37
|
-
* Adds item to cache.
|
|
38
|
-
* @param data Item to add.
|
|
39
|
-
* @param key Key to store the item at.
|
|
40
|
-
* @param size Byte size of the item.
|
|
41
|
-
*/
|
|
42
|
-
add(data: DatumT, key: string, size: number): void {
|
|
43
|
-
const cached = this.items[key];
|
|
44
|
-
if (cached) this.size -= cached.size;
|
|
45
|
-
|
|
46
|
-
this.items[key] = { data, size, timestamp: Date.now() };
|
|
47
|
-
this.size += size;
|
|
48
|
-
|
|
49
|
-
if (this.size > this.maxSize) {
|
|
50
|
-
const entries = Object.entries(this.items);
|
|
51
|
-
entries.sort((a, b) => a[1].timestamp - b[1].timestamp);
|
|
52
|
-
|
|
53
|
-
for (const entry of entries) {
|
|
54
|
-
const [itemKey, item] = entry;
|
|
55
|
-
delete this.items[itemKey];
|
|
56
|
-
this.size -= item.size;
|
|
57
|
-
if (this.size < this.maxSize / 2) break;
|
|
58
|
-
}
|
|
59
|
-
}
|
|
60
|
-
}
|
|
61
|
-
}
|