catalyst-core 0.0.1-beta.3 → 0.0.1-beta.4

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.
Files changed (77) hide show
  1. package/.eslintignore +9 -0
  2. package/.eslintrc +92 -0
  3. package/README.md +44 -42
  4. package/babel.config.json +1 -5
  5. package/bin/catalyst.js +35 -34
  6. package/changelog.md +26 -0
  7. package/config.json +1 -1
  8. package/logger.js +3 -0
  9. package/package.json +87 -83
  10. package/scripts/build.js +17 -8
  11. package/scripts/devBuild.js +42 -0
  12. package/scripts/devServe.js +43 -0
  13. package/scripts/loadScriptsBeforeServerStarts.js +1 -1
  14. package/scripts/serve.js +17 -8
  15. package/scripts/start.js +17 -8
  16. package/scripts/validator.js +0 -1
  17. package/server/renderer/document/Head.js +2 -2
  18. package/server/renderer/handler.js +33 -45
  19. package/server/renderer/render.js +14 -3
  20. package/server/startServer.js +2 -1
  21. package/server/utils/metaTags.js +13 -0
  22. package/server/utils/userAgentUtil.js +3 -7
  23. package/server/utils/validator.js +0 -1
  24. package/webpack/babel.config.client.js +1 -1
  25. package/webpack/babel.config.ssr.js +1 -1
  26. package/webpack/base.babel.js +9 -1
  27. package/webpack/scssParams.js +18 -2
  28. package/packages/create-framework-app/templates/redux-js/node_modules/@babel/core/lib/config/caching.js +0 -261
  29. package/packages/create-framework-app/templates/redux-js/node_modules/@remix-run/router/dist/router.js +0 -4327
  30. package/packages/create-framework-app/templates/redux-js/node_modules/catalyst/router.js +0 -15
  31. package/packages/create-framework-app/templates/redux-js/node_modules/catalyst/src/router.js +0 -1
  32. package/packages/create-framework-app/templates/redux-js/node_modules/http-proxy-middleware/dist/router.js +0 -46
  33. package/types/caching.d.ts +0 -1
  34. package/types/config/config.d.ts +0 -19
  35. package/types/index.d.ts +0 -1
  36. package/types/logger/index.d.ts +0 -14
  37. package/types/reducer/index.d.ts +0 -22
  38. package/types/reducer/loadableConfigReducer.d.ts +0 -9
  39. package/types/router/ClientRouter.d.ts +0 -5
  40. package/types/router/ServerRouter.d.ts +0 -7
  41. package/types/router/index.d.ts +0 -8
  42. package/types/router.d.ts +0 -1
  43. package/types/scripts/build.d.ts +0 -1
  44. package/types/scripts/loadEnvironmentVariables.d.ts +0 -5
  45. package/types/scripts/loadScriptsBeforeServerStarts.d.ts +0 -1
  46. package/types/scripts/prepare.d.ts +0 -1
  47. package/types/scripts/registerAliases.d.ts +0 -1
  48. package/types/scripts/serve.d.ts +0 -1
  49. package/types/scripts/start.d.ts +0 -1
  50. package/types/scripts/validator.d.ts +0 -9
  51. package/types/scripts/verifyConfig.d.ts +0 -1
  52. package/types/server/mainIndex.d.ts +0 -1
  53. package/types/server/mainServer.d.ts +0 -2
  54. package/types/server/renderer/document/Body.d.ts +0 -11
  55. package/types/server/renderer/document/Head.d.ts +0 -11
  56. package/types/server/renderer/document/index.d.ts +0 -2
  57. package/types/server/renderer/extract.d.ts +0 -18
  58. package/types/server/renderer/handler.d.ts +0 -6
  59. package/types/server/renderer/index.d.ts +0 -2
  60. package/types/server/renderer/render.d.ts +0 -38
  61. package/types/server/renderer/userAgentUtil.d.ts +0 -1
  62. package/types/store/index.d.ts +0 -11
  63. package/types/store/index.dev.d.ts +0 -8
  64. package/types/store/index.prod.d.ts +0 -8
  65. package/types/webpack/babel-plugins/remove-client.plugin.d.ts +0 -10
  66. package/types/webpack/babel-plugins/remove-ssr.plugin.d.ts +0 -10
  67. package/types/webpack/babel.config.client.d.ts +0 -21
  68. package/types/webpack/babel.config.d.ts +0 -16
  69. package/types/webpack/babel.config.ssr.d.ts +0 -21
  70. package/types/webpack/base.babel.d.ts +0 -184
  71. package/types/webpack/development.client.babel.d.ts +0 -1
  72. package/types/webpack/plugins/mime-types.d.ts +0 -78
  73. package/types/webpack/plugins/route-manifest-plugin.d.ts +0 -1
  74. package/types/webpack/plugins/upload-assets-plugin.d.ts +0 -1
  75. package/types/webpack/production.client.babel.d.ts +0 -174
  76. package/types/webpack/production.ssr.babel.d.ts +0 -2
  77. package/types/webpack/scssParams.d.ts +0 -2
@@ -1,15 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- var _router = require("@tata1mg/router");
7
- Object.keys(_router).forEach(function (key) {
8
- if (key === "default" || key === "__esModule") return;
9
- Object.defineProperty(exports, key, {
10
- enumerable: true,
11
- get: function () {
12
- return _router[key];
13
- }
14
- });
15
- });
@@ -1 +0,0 @@
1
- export * from '@tata1mg/router'
@@ -1,46 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.getTarget = void 0;
4
- const isPlainObj = require("is-plain-obj");
5
- const logger_1 = require("./logger");
6
- const logger = (0, logger_1.getInstance)();
7
- async function getTarget(req, config) {
8
- let newTarget;
9
- const router = config.router;
10
- if (isPlainObj(router)) {
11
- newTarget = getTargetFromProxyTable(req, router);
12
- }
13
- else if (typeof router === 'function') {
14
- newTarget = await router(req);
15
- }
16
- return newTarget;
17
- }
18
- exports.getTarget = getTarget;
19
- function getTargetFromProxyTable(req, table) {
20
- let result;
21
- const host = req.headers.host;
22
- const path = req.url;
23
- const hostAndPath = host + path;
24
- for (const [key] of Object.entries(table)) {
25
- if (containsPath(key)) {
26
- if (hostAndPath.indexOf(key) > -1) {
27
- // match 'localhost:3000/api'
28
- result = table[key];
29
- logger.debug('[HPM] Router table match: "%s"', key);
30
- break;
31
- }
32
- }
33
- else {
34
- if (key === host) {
35
- // match 'localhost:3000'
36
- result = table[key];
37
- logger.debug('[HPM] Router table match: "%s"', host);
38
- break;
39
- }
40
- }
41
- }
42
- return result;
43
- }
44
- function containsPath(v) {
45
- return v.indexOf('/') > -1;
46
- }
@@ -1 +0,0 @@
1
- export {};
@@ -1,19 +0,0 @@
1
- declare namespace _default {
2
- let S3_BUCKET: string;
3
- let S3_FOLDER: string;
4
- let CDN_ASSET_PATH: string;
5
- let APPLICATION_PORT: string;
6
- let APPLICATION_BASE_URL: string;
7
- let SERVER_PATH: string;
8
- let OUTPUT_PATH: string;
9
- let PUBLIC_OUTPUT_PATH: string;
10
- let PUBLIC_ASSET_PATH: string;
11
- let LOCAL_ASSET_PATH: string;
12
- let EXTERNAL_BASE_URL: string;
13
- let DEV_SERVER_PORT: number;
14
- let DEV_SERVER_HOSTNAME: string;
15
- let DEV_SERVER_HOST_URL: string;
16
- let ENV_NAME: string;
17
- let BUILD_ENV: string;
18
- }
19
- export default _default;
package/types/index.d.ts DELETED
@@ -1 +0,0 @@
1
- export * from "./server/renderer/document/index";
@@ -1,14 +0,0 @@
1
- /**
2
- * @description Logger library with rotational strategy. Creates a logs folder in root.
3
- * With debug, error and info log directories with their respective log files.
4
- *
5
- * @format Logstash with timestamp
6
- * @param config { @enableDebugLogs: Bool // default: true }
7
- * @returns loggerInstance
8
- *
9
- */
10
- export function configureLogger(config?: any): {
11
- debug: () => void;
12
- error: (msg: any) => void;
13
- info: (msg: any) => void;
14
- };
@@ -1,22 +0,0 @@
1
- export default createReducerManager;
2
- /**
3
- * @description A 'Reducer Manager' object, which keeps track of all the registered reducers and exposes a reduce() function. For detailed info :- https://redux.js.org/usage/code-splitting#using-a-reducer-manager
4
- */
5
- declare function createReducerManager(): {
6
- getReducerMap: () => import("redux").Reducer<import("redux").CombinedState<{
7
- shellReducer: unknown;
8
- loadableConfigReducer: never;
9
- }>, import("redux").Action<any>>;
10
- reduce: (state: any, action: any) => import("redux").CombinedState<{
11
- shellReducer: unknown;
12
- loadableConfigReducer: never;
13
- }>;
14
- add: (reducer: any) => import("redux").Reducer<import("redux").CombinedState<{
15
- shellReducer: unknown;
16
- loadableConfigReducer: never;
17
- }>, import("redux").Action<any>> | undefined;
18
- remove: (key: any) => import("redux").Reducer<import("redux").CombinedState<{
19
- shellReducer: unknown;
20
- loadableConfigReducer: never;
21
- }>, import("redux").Action<any>> | undefined;
22
- };
@@ -1,9 +0,0 @@
1
- export default loadableConfigReducer;
2
- /** loads loadable config reducer
3
- * @param {object} defaultState - default state in reducer
4
- * @return {object} reducer default state
5
- */
6
- declare function loadableConfigReducer(state?: {
7
- SERVER_SIDE_RENDER: boolean;
8
- CLIENT_ONLY_RENDER: boolean;
9
- }): object;
@@ -1,5 +0,0 @@
1
- export default clientRouter;
2
- /**
3
- * @returns returns browsers routers (client routes)
4
- */
5
- declare function clientRouter(): import("@remix-run/router").Router;
@@ -1,7 +0,0 @@
1
- export default ServerRouter;
2
- /**
3
- * @description return
4
- * @param {object} reduxData - redux data
5
- * @returns returns server routes
6
- */
7
- declare function ServerRouter(reduxData: object): import("react").ReactElement<any, string | import("react").JSXElementConstructor<any>> | null;
@@ -1,8 +0,0 @@
1
- export function preparedRoutes(): any;
2
- export default getRoutes;
3
- /**
4
- * @description prepares routes from routes defined inside template.
5
- * Adds path and element key inside each route.
6
- * @returns returns routes list after modifiing template routes
7
- */
8
- declare const getRoutes: any;
package/types/router.d.ts DELETED
@@ -1 +0,0 @@
1
- export * from "@tata1mg/router";
@@ -1 +0,0 @@
1
- export {};
@@ -1,5 +0,0 @@
1
- export default loadEnvironmentVariables;
2
- /**
3
- * @description stores all config.json key value into process.env before server starts.
4
- */
5
- declare function loadEnvironmentVariables(): void;
@@ -1 +0,0 @@
1
- export {};
@@ -1 +0,0 @@
1
- export {};
@@ -1 +0,0 @@
1
- export {};
@@ -1 +0,0 @@
1
- export {};
@@ -1 +0,0 @@
1
- export {};
@@ -1,9 +0,0 @@
1
- export function validatePreInitServer(fn: any): true | undefined;
2
- export function validateMiddleware(fn: any): true | undefined;
3
- export function validateReducerFunction(fn: any): true | undefined;
4
- export function validateConfigFile(obj: any): true | undefined;
5
- export function validatePackageJson(obj: any): true | undefined;
6
- export function validateModuleAlias(obj: any): true | undefined;
7
- export function validateConfigureStore(fn: any): true | undefined;
8
- export function validateGetRoutes(fn: any): true | undefined;
9
- export function validateCustomDocument(fn: any): true | undefined;
@@ -1 +0,0 @@
1
- export {};
@@ -1 +0,0 @@
1
- export {};
@@ -1,2 +0,0 @@
1
- export default app;
2
- declare const app: import("express-serve-static-core").Express;
@@ -1,11 +0,0 @@
1
- /**
2
- * Body component which will be used in page component
3
- * @param {object} initialState - redux store state
4
- * @param {object} statusCode - api config present in cache list
5
- * @param {object} firstFoldCss - user defined components for meta tags input
6
- * @param {object} firstFoldJS - user defined components for meta tags input
7
- * @param {object} jsx - user defined components for meta tags input
8
- * @param {object} fetcherData - router fetched data
9
- */
10
- export function Body(props: any): React.JSX.Element;
11
- import React from "react";
@@ -1,11 +0,0 @@
1
- /**
2
- * Head component which will be used in page rendering
3
- * @param {string} pageCss - includes all styles for page css
4
- * @param {object} pageJS - async scripts for loading chunks
5
- * @param {function} metaTagFunction - user defined function which returns meta tags in array
6
- * @param {boolean} isBot - checks if request is made by bot
7
- * @param {string} publicAssetPath - public asset path for assets
8
- * @param {object} fetcherData - router fetched data
9
- */
10
- export function Head(props: any): React.JSX.Element;
11
- import React from "react";
@@ -1,2 +0,0 @@
1
- export * from "./Head";
2
- export * from "./Body";
@@ -1,18 +0,0 @@
1
- /**
2
- * Stores css chunks styles into cache in string format
3
- * @param {string} key - router path
4
- * @param {object} data - css elements array extracted through loadable chunk extracter
5
- */
6
- export function cacheCSS(key: string, data: object): void;
7
- /**
8
- * Stores javascript into cache
9
- * @param {string} key - router path
10
- * @param {object} data - js elements array extracted through loadable chunk extracter
11
- */
12
- export function cacheJS(key: string, data: object): void;
13
- /**
14
- * stores css and js in cache
15
- * @param {object} res - response object
16
- * @param {string} route - route path
17
- */
18
- export default function _default(res: object, route: string): void;
@@ -1,6 +0,0 @@
1
- /**
2
- * middleware for document handling
3
- * @param {object} req - router path
4
- * @param {object} res - css elements array extracted through loadable chunk extracter
5
- */
6
- export default function _default(req: object, res: object): Promise<void>;
@@ -1,2 +0,0 @@
1
- export default router;
2
- declare const router: import("express-serve-static-core").Router;
@@ -1,38 +0,0 @@
1
- declare namespace _default {
2
- export { renderStart };
3
- export { renderEnd };
4
- }
5
- export default _default;
6
- /**
7
- * returns data which will be used in head component for page rendering
8
- * @param {string} pageCss - includes all styles for page css
9
- * @param {string} pageJS - async scripts for loading chunks
10
- * @param {function} metaTagFunction - user defined function which returns meta tags in array
11
- * @param {boolean} isBot - checks if request is made by bot
12
- * @param {object} fetcherData - router fetched data
13
- */
14
- declare function renderStart(pageCss: string, pageJS: string, metaTagFunction: Function, isBot: boolean, fetcherData: object): {
15
- pageCss: string;
16
- pageJS: string;
17
- metaTagFunction: Function;
18
- isBot: boolean;
19
- publicAssetPath: string;
20
- fetcherData: object;
21
- };
22
- /**
23
- * returns data which will be used in body component for page rendering
24
- * @param {object} webExtractor - loadable object which holds chunking function
25
- * @param {string} initialState - reducer initial state
26
- * @param {function} res - response object
27
- * @param {boolean} jsx - jsx which needs to be render on server side
28
- * @param {string|number|null} errorCode - error code
29
- * @param {object} fetcherData - router fetched data
30
- */
31
- declare function renderEnd(webExtractor: object, initialState: string | undefined, res: Function, jsx: boolean, errorCode: string | number | null, fetcherData: object): {
32
- initialState: string;
33
- firstFoldCss: string;
34
- firstFoldJS: string;
35
- jsx: boolean;
36
- errorCode: string | number | null;
37
- fetcherData: object;
38
- };
@@ -1 +0,0 @@
1
- export function getUserAgentDetails(ua: string): object;
@@ -1,11 +0,0 @@
1
- export default configureStore;
2
- /**
3
- * Function that initializes the store with the initialstate and adds middlewares that can be used during action dispatch
4
- * It returns different store based on NODE_ENV for eg: production store and development store.
5
- * @param {object} initialState Default state
6
- * @param {object} cookies additional headers if needed
7
- * @param {object} requestObj additional information
8
- * @param {object} customHeaders custom headers which needs to be used in axios instance
9
- * @return {object} redux configured store
10
- */
11
- declare function configureStore(initialState: object, cookies: object, requestObj: object, customHeaders: object): object;
@@ -1,8 +0,0 @@
1
- /**
2
- * Function that initializes the store with the initialstate and adds middlewares that can be used during action dispatch
3
- * @param {object} initialState Default state
4
- * @param {object} cookies additional headers if needed
5
- * @param {object} requestObj additional information
6
- * @return {object} the store itself
7
- */
8
- export default function configureStore(initialState: object, cookies: object, requestObj: object, customHeaders: any): object;
@@ -1,8 +0,0 @@
1
- /**
2
- * Function that initializes the store with the initialstate and adds middlewares that can be used during action dispatch
3
- * @param {object} initialState Default state
4
- * @param {object} cookies additional headers if needed
5
- * @param {object} requestObj additional information
6
- * @return {object} the store itself
7
- */
8
- export default function configureStore(initialState: object, cookies: object, requestObj: object, customHeaders: any): object;
@@ -1,10 +0,0 @@
1
- /**
2
- * @description babel plugin used to remove unwanted code from the build.
3
- * @return babel plugin object
4
- */
5
- export default function _default(): {
6
- name: string;
7
- visitor: {
8
- ImportDefaultSpecifier(path: any): void;
9
- };
10
- };
@@ -1,10 +0,0 @@
1
- /**
2
- * @description babel plugin used to remove unwanted code from the build.
3
- * @return babel plugin object
4
- */
5
- export default function _default(): {
6
- name: string;
7
- visitor: {
8
- ImportDefaultSpecifier(path: any): void;
9
- };
10
- };
@@ -1,21 +0,0 @@
1
- declare namespace _default {
2
- let babelrc: boolean;
3
- let presets: (string | (string | {
4
- targets: {
5
- browsers: string;
6
- };
7
- })[])[];
8
- let plugins: string[];
9
- namespace env {
10
- namespace production {
11
- let plugins_1: (string | typeof import("./babel-plugins/remove-ssr.plugin").default)[];
12
- export { plugins_1 as plugins };
13
- }
14
- namespace test {
15
- let presets_1: string[];
16
- export { presets_1 as presets };
17
- }
18
- }
19
- let ignore: string[];
20
- }
21
- export default _default;
@@ -1,16 +0,0 @@
1
- declare namespace _default {
2
- let presets: (string | (string | {
3
- targets: {
4
- node: string;
5
- };
6
- })[])[];
7
- let plugins: string[];
8
- namespace env {
9
- namespace test {
10
- let presets_1: string[];
11
- export { presets_1 as presets };
12
- }
13
- }
14
- let ignore: string[];
15
- }
16
- export default _default;
@@ -1,21 +0,0 @@
1
- declare namespace _default {
2
- let babelrc: boolean;
3
- let presets: (string | (string | {
4
- targets: {
5
- node: string;
6
- };
7
- })[])[];
8
- let plugins: string[];
9
- namespace env {
10
- namespace development {
11
- let plugins_1: string[];
12
- export { plugins_1 as plugins };
13
- }
14
- namespace production {
15
- let plugins_2: (string | typeof import("./babel-plugins/remove-client.plugin").default)[];
16
- export { plugins_2 as plugins };
17
- }
18
- }
19
- let ignore: string[];
20
- }
21
- export default _default;
@@ -1,184 +0,0 @@
1
- export const analyzeBundle: boolean;
2
- export namespace basePlugins {
3
- let loadableComponents: any;
4
- let definePlugin: webpack.DefinePlugin;
5
- let bundleAnalyzerPlugin: any;
6
- let dotEnvPlugin: any;
7
- let ignorePlugin: webpack.IgnorePlugin;
8
- }
9
- declare namespace _default {
10
- let context: string;
11
- let mode: string;
12
- namespace entry {
13
- let app: string[];
14
- }
15
- namespace optimization {
16
- let runtimeChunk: string;
17
- let moduleIds: string;
18
- namespace splitChunks {
19
- namespace cacheGroups {
20
- namespace commonVendor {
21
- let test: RegExp;
22
- let name: string;
23
- }
24
- namespace utilityVendor {
25
- export let maxInitialRequests: number;
26
- export let chunks: string;
27
- export let reuseExistingChunk: boolean;
28
- export let minRemainingSize: number;
29
- let test_1: RegExp;
30
- export { test_1 as test };
31
- export function name(module: any): string;
32
- }
33
- }
34
- }
35
- }
36
- namespace output {
37
- let path: string;
38
- let filename: string;
39
- let publicPath: string | undefined;
40
- let chunkFilename: string | undefined;
41
- }
42
- namespace resolve {
43
- let extensions: string[];
44
- let alias: {};
45
- }
46
- let plugins: any[];
47
- namespace module {
48
- let rules: ({
49
- test: RegExp;
50
- exclude: string;
51
- use: {
52
- loader: string;
53
- options: {
54
- babelrc: boolean;
55
- presets: (string | (string | {
56
- targets: {
57
- browsers: string;
58
- };
59
- })[])[];
60
- plugins: string[];
61
- env: {
62
- production: {
63
- plugins: (string | typeof import("./babel-plugins/remove-ssr.plugin").default)[];
64
- };
65
- test: {
66
- presets: string[];
67
- };
68
- };
69
- ignore: string[];
70
- };
71
- };
72
- include?: undefined;
73
- issuer?: undefined;
74
- } | {
75
- test: RegExp;
76
- exclude: string[];
77
- use: (string | {
78
- loader: string;
79
- options: {
80
- modules: {
81
- mode: string;
82
- localIdentName: any;
83
- };
84
- importLoaders: number;
85
- additionalData?: undefined;
86
- resources?: undefined;
87
- };
88
- } | {
89
- loader: string;
90
- options?: undefined;
91
- } | {
92
- loader: string;
93
- options: {
94
- additionalData: string;
95
- modules?: undefined;
96
- importLoaders?: undefined;
97
- resources?: undefined;
98
- };
99
- } | {
100
- loader: string;
101
- options: {
102
- resources: string[];
103
- modules?: undefined;
104
- importLoaders?: undefined;
105
- additionalData?: undefined;
106
- };
107
- })[];
108
- include?: undefined;
109
- issuer?: undefined;
110
- } | {
111
- test: RegExp;
112
- include: string[];
113
- use: (string | {
114
- loader: string;
115
- options?: undefined;
116
- } | {
117
- loader: string;
118
- options: {
119
- additionalData: string;
120
- resources?: undefined;
121
- };
122
- } | {
123
- loader: string;
124
- options: {
125
- resources: string[];
126
- additionalData?: undefined;
127
- };
128
- })[];
129
- exclude?: undefined;
130
- issuer?: undefined;
131
- } | {
132
- test: RegExp;
133
- use: (string | {
134
- loader: string;
135
- options: {
136
- modules: {
137
- mode: string;
138
- auto: boolean;
139
- localIdentName: any;
140
- };
141
- };
142
- })[];
143
- exclude?: undefined;
144
- include?: undefined;
145
- issuer?: undefined;
146
- } | {
147
- test: RegExp;
148
- issuer: RegExp;
149
- use: string[];
150
- exclude?: undefined;
151
- include?: undefined;
152
- } | {
153
- test: RegExp;
154
- use: (string | {
155
- loader: string;
156
- options: {
157
- limit: number;
158
- outputPath: string[];
159
- };
160
- })[];
161
- exclude?: undefined;
162
- include?: undefined;
163
- issuer?: undefined;
164
- } | {
165
- test: RegExp;
166
- use: {
167
- loader: string;
168
- options: {
169
- minimize: {
170
- minifyJS: boolean;
171
- minifyCSS: boolean;
172
- removeComments: boolean;
173
- collapseWhitespace: boolean;
174
- };
175
- };
176
- }[];
177
- exclude?: undefined;
178
- include?: undefined;
179
- issuer?: undefined;
180
- })[];
181
- }
182
- }
183
- export default _default;
184
- import webpack from "webpack";
@@ -1 +0,0 @@
1
- export {};