@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,3 +1,3 @@
1
- .container {
2
- padding: 20px;
3
- }
1
+ .container {
2
+ padding: 20px;
3
+ }
@@ -1,5 +1,5 @@
1
- export const historyChange = (routing, res, { getState, dispatch }) => {
2
- let state = getState();
3
-
4
- res();
5
- };
1
+ export const historyChange = (routing, res, { getState, dispatch }) => {
2
+ let state = getState();
3
+
4
+ res();
5
+ };
@@ -1,10 +1,10 @@
1
- <!DOCTYPE html>
2
- <html lang="en" dir="ltr">
3
- <head>
4
- <meta charset="utf-8" />
5
- <title></title>
6
- </head>
7
- <body>
8
- <div id="container"></div>
9
- </body>
10
- </html>
1
+ <!DOCTYPE html>
2
+ <html lang="en" dir="ltr">
3
+ <head>
4
+ <meta charset="utf-8" />
5
+ <title></title>
6
+ </head>
7
+ <body>
8
+ <div id="container"></div>
9
+ </body>
10
+ </html>
@@ -1,24 +1,24 @@
1
- import React from "react";
2
- import ReactDOM from "react-dom";
3
- import { Provider } from "react-redux";
4
- import { ConnectI18NProvider } from "fz-i18n";
5
- import configureStore from "./store/configureStore";
6
- import AppContainer from "./containers/AppContainer";
7
-
8
- const store = configureStore();
9
- setTimeout(() => {
10
- ReactDOM.render(
11
- <Provider store={store}>
12
- <ConnectI18NProvider
13
- direction={document.getElementsByTagName("html")[0].dir}
14
- i18n={() => {}}
15
- permission={{}}
16
- timeZone={state => ""}
17
- license={""}
18
- >
19
- <AppContainer />
20
- </ConnectI18NProvider>
21
- </Provider>,
22
- document.getElementById("container")
23
- );
24
- }, 1);
1
+ import React from "react";
2
+ import ReactDOM from "react-dom";
3
+ import { Provider } from "react-redux";
4
+ import { ConnectI18NProvider } from "fz-i18n";
5
+ import configureStore from "./store/configureStore";
6
+ import AppContainer from "./containers/AppContainer";
7
+
8
+ const store = configureStore();
9
+ setTimeout(() => {
10
+ ReactDOM.render(
11
+ <Provider store={store}>
12
+ <ConnectI18NProvider
13
+ direction={document.getElementsByTagName("html")[0].dir}
14
+ i18n={() => {}}
15
+ permission={{}}
16
+ timeZone={state => ""}
17
+ license={""}
18
+ >
19
+ <AppContainer />
20
+ </ConnectI18NProvider>
21
+ </Provider>,
22
+ document.getElementById("container")
23
+ );
24
+ }, 1);
@@ -1,59 +1,59 @@
1
- export default function promiseMiddleware({ dispatch, getState }) {
2
- return function(next) {
3
- return function(action) {
4
- const { types, callAPI, shouldCallAPI = () => true, payload } = action;
5
- if (!types) {
6
- // Normal action: pass it o
7
- return next(action);
8
- }
9
-
10
- if (
11
- !Array.isArray(types) ||
12
- types.length !== 3 ||
13
- !types.every(type => typeof type === 'string')
14
- ) {
15
- throw new Error('Expected an array of three string types.');
16
- }
17
-
18
- if (typeof callAPI !== 'function') {
19
- throw new Error('Expected fetch to be a function.');
20
- }
21
-
22
- if (!shouldCallAPI(getState())) {
23
- return Promise.resolve();
24
- }
25
- const [requestType, successType, failureType] = types;
26
-
27
- dispatch({
28
- type: requestType,
29
- data: typeof payload === 'function' ? payload(getState()) : payload
30
- });
31
- return callAPI(getState(), getState).then(
32
- response => {
33
- let action = dispatch(
34
- Object.assign(
35
- {},
36
- {
37
- data: response,
38
- type: successType
39
- }
40
- )
41
- );
42
- return action;
43
- },
44
- error => {
45
- dispatch(
46
- Object.assign(
47
- {},
48
- {
49
- data: error,
50
- type: failureType
51
- }
52
- )
53
- );
54
- throw error;
55
- }
56
- );
57
- };
58
- };
59
- }
1
+ export default function promiseMiddleware({ dispatch, getState }) {
2
+ return function(next) {
3
+ return function(action) {
4
+ const { types, callAPI, shouldCallAPI = () => true, payload } = action;
5
+ if (!types) {
6
+ // Normal action: pass it o
7
+ return next(action);
8
+ }
9
+
10
+ if (
11
+ !Array.isArray(types) ||
12
+ types.length !== 3 ||
13
+ !types.every(type => typeof type === 'string')
14
+ ) {
15
+ throw new Error('Expected an array of three string types.');
16
+ }
17
+
18
+ if (typeof callAPI !== 'function') {
19
+ throw new Error('Expected fetch to be a function.');
20
+ }
21
+
22
+ if (!shouldCallAPI(getState())) {
23
+ return Promise.resolve();
24
+ }
25
+ const [requestType, successType, failureType] = types;
26
+
27
+ dispatch({
28
+ type: requestType,
29
+ data: typeof payload === 'function' ? payload(getState()) : payload
30
+ });
31
+ return callAPI(getState(), getState).then(
32
+ response => {
33
+ let action = dispatch(
34
+ Object.assign(
35
+ {},
36
+ {
37
+ data: response,
38
+ type: successType
39
+ }
40
+ )
41
+ );
42
+ return action;
43
+ },
44
+ error => {
45
+ dispatch(
46
+ Object.assign(
47
+ {},
48
+ {
49
+ data: error,
50
+ type: failureType
51
+ }
52
+ )
53
+ );
54
+ throw error;
55
+ }
56
+ );
57
+ };
58
+ };
59
+ }
@@ -1,11 +1,11 @@
1
- export const alertData = (state = {}, { type, data }) => {
2
- switch (type) {
3
- case "ALERT_SHOW":
4
- return data;
5
- case "ALERT_HIDE":
6
- return {};
7
-
8
- default:
9
- }
10
- return state;
11
- };
1
+ export const alertData = (state = {}, { type, data }) => {
2
+ switch (type) {
3
+ case "ALERT_SHOW":
4
+ return data;
5
+ case "ALERT_HIDE":
6
+ return {};
7
+
8
+ default:
9
+ }
10
+ return state;
11
+ };
@@ -1,6 +1,6 @@
1
- import { samples } from "./samples";
2
- import { alertData } from "./alertData";
3
-
4
- const reducers = { samples, alertData };
5
-
6
- export default reducers;
1
+ import { samples } from "./samples";
2
+ import { alertData } from "./alertData";
3
+
4
+ const reducers = { samples, alertData };
5
+
6
+ export default reducers;
@@ -1,19 +1,19 @@
1
- function samples(state = [], { data, type }) {
2
- switch (type) {
3
- case "SAMPLE_LIST_SUCCESS": {
4
- return data;
5
- break;
6
- }
7
-
8
- case "ADD_SAMPLE_SUCCESS": {
9
- let newState = Object.assign({}, state);
10
- return [...state, ...[data]];
11
- break;
12
- }
13
-
14
- default:
15
- return state;
16
- }
17
- }
18
-
19
- export { samples };
1
+ function samples(state = [], { data, type }) {
2
+ switch (type) {
3
+ case "SAMPLE_LIST_SUCCESS": {
4
+ return data;
5
+ break;
6
+ }
7
+
8
+ case "ADD_SAMPLE_SUCCESS": {
9
+ let newState = Object.assign({}, state);
10
+ return [...state, ...[data]];
11
+ break;
12
+ }
13
+
14
+ default:
15
+ return state;
16
+ }
17
+ }
18
+
19
+ export { samples };
@@ -1,51 +1,51 @@
1
- import { createBrowserHistory } from "history";
2
- import { reduxRouter } from "redux-router-middleware";
3
- import { createStore, applyMiddleware, compose, combineReducers } from "redux";
4
- import thunk from "redux-thunk";
5
- import promiseMiddleware from "../middleware/PromiseMiddleware";
6
- import rootReducer from "../reducers";
7
-
8
- //import logger from "redux-logger";
9
- //import { createLogger } from "redux-logger";
10
- import { createLogger } from "redux-logger";
11
- import DevTools from "../containers/DevTools";
12
- import getUrls from "../appUrls";
13
- import { historyChange } from "../historyChange";
14
-
15
- const configureStore = preloadedState => {
16
- let history = createBrowserHistory();
17
-
18
- let { historyMiddleware, routing } = reduxRouter(
19
- history,
20
- getUrls(),
21
- historyChange
22
- );
23
-
24
- //console.log(createLogger);
25
- let middleWare = compose(
26
- applyMiddleware(
27
- thunk,
28
- promiseMiddleware,
29
- historyMiddleware,
30
- createLogger({ collapsed: true })
31
- ),
32
- DevTools.instrument()
33
- );
34
-
35
- const store = createStore(
36
- combineReducers(Object.assign(rootReducer, { routing })),
37
- preloadedState,
38
- middleWare
39
- );
40
-
41
- if (module.hot) {
42
- // Enable Webpack hot module replacement for reducers
43
- module.hot.accept("../reducers", () => {
44
- store.replaceReducer(rootReducer);
45
- });
46
- }
47
-
48
- return store;
49
- };
50
-
51
- export default configureStore;
1
+ import { createBrowserHistory } from "history";
2
+ import { reduxRouter } from "redux-router-middleware";
3
+ import { createStore, applyMiddleware, compose, combineReducers } from "redux";
4
+ import thunk from "redux-thunk";
5
+ import promiseMiddleware from "../middleware/PromiseMiddleware";
6
+ import rootReducer from "../reducers";
7
+
8
+ //import logger from "redux-logger";
9
+ //import { createLogger } from "redux-logger";
10
+ import { createLogger } from "redux-logger";
11
+ import DevTools from "../containers/DevTools";
12
+ import getUrls from "../appUrls";
13
+ import { historyChange } from "../historyChange";
14
+
15
+ const configureStore = preloadedState => {
16
+ let history = createBrowserHistory();
17
+
18
+ let { historyMiddleware, routing } = reduxRouter(
19
+ history,
20
+ getUrls(),
21
+ historyChange
22
+ );
23
+
24
+ //console.log(createLogger);
25
+ let middleWare = compose(
26
+ applyMiddleware(
27
+ thunk,
28
+ promiseMiddleware,
29
+ historyMiddleware,
30
+ createLogger({ collapsed: true })
31
+ ),
32
+ DevTools.instrument()
33
+ );
34
+
35
+ const store = createStore(
36
+ combineReducers(Object.assign(rootReducer, { routing })),
37
+ preloadedState,
38
+ middleWare
39
+ );
40
+
41
+ if (module.hot) {
42
+ // Enable Webpack hot module replacement for reducers
43
+ module.hot.accept("../reducers", () => {
44
+ store.replaceReducer(rootReducer);
45
+ });
46
+ }
47
+
48
+ return store;
49
+ };
50
+
51
+ export default configureStore;
@@ -1,5 +1,5 @@
1
- /*if (process.env.NODE_ENV === "production") {
2
- module.exports = require("./configureStore.prod");
3
- } else {*/
4
- module.exports = require("./configureStore.dev");
5
- //}
1
+ /*if (process.env.NODE_ENV === "production") {
2
+ module.exports = require("./configureStore.prod");
3
+ } else {*/
4
+ module.exports = require("./configureStore.dev");
5
+ //}
@@ -1,26 +1,26 @@
1
- import { createBrowserHistory } from "history";
2
- import { reduxRouter } from "@zohodesk/router-middleware";
3
- import { createStore, applyMiddleware, compose, combineReducers } from "redux";
4
- import { historyChange } from "../historyChange";
5
- import thunk from "redux-thunk";
6
- import rootReducer from "../reducers";
7
-
8
- const configureStore = preloadedState => {
9
- let history = createBrowserHistory();
10
-
11
- let { historyMiddleware, routing } = reduxRouter(
12
- history,
13
- getUrls(),
14
- historyChange
15
- );
16
-
17
- let middleWare = compose(applyMiddleware(thunk, historyMiddleware));
18
-
19
- return createStore(
20
- combineReducers(Object.assign(rootReducer, { routing })),
21
- preloadedState,
22
- middleWare
23
- );
24
- };
25
-
26
- export default configureStore;
1
+ import { createBrowserHistory } from "history";
2
+ import { reduxRouter } from "@zohodesk/router-middleware";
3
+ import { createStore, applyMiddleware, compose, combineReducers } from "redux";
4
+ import { historyChange } from "../historyChange";
5
+ import thunk from "redux-thunk";
6
+ import rootReducer from "../reducers";
7
+
8
+ const configureStore = preloadedState => {
9
+ let history = createBrowserHistory();
10
+
11
+ let { historyMiddleware, routing } = reduxRouter(
12
+ history,
13
+ getUrls(),
14
+ historyChange
15
+ );
16
+
17
+ let middleWare = compose(applyMiddleware(thunk, historyMiddleware));
18
+
19
+ return createStore(
20
+ combineReducers(Object.assign(rootReducer, { routing })),
21
+ preloadedState,
22
+ middleWare
23
+ );
24
+ };
25
+
26
+ export default configureStore;
@@ -1,5 +1,5 @@
1
- export const URL_PREFIX = '/app';
2
-
3
- export function generateAPITypes(prefix) {
4
- return [`${prefix}_REQUEST`, `${prefix}_SUCCESS`, `${prefix}_FAILURE`];
5
- }
1
+ export const URL_PREFIX = '/app';
2
+
3
+ export function generateAPITypes(prefix) {
4
+ return [`${prefix}_REQUEST`, `${prefix}_SUCCESS`, `${prefix}_FAILURE`];
5
+ }