@zohodesk/react-cli 1.0.2 → 1.0.3-exp.2

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 (155) hide show
  1. package/.eslintignore +7 -7
  2. package/.eslintrc.js +180 -180
  3. package/.prettierrc +6 -6
  4. package/Changelog.md +1019 -1019
  5. package/README.md +1209 -1165
  6. package/bin/cli.js +489 -483
  7. package/docs/ComposeMinification.md +14 -0
  8. package/docs/CustomChunks.md +26 -26
  9. package/docs/DevServerPort.md +39 -39
  10. package/docs/DevStart.md +18 -18
  11. package/docs/HoverActive.md +12 -12
  12. package/docs/InstallNode.md +28 -28
  13. package/docs/SelectorWeight.md +8 -8
  14. package/docs/TODOS.md +10 -10
  15. package/docs/ValueReplacer.md +60 -60
  16. package/docs/VariableConversion.md +729 -729
  17. package/docs/warnings_while_install.txt +35 -35
  18. package/files/eslintrc.js +62 -62
  19. package/files/prettierrc.js +3 -3
  20. package/lib/common/buildEs.js +12 -0
  21. package/lib/common/testPattern.js +0 -2
  22. package/lib/common/valueReplacer.js +1 -3
  23. package/lib/configs/resolvers.js +14 -3
  24. package/lib/configs/webpack.css.umd.config.js +4 -4
  25. package/lib/configs/webpack.dev.config.js +6 -0
  26. package/lib/configs/webpack.docs.config.js +4 -0
  27. package/lib/configs/webpack.impact.config.js +4 -0
  28. package/lib/configs/webpack.prod.config.js +6 -0
  29. package/lib/loaderUtils/configsAssetsLoaders.js +33 -33
  30. package/lib/loaderUtils/getCSSLoaders.js +78 -49
  31. package/lib/loaderUtils/tests/windowsModification.test.js +10 -0
  32. package/lib/loaderUtils/windowsModification.js +6 -1
  33. package/lib/loaders/composeLoader.js +172 -0
  34. package/lib/loaders/selectorMappingLoader.js +9 -9
  35. package/lib/loaders/workerLoader.js +9 -9
  36. package/lib/logger.js +20 -0
  37. package/lib/pluginUtils/getDevPlugins.js +23 -8
  38. package/lib/pluginUtils/getProdPlugins.js +20 -8
  39. package/lib/pluginUtils/getUMDCSSPlugins.js +1 -1
  40. package/lib/pluginUtils/getUMDComponentPlugins.js +1 -1
  41. package/lib/plugins/CustomAttributePlugin.js +82 -0
  42. package/lib/plugins/CustomAttributePlugin.md +35 -0
  43. package/lib/plugins/EFCPlugin.js +9 -9
  44. package/lib/plugins/EFCPlugin.md +6 -6
  45. package/lib/plugins/EFCTemplatePlugin.js +10 -12
  46. package/lib/plugins/I18NInjectIntoIndexPlugin.js +12 -13
  47. package/lib/plugins/I18nSplitPlugin/I18nDebugPlugin.js +2 -3
  48. package/lib/plugins/I18nSplitPlugin/I18nDownlodLogic.js +38 -38
  49. package/lib/plugins/I18nSplitPlugin/I18nFilesEmitter.js +30 -30
  50. package/lib/plugins/I18nSplitPlugin/I18nKeysIdentifer.js +10 -15
  51. package/lib/plugins/I18nSplitPlugin/I18nSplit.md +95 -95
  52. package/lib/plugins/I18nSplitPlugin/README.md +25 -25
  53. package/lib/plugins/I18nSplitPlugin/index.js +57 -57
  54. package/lib/plugins/I18nSplitPlugin/utils/propertiesUtils.js +8 -8
  55. package/lib/plugins/{UglifyCSSPlugin.js → MinifyPlugin.js} +3 -3
  56. package/lib/plugins/ResourceHintsPlugin.js +17 -17
  57. package/lib/plugins/RtlSplitPlugin/RtlCssPlugin.js +6 -6
  58. package/lib/plugins/RtlSplitPlugin/RtrSplit.md +30 -30
  59. package/lib/plugins/SelectorPlugin.js +66 -48
  60. package/lib/plugins/ServiceWorkerPlugin.js +9 -9
  61. package/lib/plugins/TPHashMappingPlugin.js +4 -4
  62. package/lib/plugins/VariableConversionCollector.js +94 -88
  63. package/lib/plugins/index.js +7 -7
  64. package/lib/plugins/utils/classHandling.js +20 -0
  65. package/lib/plugins/utils/fileHandling.js +107 -0
  66. package/lib/plugins/utils/tests/fileHandling.test.js +30 -0
  67. package/lib/postcss-plugins/EmptyPlugin.js +8 -0
  68. package/lib/postcss-plugins/ExcludePlugin.js +1 -1
  69. package/lib/postcss-plugins/IncludePlugin.js +0 -1
  70. package/lib/postcss-plugins/RTLSplitPlugin.js +14 -20
  71. package/lib/postcss-plugins/ValueReplacer.js +2 -13
  72. package/lib/postcss-plugins/__test__/test1Input.css +38 -38
  73. package/lib/postcss-plugins/__test__/test1Output.css +38 -38
  74. package/lib/postcss-plugins/hoverActivePlugin.js +3 -9
  75. package/lib/postcss-plugins/variableModificationPlugin/index.js +2 -21
  76. package/lib/schemas/index.js +39 -4
  77. package/lib/servers/devBuild.js +13 -11
  78. package/lib/servers/httpsOptions.js +12 -13
  79. package/lib/servers/nowatchserver.js +5 -3
  80. package/lib/servers/requireLocalOrGlobal.js +61 -0
  81. package/lib/servers/server.js +3 -5
  82. package/lib/sh/pre-commit.sh +34 -34
  83. package/lib/sh/reportPublish.sh +45 -45
  84. package/lib/utils/buildstats.html +148 -148
  85. package/lib/utils/cssClassNameGenerate.js +38 -12
  86. package/lib/utils/getOptions.js +9 -0
  87. package/lib/utils/resultSchema.json +73 -73
  88. package/lib/utils/variableConvertor.js +159 -0
  89. package/npm8.md +9 -9
  90. package/package-lock.json +14412 -0
  91. package/package.json +121 -120
  92. package/postpublish.js +8 -8
  93. package/templates/app/.eslintrc.js +140 -140
  94. package/templates/app/README.md +12 -12
  95. package/templates/app/app/index.html +24 -24
  96. package/templates/app/app/properties/ApplicationResources_en_US.properties +1 -1
  97. package/templates/app/app/properties/i18nkeys.json +3 -3
  98. package/templates/app/docs/all.html +69 -69
  99. package/templates/app/mockapi/index.js +18 -18
  100. package/templates/app/package.json +37 -37
  101. package/templates/app/src/actions/SampleActions/index.js +37 -37
  102. package/templates/app/src/actions/index.js +65 -65
  103. package/templates/app/src/appUrls.js +19 -19
  104. package/templates/app/src/components/Alert/Alert.js +134 -134
  105. package/templates/app/src/components/Alert/Alert.module.css +79 -79
  106. package/templates/app/src/components/FreezeLayer/FreezeLayer.css +37 -37
  107. package/templates/app/src/components/FreezeLayer/FreezeLayer.js +84 -84
  108. package/templates/app/src/components/Sample/Sample.module.css +11 -11
  109. package/templates/app/src/components/Sample/SampleList.js +61 -61
  110. package/templates/app/src/components/Slider/Slider.css +41 -41
  111. package/templates/app/src/components/Slider/Slider.js +55 -55
  112. package/templates/app/src/containers/AlertContainer/index.js +15 -15
  113. package/templates/app/src/containers/AppContainer/index.js +96 -96
  114. package/templates/app/src/containers/AppContainer/index.module.css +27 -27
  115. package/templates/app/src/containers/CustomMatch/index.js +65 -65
  116. package/templates/app/src/containers/DevTools/index.js +10 -10
  117. package/templates/app/src/containers/Header/index.js +67 -67
  118. package/templates/app/src/containers/Header/index.module.css +43 -43
  119. package/templates/app/src/containers/Redirect/index.js +63 -63
  120. package/templates/app/src/containers/Redirector/index.js +47 -47
  121. package/templates/app/src/containers/SampleListContainer/ListContainer.js +42 -42
  122. package/templates/app/src/containers/SampleListContainer/ListContainer.module.css +3 -3
  123. package/templates/app/src/historyChange.js +5 -5
  124. package/templates/app/src/index.html +10 -10
  125. package/templates/app/src/index.js +24 -24
  126. package/templates/app/src/middleware/PromiseMiddleware.js +59 -59
  127. package/templates/app/src/reducers/alertData.js +11 -11
  128. package/templates/app/src/reducers/index.js +6 -6
  129. package/templates/app/src/reducers/samples.js +19 -19
  130. package/templates/app/src/store/configureStore.dev.js +51 -51
  131. package/templates/app/src/store/configureStore.js +5 -5
  132. package/templates/app/src/store/configureStore.prod.js +26 -26
  133. package/templates/app/src/util/Common.js +5 -5
  134. package/templates/app/src/util/RequestAPI.js +132 -132
  135. package/templates/docs/all.html +249 -249
  136. package/templates/docs/component.html +178 -178
  137. package/templates/docs/components.html +221 -221
  138. package/templates/docs/css/b.min.css +6 -6
  139. package/templates/docs/css/component.css +42 -42
  140. package/templates/docs/css/componentTest.css +6 -6
  141. package/templates/docs/css/hopscotch.css +585 -585
  142. package/templates/docs/css/style.css +1022 -1022
  143. package/templates/docs/impactReportTemplate.html +154 -154
  144. package/templates/docs/index.html +1501 -1501
  145. package/templates/docs/js/active-line.js +72 -72
  146. package/templates/docs/js/b.min.js +7 -7
  147. package/templates/docs/js/codemirror.js +9680 -9680
  148. package/templates/docs/js/designTokens.js +334 -334
  149. package/templates/docs/js/j.min.js +4 -4
  150. package/templates/docs/js/javascript.js +874 -874
  151. package/templates/docs/js/matchbrackets.js +145 -145
  152. package/lib/plugins/composeCommonPlugin.js +0 -30
  153. package/lib/postcss-plugins/variableModifier.js +0 -244
  154. package/result.json +0 -1
  155. package/unittest/index.html +0 -37
@@ -1,69 +1,69 @@
1
- <!DOCTYPE html>
2
- <html>
3
- <head>
4
- <meta http-equiv="X-UA-Compatible" content="IE=edge">
5
- <style type="text/css">
6
- .comps
7
- {
8
- padding: 10px;
9
- max-width: 100%;
10
- margin-bottom: 10px;
11
- border-bottom: 1px solid #f5f5f5;
12
- }
13
- .componentNameRed
14
- {
15
- color: red;
16
- }
17
- .propertyName
18
- {
19
- color:green;
20
- margin-left: 10px;
21
- }
22
- .valueName
23
- {
24
- color:orange;
25
- margin-right: 10px;
26
- }
27
- .example
28
- {
29
- padding: 20px 20px 20px 0px;
30
- width: 100%;
31
- box-sizing: border-box;
32
- margin: 15px 0px;
33
- }
34
- .htmlTag
35
- {
36
- color: #999;
37
- color: #676565;
38
- line-height: 25px;
39
- margin-bottom: 10px;
40
- font-size: 13px;
41
- }
42
- .textArea
43
- {
44
- min-width: 50%;
45
- outline: none;
46
- min-height: 100px;
47
- margin: 15px 0px;
48
- max-width: 90%;
49
- }
50
-
51
- </style>
52
- </head>
53
- <body>
54
- <div id="react">
55
-
56
- </div>
57
-
58
- <script src="/docs/js/vendor.js" ></script>
59
- <script src="/docs/js/main.js" ></script>
60
- <script>
61
- var React = Component.React;
62
- var ReactDOM = Component.ReactDOM;
63
- var Text__default = Component.Text__default;
64
- ReactDOM.render(React.createElement(Text__default), react);
65
- </script>
66
-
67
-
68
- </body>
69
- </html>
1
+ <!DOCTYPE html>
2
+ <html>
3
+ <head>
4
+ <meta http-equiv="X-UA-Compatible" content="IE=edge">
5
+ <style type="text/css">
6
+ .comps
7
+ {
8
+ padding: 10px;
9
+ max-width: 100%;
10
+ margin-bottom: 10px;
11
+ border-bottom: 1px solid #f5f5f5;
12
+ }
13
+ .componentNameRed
14
+ {
15
+ color: red;
16
+ }
17
+ .propertyName
18
+ {
19
+ color:green;
20
+ margin-left: 10px;
21
+ }
22
+ .valueName
23
+ {
24
+ color:orange;
25
+ margin-right: 10px;
26
+ }
27
+ .example
28
+ {
29
+ padding: 20px 20px 20px 0px;
30
+ width: 100%;
31
+ box-sizing: border-box;
32
+ margin: 15px 0px;
33
+ }
34
+ .htmlTag
35
+ {
36
+ color: #999;
37
+ color: #676565;
38
+ line-height: 25px;
39
+ margin-bottom: 10px;
40
+ font-size: 13px;
41
+ }
42
+ .textArea
43
+ {
44
+ min-width: 50%;
45
+ outline: none;
46
+ min-height: 100px;
47
+ margin: 15px 0px;
48
+ max-width: 90%;
49
+ }
50
+
51
+ </style>
52
+ </head>
53
+ <body>
54
+ <div id="react">
55
+
56
+ </div>
57
+
58
+ <script src="/docs/js/vendor.js" ></script>
59
+ <script src="/docs/js/main.js" ></script>
60
+ <script>
61
+ var React = Component.React;
62
+ var ReactDOM = Component.ReactDOM;
63
+ var Text__default = Component.Text__default;
64
+ ReactDOM.render(React.createElement(Text__default), react);
65
+ </script>
66
+
67
+
68
+ </body>
69
+ </html>
@@ -1,18 +1,18 @@
1
- const cors = require("cors");
2
- const fileUpload = require("express-fileupload");
3
-
4
- function mockServer(app) {
5
- app.use(
6
- fileUpload({
7
- limits: { fileSize: 50 * 1024 * 1024 }
8
- })
9
- );
10
- app.use(cors());
11
-
12
- app.get("/app/sample/*", (req, res) => {
13
- res.type("html");
14
- res.sendFile(path.join(__dirname + "/../app/index.html"));
15
- });
16
- }
17
-
18
- module.exports = mockServer;
1
+ const cors = require("cors");
2
+ const fileUpload = require("express-fileupload");
3
+
4
+ function mockServer(app) {
5
+ app.use(
6
+ fileUpload({
7
+ limits: { fileSize: 50 * 1024 * 1024 }
8
+ })
9
+ );
10
+ app.use(cors());
11
+
12
+ app.get("/app/sample/*", (req, res) => {
13
+ res.type("html");
14
+ res.sendFile(path.join(__dirname + "/../app/index.html"));
15
+ });
16
+ }
17
+
18
+ module.exports = mockServer;
@@ -1,37 +1,37 @@
1
- {
2
- "name": "sampleapp",
3
- "version": "1.0.0",
4
- "description": "",
5
- "main": "index.js",
6
- "scripts": {
7
- "clean": "react-cli clean build unittest coverage",
8
- "docs": "react-cli docs",
9
- "component": "react-cli build:component",
10
- "component:umd": "react-cli build:component:umd",
11
- "start": "react-cli start",
12
- "build": "react-cli build",
13
- "test": "npm run clean && react-cli test",
14
- "lint": "react-cli lint"
15
- },
16
- "author": "",
17
- "license": "ISC",
18
- "dependencies": {
19
- "@zohodesk/components": "^1.0.0-alpha-21",
20
- "cors": "^2.8.5",
21
- "redux-devtools": "^3.5.0",
22
- "redux-devtools-dock-monitor": "^1.1.3",
23
- "redux-devtools-log-monitor": "^1.4.0",
24
- "redux-logger": "^3.0.6"
25
- },
26
- "react-cli": {
27
- "app": {
28
- "server": {
29
- "hasMock": true
30
- }
31
- }
32
- },
33
- "devDependencies": {
34
- "body-parser": "^1.19.0",
35
- "express-fileupload": "^1.1.5"
36
- }
37
- }
1
+ {
2
+ "name": "sampleapp",
3
+ "version": "1.0.0",
4
+ "description": "",
5
+ "main": "index.js",
6
+ "scripts": {
7
+ "clean": "react-cli clean build unittest coverage",
8
+ "docs": "react-cli docs",
9
+ "component": "react-cli build:component",
10
+ "component:umd": "react-cli build:component:umd",
11
+ "start": "react-cli start",
12
+ "build": "react-cli build",
13
+ "test": "npm run clean && react-cli test",
14
+ "lint": "react-cli lint"
15
+ },
16
+ "author": "",
17
+ "license": "ISC",
18
+ "dependencies": {
19
+ "@zohodesk/components": "^1.0.0-alpha-21",
20
+ "cors": "^2.8.5",
21
+ "redux-devtools": "^3.5.0",
22
+ "redux-devtools-dock-monitor": "^1.1.3",
23
+ "redux-devtools-log-monitor": "^1.4.0",
24
+ "redux-logger": "^3.0.6"
25
+ },
26
+ "react-cli": {
27
+ "app": {
28
+ "server": {
29
+ "hasMock": true
30
+ }
31
+ }
32
+ },
33
+ "devDependencies": {
34
+ "body-parser": "^1.19.0",
35
+ "express-fileupload": "^1.1.5"
36
+ }
37
+ }
@@ -1,37 +1,37 @@
1
- import { generateAPITypes } from "../../util/Common";
2
- import requestAPI from "../../util/RequestAPI";
3
-
4
- export function getSampleList(isForce = true) {
5
- return {
6
- types: generateAPITypes("SAMPLE_LIST"),
7
- shouldCallAPI: state => {
8
- if (!isForce) {
9
- const { sampleDataList = [] } = state;
10
- return sampleDataList.length === 0;
11
- }
12
- return true;
13
- },
14
- callAPI: state =>
15
- requestAPI(`${mockServerURL}/api/v1/sampleapi`, {})
16
- .get()
17
- .then(res => {
18
- return res;
19
- })
20
- };
21
- }
22
-
23
- export function addSample(payload) {
24
- return {
25
- types: generateAPITypes("ADD_SAMPLE"),
26
- callAPI: state => {
27
- return new Promise((resolve, reject) => {
28
- let url = `${mockServerURL}/api/v1/addSample`;
29
- requestAPI(url, {})
30
- .post("", payload)
31
- .then(res => {
32
- resolve(res);
33
- });
34
- });
35
- }
36
- };
37
- }
1
+ import { generateAPITypes } from "../../util/Common";
2
+ import requestAPI from "../../util/RequestAPI";
3
+
4
+ export function getSampleList(isForce = true) {
5
+ return {
6
+ types: generateAPITypes("SAMPLE_LIST"),
7
+ shouldCallAPI: state => {
8
+ if (!isForce) {
9
+ const { sampleDataList = [] } = state;
10
+ return sampleDataList.length === 0;
11
+ }
12
+ return true;
13
+ },
14
+ callAPI: state =>
15
+ requestAPI(`${mockServerURL}/api/v1/sampleapi`, {})
16
+ .get()
17
+ .then(res => {
18
+ return res;
19
+ })
20
+ };
21
+ }
22
+
23
+ export function addSample(payload) {
24
+ return {
25
+ types: generateAPITypes("ADD_SAMPLE"),
26
+ callAPI: state => {
27
+ return new Promise((resolve, reject) => {
28
+ let url = `${mockServerURL}/api/v1/addSample`;
29
+ requestAPI(url, {})
30
+ .post("", payload)
31
+ .then(res => {
32
+ resolve(res);
33
+ });
34
+ });
35
+ }
36
+ };
37
+ }
@@ -1,65 +1,65 @@
1
- import {
2
- push as routerPush,
3
- replace as routerReplace
4
- } from "redux-router-middleware";
5
-
6
- export function push(obj, isHref) {
7
- //obj.pathname = isHref ? obj.pathname : URL_PREFIX + obj.pathname;
8
- return (dispatch, getState) => {
9
- let state = getState();
10
- dispatch(routerPush(obj));
11
- };
12
- }
13
-
14
- export function replace(obj) {
15
- return (dispatch, getState) => {
16
- let state = getState();
17
- if (
18
- !state.routing.location ||
19
- obj.href !== state.routing.location.pathname
20
- ) {
21
- let locationState =
22
- state.routing.location && state.routing.location.state;
23
- if (!obj.state && locationState) {
24
- obj.state = {};
25
- Object.assign(obj.state, locationState);
26
- }
27
- dispatch(routerReplace(obj));
28
- }
29
- };
30
- }
31
-
32
- export function showAlert(data) {
33
- return {
34
- type: "ALERT_SHOW",
35
- data
36
- };
37
- }
38
-
39
- export function hideAlert() {
40
- return {
41
- type: "ALERT_HIDE"
42
- };
43
- }
44
-
45
- export const alertAction = (() => {
46
- let ob = { resolve: null, reject: null };
47
- function showConfirmBox(data) {
48
- return dispatch =>
49
- new Promise((res, rej) => {
50
- ob.resolve = () => {
51
- dispatch(hideAlert());
52
- res();
53
- };
54
- ob.reject = () => {
55
- dispatch(hideAlert());
56
- rej();
57
- };
58
- dispatch(showAlert(data));
59
- });
60
- }
61
- return {
62
- ob,
63
- showConfirmBox
64
- };
65
- })();
1
+ import {
2
+ push as routerPush,
3
+ replace as routerReplace
4
+ } from "redux-router-middleware";
5
+
6
+ export function push(obj, isHref) {
7
+ //obj.pathname = isHref ? obj.pathname : URL_PREFIX + obj.pathname;
8
+ return (dispatch, getState) => {
9
+ let state = getState();
10
+ dispatch(routerPush(obj));
11
+ };
12
+ }
13
+
14
+ export function replace(obj) {
15
+ return (dispatch, getState) => {
16
+ let state = getState();
17
+ if (
18
+ !state.routing.location ||
19
+ obj.href !== state.routing.location.pathname
20
+ ) {
21
+ let locationState =
22
+ state.routing.location && state.routing.location.state;
23
+ if (!obj.state && locationState) {
24
+ obj.state = {};
25
+ Object.assign(obj.state, locationState);
26
+ }
27
+ dispatch(routerReplace(obj));
28
+ }
29
+ };
30
+ }
31
+
32
+ export function showAlert(data) {
33
+ return {
34
+ type: "ALERT_SHOW",
35
+ data
36
+ };
37
+ }
38
+
39
+ export function hideAlert() {
40
+ return {
41
+ type: "ALERT_HIDE"
42
+ };
43
+ }
44
+
45
+ export const alertAction = (() => {
46
+ let ob = { resolve: null, reject: null };
47
+ function showConfirmBox(data) {
48
+ return dispatch =>
49
+ new Promise((res, rej) => {
50
+ ob.resolve = () => {
51
+ dispatch(hideAlert());
52
+ res();
53
+ };
54
+ ob.reject = () => {
55
+ dispatch(hideAlert());
56
+ rej();
57
+ };
58
+ dispatch(showAlert(data));
59
+ });
60
+ }
61
+ return {
62
+ ob,
63
+ showConfirmBox
64
+ };
65
+ })();
@@ -1,19 +1,19 @@
1
- import { URL_PREFIX } from "./util/Common";
2
-
3
- export default function getUrls(isDomainMapped) {
4
- let urls = [
5
- {
6
- name: "root",
7
- pattern: "/"
8
- },
9
- {
10
- name: "sampleList",
11
- pattern: "/sample"
12
- }
13
- ];
14
-
15
- return urls.map(url => {
16
- url.pattern = `${URL_PREFIX}${url.pattern}`;
17
- return url;
18
- });
19
- }
1
+ import { URL_PREFIX } from "./util/Common";
2
+
3
+ export default function getUrls(isDomainMapped) {
4
+ let urls = [
5
+ {
6
+ name: "root",
7
+ pattern: "/"
8
+ },
9
+ {
10
+ name: "sampleList",
11
+ pattern: "/sample"
12
+ }
13
+ ];
14
+
15
+ return urls.map(url => {
16
+ url.pattern = `${URL_PREFIX}${url.pattern}`;
17
+ return url;
18
+ });
19
+ }