catalyst-core-internal 0.0.1-beta.43 → 0.0.1-beta.45
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/changelog.md +6 -0
- package/dist/router/ClientRouter.js +2 -2
- package/dist/router/ServerRouter.js +1 -1
- package/dist/server/renderer/document/Body.js +3 -3
- package/dist/server/renderer/document/Head.js +2 -2
- package/dist/server/renderer/handler.js +4 -4
- package/dist/webpack/babel.config.client.js +1 -1
- package/dist/webpack/babel.config.ssr.js +1 -1
- package/package.json +10 -7
- package/run.sh +3 -0
package/changelog.md
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:true});exports.default=void 0;var
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:true});exports.default=void 0;var _routerInternal=require("@tata1mg/router-internal");const{preparedRoutes}=require(`${process.env.src_path}/src/js/routes/utils.js`);/**
|
|
2
2
|
* @returns returns browsers routers (client routes)
|
|
3
|
-
*/const clientRouter=({store,routerInitialState})=>(0,
|
|
3
|
+
*/const clientRouter=({store,routerInitialState})=>(0,_routerInternal.createBrowserRouter)(preparedRoutes({store,routerInitialState}));var _default=exports.default=clientRouter;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:true});exports.default=void 0;var
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:true});exports.default=void 0;var _routerInternal=require("@tata1mg/router-internal");const{preparedRoutes}=require(`${process.env.src_path}/src/js/routes/utils.js`);const ServerRouter=reduxData=>{const{store,intialData}=reduxData;return(0,_routerInternal.useRoutes)(preparedRoutes({store,routerInitialState:intialData}));};var _default=exports.default=ServerRouter;
|
|
@@ -1,11 +1,11 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:true});exports.Body=Body;var _react=_interopRequireDefault(require("react"));
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:true});exports.Body=Body;var _react=_interopRequireDefault(require("react"));function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj};}/**
|
|
2
2
|
* Body component which will be used in page component
|
|
3
3
|
* @param {object} jsx - page jsx code
|
|
4
4
|
* @param {object} initialState - initial state object for redux store
|
|
5
5
|
* @param {object} firstFoldCss - style elements extracted for initial page load
|
|
6
6
|
* @param {object} fetcherData - contains data from executing serverFetcher function
|
|
7
7
|
* @param {object} children - contains any child elements defined within the component
|
|
8
|
-
*/function Body(
|
|
8
|
+
*/function Body({jsx="",initialState={},fetcherData={},children}){return/*#__PURE__*/_react.default.createElement("body",null,jsx,/*#__PURE__*/_react.default.createElement("script",{/* eslint-disable */dangerouslySetInnerHTML:{__html:`
|
|
9
9
|
window.__INITIAL_STATE__ = ${JSON.stringify(initialState)}
|
|
10
10
|
window.__ROUTER_INITIAL_DATA__ = ${JSON.stringify(fetcherData)}
|
|
11
|
-
`}}),children);}
|
|
11
|
+
`}}),children);}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:true});exports.Head=Head;var _react=_interopRequireDefault(require("react"));
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:true});exports.Head=Head;var _react=_interopRequireDefault(require("react"));function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj};}/**
|
|
2
2
|
* Head component which will be used in page rendering
|
|
3
3
|
* @param {boolean} isBot - checks if request is made by bot
|
|
4
4
|
* @param {string} pageCss - includes all styles for page css
|
|
@@ -6,4 +6,4 @@
|
|
|
6
6
|
* @param {array} metaTags - user defined function which returns meta tags in array
|
|
7
7
|
* @param {string} publicAssetPath - public asset path for assets
|
|
8
8
|
* @param {object} children - contains any child elements defined within the component
|
|
9
|
-
*/function Head(
|
|
9
|
+
*/function Head({pageCss,preloadJSLinks,metaTags,isBot,publicAssetPath,children}){if(children){return/*#__PURE__*/_react.default.createElement("head",null,children,metaTags&&metaTags,!isBot&&pageCss&&/*#__PURE__*/_react.default.createElement("style",{dangerouslySetInnerHTML:{__html:pageCss}}),!isBot&&preloadJSLinks);}return/*#__PURE__*/_react.default.createElement("head",null,/*#__PURE__*/_react.default.createElement("meta",{charSet:"utf-8"}),/*#__PURE__*/_react.default.createElement("meta",{name:"viewport",content:"width=device-width, initial-scale=1"}),publicAssetPath&&/*#__PURE__*/_react.default.createElement("link",{rel:"preconnect",href:publicAssetPath}),publicAssetPath&&/*#__PURE__*/_react.default.createElement("link",{rel:"dns-prefetch",href:publicAssetPath}),metaTags&&metaTags,!isBot&&pageCss&&/*#__PURE__*/_react.default.createElement("style",{dangerouslySetInnerHTML:{__html:pageCss}}),!isBot&&preloadJSLinks);}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:true});exports.default=_default;var _fs=_interopRequireDefault(require("fs"));var _path=_interopRequireDefault(require("path"));var _react=_interopRequireDefault(require("react"));var _extract=_interopRequireWildcard(require("./extract"));var _reactRedux=require("react-redux");var _document=require("./document");var _server=require("react-router-dom/server");var _ServerRouter=_interopRequireDefault(require("@catalyst/router/ServerRouter.js"));var _index=_interopRequireDefault(require("@catalyst/template/src/js/containers/App/index.js"));var _server2=require("@loadable/server");var _server3=require("react-dom/server");var _userAgentUtil=require("@catalyst/server/utils/userAgentUtil");var
|
|
2
|
-
const getMatchRoutes=(routes,req,res,store,context,fetcherData,basePath="",webExtractor)=>{return routes.reduce((matches,route)=>{const{path}=route;const match=(0,
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:true});exports.default=_default;var _fs=_interopRequireDefault(require("fs"));var _path=_interopRequireDefault(require("path"));var _react=_interopRequireDefault(require("react"));var _extract=_interopRequireWildcard(require("./extract"));var _reactRedux=require("react-redux");var _document=require("./document");var _server=require("react-router-dom/server");var _ServerRouter=_interopRequireDefault(require("@catalyst/router/ServerRouter.js"));var _index=_interopRequireDefault(require("@catalyst/template/src/js/containers/App/index.js"));var _server2=require("@loadable/server");var _server3=require("react-dom/server");var _userAgentUtil=require("@catalyst/server/utils/userAgentUtil");var _routerInternal=require("@tata1mg/router-internal");var _validator=require("@catalyst/server/utils/validator");var _document2=_interopRequireDefault(require("@catalyst/template/server/document.js"));var _utils=require("@catalyst/template/src/js/routes/utils.js");function _getRequireWildcardCache(e){if("function"!=typeof WeakMap)return null;var r=new WeakMap(),t=new WeakMap();return(_getRequireWildcardCache=function(e){return e?t:r;})(e);}function _interopRequireWildcard(e,r){if(!r&&e&&e.__esModule)return e;if(null===e||"object"!=typeof e&&"function"!=typeof e)return{default:e};var t=_getRequireWildcardCache(r);if(t&&t.has(e))return t.get(e);var n={__proto__:null},a=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var u in e)if("default"!==u&&Object.prototype.hasOwnProperty.call(e,u)){var i=a?Object.getOwnPropertyDescriptor(e,u):null;i&&(i.get||i.set)?Object.defineProperty(n,u,i):n[u]=e[u];}return n.default=e,t&&t.set(e,n),n;}function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj};}const storePath=_path.default.resolve(`${process.env.src_path}/src/js/store/index.js`);let createStore;if(_fs.default.existsSync(storePath)){try{const{default:configureStore}=require(`${process.env.src_path}/src/js/store/index.js`);createStore=configureStore;}catch(error){createStore=()=>{return{getState:()=>{}};};}}else{createStore=()=>{return{getState:()=>{}};};}const isProduction=process.env.NODE_ENV==="production";// matches request route with routes defined in the application.
|
|
2
|
+
const getMatchRoutes=(routes,req,res,store,context,fetcherData,basePath="",webExtractor)=>{return routes.reduce((matches,route)=>{const{path}=route;const match=(0,_routerInternal.matchPath)({path:`${basePath}/${path}`,caseSensitive:false,end:true},req.baseUrl||"/");if(match){if(!res.locals.pageCss&&!res.locals.preloadJSLinks&&!res.locals.routePath){res.locals.routePath=path;(0,_extract.default)(res,route);}if(!res.locals.pageCss&&!res.locals.preloadJSLinks){//moving routing logic outside of the App and using ServerRoutes for creating routes on server instead
|
|
3
3
|
(0,_server3.renderToString)(/*#__PURE__*/_react.default.createElement(_server2.ChunkExtractorManager,{extractor:webExtractor},/*#__PURE__*/_react.default.createElement(_reactRedux.Provider,{store:store},/*#__PURE__*/_react.default.createElement(_server.StaticRouter,{context:context,location:req.originalUrl},/*#__PURE__*/_react.default.createElement(_ServerRouter.default,{store:store,intialData:fetcherData})))));}const wc=route.component;matches.push({route,match,serverSideFunction:wc&&wc.serverSideFunction||(()=>Promise.resolve())});}if(!match&&route.children){// recursively try to match nested routes
|
|
4
4
|
const nested=getMatchRoutes(route.children,req,res,store,context,fetcherData,`${basePath}/${path}`,webExtractor);if(nested.length){matches=matches.concat(nested);}}return matches;},[]);};// Preloads chunks required for rendering document
|
|
5
5
|
const getComponent=(store,context,req,fetcherData)=>{return/*#__PURE__*/_react.default.createElement("div",{id:"app"},/*#__PURE__*/_react.default.createElement(_reactRedux.Provider,{store:store},/*#__PURE__*/_react.default.createElement(_server.StaticRouter,{context:context,location:req.originalUrl},/*#__PURE__*/_react.default.createElement(_ServerRouter.default,{store:store,intialData:fetcherData}))));};// sends document after rendering
|
|
@@ -11,6 +11,6 @@ if(IS_DEV_COMMAND==="true"){publicAssetPath=`http://${WEBPACK_DEV_SERVER_HOSTNAM
|
|
|
11
11
|
*/async function _default(req,res){try{let context={};let fetcherData={};let webStats=_path.default.join(__dirname,"../../..",`loadable-stats.json`);if(isProduction){webStats=_path.default.join(process.env.src_path,`${process.env.BUILD_OUTPUT_PATH}/public/loadable-stats.json`);}const webExtractor=new _server2.ChunkExtractor({statsFile:webStats,entrypoints:["app"]});// creates store
|
|
12
12
|
const store=(0,_validator.validateConfigureStore)(createStore)?createStore({},req,res):null;// user defined routes
|
|
13
13
|
const routes=(0,_validator.validateGetRoutes)(_utils.getRoutes)?(0,_utils.getRoutes)():[];// Matches req url with routes
|
|
14
|
-
const matches=getMatchRoutes(routes,req,res,store,context,fetcherData,undefined,webExtractor);const allMatches=(0,
|
|
14
|
+
const matches=getMatchRoutes(routes,req,res,store,context,fetcherData,undefined,webExtractor);const allMatches=(0,_routerInternal.matchRoutes)((0,_utils.getRoutes)(),req.baseUrl);let allTags=[];// Executing app server side function
|
|
15
15
|
_index.default.serverSideFunction({store,req,res})// Executing serverFetcher functions with serverDataFetcher provided by router and returning document
|
|
16
|
-
.then(()=>{(0,
|
|
16
|
+
.then(()=>{(0,_routerInternal.serverDataFetcher)({routes:routes,req,res,url:req.originalUrl},{store}).then(res=>{fetcherData=res;allTags=(0,_routerInternal.getMetaData)(allMatches,fetcherData);}).then(async()=>await renderMarkUp(null,req,res,allTags,fetcherData,store,matches,context,webExtractor)).catch(async error=>{logger.error("Error in executing serverFetcher functions: "+error);await renderMarkUp(404,req,res,allTags,fetcherData,store,matches,context,webExtractor);});}).catch(error=>{logger.error("Error in executing serverSideFunction inside App: "+error);renderMarkUp(error.status_code,req,res,allTags,fetcherData,store,matches,context,webExtractor);});}catch(error){logger.error("Error in handling document request: "+error.toString());}}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:true});exports.default=void 0;var _default=exports.default={babelrc:false,presets:[["@babel/preset-env",{targets:{browsers:"last 2 versions"}}],"@babel/preset-react"],plugins:["@loadable/babel-plugin"],env:{production:{plugins:[require("./babel-plugins/remove-ssr.plugin").default
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:true});exports.default=void 0;var _default=exports.default={babelrc:false,presets:[["@babel/preset-env",{targets:{browsers:"last 2 versions"}}],"@babel/preset-react"],plugins:["@loadable/babel-plugin"],env:{production:{plugins:[require("./babel-plugins/remove-ssr.plugin").default]},test:{presets:["@babel/preset-react"]}},ignore:["__TEST__"]};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:true});exports.default=void 0;var _default=exports.default={babelrc:false,presets:[["@babel/preset-env",{targets:{node:"current"}}],"@babel/preset-react"],plugins:["@loadable/babel-plugin"],env:{development:{plugins:["react-refresh/babel"]},production:{plugins:[require("./babel-plugins/remove-client.plugin").default
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:true});exports.default=void 0;var _default=exports.default={babelrc:false,presets:[["@babel/preset-env",{targets:{node:"current"}}],"@babel/preset-react"],plugins:["@loadable/babel-plugin"],env:{development:{plugins:["react-refresh/babel"]},production:{plugins:[require("./babel-plugins/remove-client.plugin").default]}},ignore:["__TEST__"]};
|
package/package.json
CHANGED
|
@@ -1,11 +1,15 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "catalyst-core-internal",
|
|
3
|
-
"version": "0.0.1-beta.
|
|
3
|
+
"version": "0.0.1-beta.45",
|
|
4
4
|
"main": "index.js",
|
|
5
5
|
"description": "Web framework that provides great performance out of the box",
|
|
6
6
|
"bin": {
|
|
7
7
|
"catalyst": "bin/catalyst.js"
|
|
8
8
|
},
|
|
9
|
+
"repository": {
|
|
10
|
+
"type": "git",
|
|
11
|
+
"url": "https://github.com/tata1mg/catalyst-core.git"
|
|
12
|
+
},
|
|
9
13
|
"_moduleAliases": {
|
|
10
14
|
"@catalyst/template": ".",
|
|
11
15
|
"@catalyst/template/src": "src",
|
|
@@ -31,7 +35,7 @@
|
|
|
31
35
|
"lint-staged": "lint-staged",
|
|
32
36
|
"prettify": "prettier . --write",
|
|
33
37
|
"prepare": "babel src --out-dir ./dist",
|
|
34
|
-
"prepublishOnly": "npm i && npm run prepare"
|
|
38
|
+
"prepublishOnly": "npm i --legacy-peer-deps && npm run prepare"
|
|
35
39
|
},
|
|
36
40
|
"license": "MIT",
|
|
37
41
|
"dependencies": {
|
|
@@ -48,10 +52,9 @@
|
|
|
48
52
|
"@loadable/webpack-plugin": "^5.15.2",
|
|
49
53
|
"@pmmmwh/react-refresh-webpack-plugin": "^0.5.11",
|
|
50
54
|
"@svgr/webpack": "^8.1.0",
|
|
51
|
-
"@tata1mg/router": "0.0.1-beta.
|
|
55
|
+
"@tata1mg/router-internal": "0.0.1-beta.6",
|
|
52
56
|
"app-root-path": "^3.1.0",
|
|
53
57
|
"babel-loader": "^9.1.3",
|
|
54
|
-
"babel-plugin-transform-react-remove-prop-types": "^0.4.24",
|
|
55
58
|
"body-parser": "^1.20.2",
|
|
56
59
|
"chokidar": "^3.6.0",
|
|
57
60
|
"compression": "^1.7.4",
|
|
@@ -68,8 +71,8 @@
|
|
|
68
71
|
"picocolors": "^1.0.0",
|
|
69
72
|
"postcss-loader": "^7.3.3",
|
|
70
73
|
"postcss-scss": "^4.0.9",
|
|
71
|
-
"react": "
|
|
72
|
-
"react-dom": "
|
|
74
|
+
"react": "19.0.0",
|
|
75
|
+
"react-dom": "19.0.0",
|
|
73
76
|
"react-redux": "^8.1.3",
|
|
74
77
|
"react-refresh": "^0.14.0",
|
|
75
78
|
"react-router-dom": "^6.16.0",
|
|
@@ -109,4 +112,4 @@
|
|
|
109
112
|
"prettier . --write"
|
|
110
113
|
]
|
|
111
114
|
}
|
|
112
|
-
}
|
|
115
|
+
}
|
package/run.sh
ADDED