@zohodesk/react-cli 1.1.8-exp.2 → 1.1.9

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 (134) 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 +1293 -1293
  6. package/bin/cli.js +501 -497
  7. package/docs/ComposeMinification.md +13 -13
  8. package/docs/CustomChunks.md +29 -29
  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/MarkdownParser.md +17 -17
  14. package/docs/ReactLive.md +13 -13
  15. package/docs/SelectorWeight.md +8 -8
  16. package/docs/TODOS.md +10 -10
  17. package/docs/ValueReplacer.md +60 -60
  18. package/docs/VariableConversion.md +729 -729
  19. package/docs/patternFiltering.md +56 -56
  20. package/docs/warnings_while_install.txt +35 -35
  21. package/files/eslintrc.js +62 -62
  22. package/files/prettierrc.js +3 -3
  23. package/lib/configs/webpack.css.umd.config.js +4 -4
  24. package/lib/configs/webpack.dev.config.js +0 -18
  25. package/lib/configs/webpack.docs.config.js +0 -17
  26. package/lib/deprecationLogger.js +3 -3
  27. package/lib/loaderUtils/configsAssetsLoaders.js +33 -33
  28. package/lib/loaderUtils/getCSSLoaders.js +58 -62
  29. package/lib/loaders/workerLoader.js +9 -9
  30. package/lib/pluginUtils/getDevPlugins.js +5 -5
  31. package/lib/pluginUtils/getProdPlugins.js +5 -5
  32. package/lib/plugins/CustomAttributePlugin.md +35 -35
  33. package/lib/plugins/EFCPlugin.md +6 -6
  34. package/lib/plugins/I18NInjectIntoIndexPlugin.js +4 -4
  35. package/lib/plugins/I18nSplitPlugin/I18nDownlodLogic.js +38 -38
  36. package/lib/plugins/I18nSplitPlugin/I18nFilesEmitter.js +30 -30
  37. package/lib/plugins/I18nSplitPlugin/I18nKeysIdentifer.js +8 -8
  38. package/lib/plugins/I18nSplitPlugin/I18nSplit.md +95 -95
  39. package/lib/plugins/I18nSplitPlugin/README.md +25 -25
  40. package/lib/plugins/I18nSplitPlugin/index.js +57 -57
  41. package/lib/plugins/ReportGeneratePlugin.js +8 -6
  42. package/lib/plugins/ResourceHintsPlugin.js +17 -17
  43. package/lib/plugins/RtlSplitPlugin/RtlCssPlugin.js +6 -6
  44. package/lib/plugins/RtlSplitPlugin/RtrSplit.md +30 -30
  45. package/lib/plugins/SelectorPlugin.js +29 -29
  46. package/lib/plugins/ServiceWorkerPlugin.js +9 -9
  47. package/lib/plugins/TPHashMappingPlugin.js +4 -4
  48. package/lib/plugins/UnusedFilesFindPlugin.js +7 -5
  49. package/lib/plugins/VariableConversionCollector.js +59 -59
  50. package/lib/plugins/utils/fileHandling.js +8 -4
  51. package/lib/plugins/variableConvertorUtils.js +9 -9
  52. package/lib/postcss-plugins/RTLSplitPlugin.js +10 -10
  53. package/lib/postcss-plugins/__test__/test1Input.css +38 -38
  54. package/lib/postcss-plugins/__test__/test1Output.css +38 -38
  55. package/lib/postcss-plugins/hoverActivePlugin.js +3 -3
  56. package/lib/sh/pre-commit.sh +34 -34
  57. package/lib/sh/reportPublish.sh +45 -45
  58. package/lib/utils/buildstats.html +148 -148
  59. package/lib/utils/cssClassNameGenerate.js +13 -13
  60. package/lib/utils/deprecationSupport.js +83 -78
  61. package/lib/utils/getOptions.js +2 -2
  62. package/lib/utils/index.js +14 -12
  63. package/lib/utils/initPreCommitHook.js +5 -5
  64. package/lib/utils/log.js +11 -0
  65. package/lib/utils/pullOrigin.js +3 -3
  66. package/lib/utils/reinstallDependencies.js +3 -3
  67. package/lib/utils/resultSchema.json +73 -73
  68. package/lib/utils/switchBranch.js +4 -2
  69. package/npm-shrinkwrap.json +33393 -14454
  70. package/npm8.md +9 -9
  71. package/package.json +123 -123
  72. package/postpublish.js +8 -8
  73. package/templates/app/.eslintrc.js +140 -140
  74. package/templates/app/README.md +12 -12
  75. package/templates/app/app/index.html +24 -24
  76. package/templates/app/app/properties/ApplicationResources_en_US.properties +1 -1
  77. package/templates/app/app/properties/i18nkeys.json +3 -3
  78. package/templates/app/docs/all.html +69 -69
  79. package/templates/app/mockapi/index.js +18 -18
  80. package/templates/app/package.json +37 -37
  81. package/templates/app/src/actions/SampleActions/index.js +37 -37
  82. package/templates/app/src/actions/index.js +65 -65
  83. package/templates/app/src/appUrls.js +19 -19
  84. package/templates/app/src/components/Alert/Alert.js +134 -134
  85. package/templates/app/src/components/Alert/Alert.module.css +79 -79
  86. package/templates/app/src/components/FreezeLayer/FreezeLayer.css +37 -37
  87. package/templates/app/src/components/FreezeLayer/FreezeLayer.js +84 -84
  88. package/templates/app/src/components/Sample/Sample.module.css +11 -11
  89. package/templates/app/src/components/Sample/SampleList.js +61 -61
  90. package/templates/app/src/components/Slider/Slider.css +41 -41
  91. package/templates/app/src/components/Slider/Slider.js +55 -55
  92. package/templates/app/src/containers/AlertContainer/index.js +15 -15
  93. package/templates/app/src/containers/AppContainer/index.js +96 -96
  94. package/templates/app/src/containers/AppContainer/index.module.css +27 -27
  95. package/templates/app/src/containers/CustomMatch/index.js +65 -65
  96. package/templates/app/src/containers/DevTools/index.js +10 -10
  97. package/templates/app/src/containers/Header/index.js +67 -67
  98. package/templates/app/src/containers/Header/index.module.css +43 -43
  99. package/templates/app/src/containers/Redirect/index.js +63 -63
  100. package/templates/app/src/containers/Redirector/index.js +47 -47
  101. package/templates/app/src/containers/SampleListContainer/ListContainer.js +42 -42
  102. package/templates/app/src/containers/SampleListContainer/ListContainer.module.css +3 -3
  103. package/templates/app/src/historyChange.js +5 -5
  104. package/templates/app/src/index.html +10 -10
  105. package/templates/app/src/index.js +24 -24
  106. package/templates/app/src/middleware/PromiseMiddleware.js +59 -59
  107. package/templates/app/src/reducers/alertData.js +11 -11
  108. package/templates/app/src/reducers/index.js +6 -6
  109. package/templates/app/src/reducers/samples.js +19 -19
  110. package/templates/app/src/store/configureStore.dev.js +51 -51
  111. package/templates/app/src/store/configureStore.js +5 -5
  112. package/templates/app/src/store/configureStore.prod.js +26 -26
  113. package/templates/app/src/util/Common.js +5 -5
  114. package/templates/app/src/util/RequestAPI.js +132 -132
  115. package/templates/docs/all.html +250 -250
  116. package/templates/docs/component.html +179 -179
  117. package/templates/docs/components.html +222 -222
  118. package/templates/docs/css/b.min.css +6 -6
  119. package/templates/docs/css/component.css +42 -42
  120. package/templates/docs/css/componentTest.css +6 -6
  121. package/templates/docs/css/hopscotch.css +585 -585
  122. package/templates/docs/css/markdown.css +202 -202
  123. package/templates/docs/css/style.css +1022 -1022
  124. package/templates/docs/impactReportTemplate.html +154 -154
  125. package/templates/docs/index.html +1502 -1502
  126. package/templates/docs/js/active-line.js +72 -72
  127. package/templates/docs/js/b.min.js +7 -7
  128. package/templates/docs/js/codemirror.js +9680 -9680
  129. package/templates/docs/js/designTokens.js +334 -334
  130. package/templates/docs/js/j.min.js +4 -4
  131. package/templates/docs/js/javascript.js +874 -874
  132. package/templates/docs/js/matchbrackets.js +145 -145
  133. package/result.json +0 -1
  134. package/unittest/index.html +0 -37
@@ -1,148 +1,148 @@
1
- <!DOCTYPE html>
2
- <html>
3
- <head>
4
- <meta http-equiv="Content-Type" content="text/html; charset=windows-1252" />
5
- <style>
6
- #file {
7
- font-family: 'Trebuchet MS', Arial, Helvetica, sans-serif;
8
- border-collapse: collapse;
9
- width: 100%;
10
- }
11
- #redTd {
12
- color: red;
13
- }
14
- #greenTD {
15
- color: green;
16
- }
17
- #file td,
18
- #file th {
19
- border: 1px solid #ddd;
20
- padding: 8px;
21
- text-align: center;
22
- }
23
-
24
- #file tr:nth-child(even) {
25
- background-color: #f2f2f2;
26
- }
27
-
28
- #file tr:hover {
29
- background-color: #ddd;
30
- }
31
-
32
- #file th {
33
- padding-top: 12px;
34
- padding-bottom: 12px;
35
- background-color: #2a2d36;
36
- color: white;
37
- }
38
- #sizeTable {
39
- float: left;
40
- width: 50%;
41
- }
42
- #hashTable {
43
- display: inline-block;
44
- width: 50%;
45
- }
46
- </style>
47
- <script type="text/javascript" src="./buildtrack.js"></script>
48
- </head>
49
- <body>
50
- <div>
51
- <div style="float: left;margin-right: 10px;">Branch Name:</div>
52
- <h4 id="h4" style="margin: 0px;"></h4>
53
- </div>
54
- <div id="sizeTable">
55
- <div>
56
- <h3>Size changes</h3>
57
- <h3></h3>
58
- </div>
59
- <table id="file" class="table table-bordered table-hover table-condensed">
60
- <thead>
61
- <tr>
62
- <th title="Field #1">Name</th>
63
- <th title="Field #2">Size / Diff</th>
64
- <th title="Field #3">Size / Old</th>
65
- <th title="Field #4">Size / New</th>
66
- </tr>
67
- </thead>
68
- <tbody id="sizeTbody"></tbody>
69
- </table>
70
- </div>
71
- <div id="hashTable">
72
- <div>
73
- <h3>Hash changes</h3>
74
- <h3></h3>
75
- </div>
76
- <table id="file" class="table table-bordered table-hover table-condensed">
77
- <thead>
78
- <tr>
79
- <th style="background-color: #4CAF50;" title="Field #1">Name</th>
80
- <th style="background-color: #4CAF50;" title="Field #2">
81
- Hash / Old
82
- </th>
83
- <th style="background-color: #4CAF50;" title="Field #3">
84
- Hash / New
85
- </th>
86
- </tr>
87
- </thead>
88
- <tbody id="hashTbody"></tbody>
89
- </table>
90
- </div>
91
-
92
- <script type="text/javascript">
93
- function load() {
94
- if (statsJson) {
95
- var tdStringSize = '';
96
- var tdStringHash = '';
97
- if (statsJson.increased.length > 0) {
98
- statsJson.increased.forEach(fileObj => {
99
- let colorTD = '</td><td>';
100
- if (fileObj.size.diff.split(' ').length > 2) {
101
- colorTD = '</td><td id="greenTd">';
102
- } else {
103
- colorTD = '</td><td id="redTd">';
104
- }
105
-
106
- tdStringSize =
107
- tdStringSize +
108
- '<tr><td>' +
109
- fileObj.name +
110
- colorTD +
111
- fileObj.size.diff +
112
- '</td><td>' +
113
- fileObj.size.old +
114
- '</td><td>' +
115
- fileObj.size.new +
116
- '</td><tr>';
117
- });
118
- } else {
119
- tdStringSize = '<tr><td></td><td></td><td></td></tr>';
120
- }
121
- document.getElementById('sizeTbody').innerHTML = tdStringSize;
122
- if (statsJson.hashChanged.length > 0) {
123
- statsJson.hashChanged.forEach(fileObj => {
124
- tdStringHash =
125
- tdStringHash +
126
- '<tr><td>' +
127
- fileObj.name +
128
- '</td><td>' +
129
- fileObj.hash.old +
130
- '</td><td>' +
131
- fileObj.hash.new +
132
- '</td><tr>';
133
- });
134
- } else {
135
- tdStringHash = '<tr><td></td><td></td><td></td></tr>';
136
- }
137
- document.getElementById('hashTbody').innerHTML = tdStringHash;
138
- if (statsJson.branchName) {
139
- document.getElementById('h4').innerHTML = statsJson.branchName;
140
- } else {
141
- document.getElementById('h4').innerHTML = 'Not specified';
142
- }
143
- }
144
- }
145
- load();
146
- </script>
147
- </body>
148
- </html>
1
+ <!DOCTYPE html>
2
+ <html>
3
+ <head>
4
+ <meta http-equiv="Content-Type" content="text/html; charset=windows-1252" />
5
+ <style>
6
+ #file {
7
+ font-family: 'Trebuchet MS', Arial, Helvetica, sans-serif;
8
+ border-collapse: collapse;
9
+ width: 100%;
10
+ }
11
+ #redTd {
12
+ color: red;
13
+ }
14
+ #greenTD {
15
+ color: green;
16
+ }
17
+ #file td,
18
+ #file th {
19
+ border: 1px solid #ddd;
20
+ padding: 8px;
21
+ text-align: center;
22
+ }
23
+
24
+ #file tr:nth-child(even) {
25
+ background-color: #f2f2f2;
26
+ }
27
+
28
+ #file tr:hover {
29
+ background-color: #ddd;
30
+ }
31
+
32
+ #file th {
33
+ padding-top: 12px;
34
+ padding-bottom: 12px;
35
+ background-color: #2a2d36;
36
+ color: white;
37
+ }
38
+ #sizeTable {
39
+ float: left;
40
+ width: 50%;
41
+ }
42
+ #hashTable {
43
+ display: inline-block;
44
+ width: 50%;
45
+ }
46
+ </style>
47
+ <script type="text/javascript" src="./buildtrack.js"></script>
48
+ </head>
49
+ <body>
50
+ <div>
51
+ <div style="float: left;margin-right: 10px;">Branch Name:</div>
52
+ <h4 id="h4" style="margin: 0px;"></h4>
53
+ </div>
54
+ <div id="sizeTable">
55
+ <div>
56
+ <h3>Size changes</h3>
57
+ <h3></h3>
58
+ </div>
59
+ <table id="file" class="table table-bordered table-hover table-condensed">
60
+ <thead>
61
+ <tr>
62
+ <th title="Field #1">Name</th>
63
+ <th title="Field #2">Size / Diff</th>
64
+ <th title="Field #3">Size / Old</th>
65
+ <th title="Field #4">Size / New</th>
66
+ </tr>
67
+ </thead>
68
+ <tbody id="sizeTbody"></tbody>
69
+ </table>
70
+ </div>
71
+ <div id="hashTable">
72
+ <div>
73
+ <h3>Hash changes</h3>
74
+ <h3></h3>
75
+ </div>
76
+ <table id="file" class="table table-bordered table-hover table-condensed">
77
+ <thead>
78
+ <tr>
79
+ <th style="background-color: #4CAF50;" title="Field #1">Name</th>
80
+ <th style="background-color: #4CAF50;" title="Field #2">
81
+ Hash / Old
82
+ </th>
83
+ <th style="background-color: #4CAF50;" title="Field #3">
84
+ Hash / New
85
+ </th>
86
+ </tr>
87
+ </thead>
88
+ <tbody id="hashTbody"></tbody>
89
+ </table>
90
+ </div>
91
+
92
+ <script type="text/javascript">
93
+ function load() {
94
+ if (statsJson) {
95
+ var tdStringSize = '';
96
+ var tdStringHash = '';
97
+ if (statsJson.increased.length > 0) {
98
+ statsJson.increased.forEach(fileObj => {
99
+ let colorTD = '</td><td>';
100
+ if (fileObj.size.diff.split(' ').length > 2) {
101
+ colorTD = '</td><td id="greenTd">';
102
+ } else {
103
+ colorTD = '</td><td id="redTd">';
104
+ }
105
+
106
+ tdStringSize =
107
+ tdStringSize +
108
+ '<tr><td>' +
109
+ fileObj.name +
110
+ colorTD +
111
+ fileObj.size.diff +
112
+ '</td><td>' +
113
+ fileObj.size.old +
114
+ '</td><td>' +
115
+ fileObj.size.new +
116
+ '</td><tr>';
117
+ });
118
+ } else {
119
+ tdStringSize = '<tr><td></td><td></td><td></td></tr>';
120
+ }
121
+ document.getElementById('sizeTbody').innerHTML = tdStringSize;
122
+ if (statsJson.hashChanged.length > 0) {
123
+ statsJson.hashChanged.forEach(fileObj => {
124
+ tdStringHash =
125
+ tdStringHash +
126
+ '<tr><td>' +
127
+ fileObj.name +
128
+ '</td><td>' +
129
+ fileObj.hash.old +
130
+ '</td><td>' +
131
+ fileObj.hash.new +
132
+ '</td><tr>';
133
+ });
134
+ } else {
135
+ tdStringHash = '<tr><td></td><td></td><td></td></tr>';
136
+ }
137
+ document.getElementById('hashTbody').innerHTML = tdStringHash;
138
+ if (statsJson.branchName) {
139
+ document.getElementById('h4').innerHTML = statsJson.branchName;
140
+ } else {
141
+ document.getElementById('h4').innerHTML = 'Not specified';
142
+ }
143
+ }
144
+ }
145
+ load();
146
+ </script>
147
+ </body>
148
+ </html>
@@ -54,19 +54,19 @@ var _default = (unique = true, {
54
54
  const cleanFileName = fileNameWithoutExt.replace(/-/g, '_').toLowerCase();
55
55
 
56
56
  const relativePath = _path.default.relative(context.rootContext, context.resourcePath);
57
- /*
58
- input :
59
- context.resourcePath : 'D:/MyWork/..../desk_client_app/supportapp/src/components/Avatar/Avatar.module.css,
60
-
61
- patterns.cssVariableReplacement:
62
- // include src folder, include deskapp folder, exclude node modules
63
- "cssUniqueness": [
64
- "src",
65
- "deskapp",
66
- "!node_modules"
67
- ]
68
- output :
69
- true or false
57
+ /*
58
+ input :
59
+ context.resourcePath : 'D:/MyWork/..../desk_client_app/supportapp/src/components/Avatar/Avatar.module.css,
60
+
61
+ patterns.cssVariableReplacement:
62
+ // include src folder, include deskapp folder, exclude node modules
63
+ "cssUniqueness": [
64
+ "src",
65
+ "deskapp",
66
+ "!node_modules"
67
+ ]
68
+ output :
69
+ true or false
70
70
  */
71
71
 
72
72
 
@@ -7,107 +7,110 @@ exports.deprecationSupport = deprecationSupport;
7
7
 
8
8
  var _path = _interopRequireDefault(require("path"));
9
9
 
10
- var _deprecationLogger = require("../deprecationLogger");
10
+ var deprecationHandlers = _interopRequireWildcard(require("../deprecationLogger"));
11
+
12
+ var _windowsModification = require("../loaderUtils/windowsModification");
13
+
14
+ function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
15
+
16
+ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
11
17
 
12
18
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
13
19
 
14
- // function selectn(obj, key) {
15
- // let temp = obj;
16
- // let keys = key.split('.');
17
- // for (let i = 0; i < keys.length; i++) {
18
- // const element = keys[i];
19
- // temp = temp && temp[element];
20
- // }
21
- // return temp;
22
- // }
23
- function deprecationSupport(options) {
24
- options.app.plugins = options.app.plugins || {
25
- valueReplacer: false,
26
- hasRTL: false,
27
- selectorReplace: false,
28
- hoverActive: false,
29
- combinerMediaQuery: false,
30
- cssVariableReplacement: false,
31
- selectorWeight: false,
32
- minifier: false,
33
- composeMinification: false
34
- };
35
- options.docs.plugins = options.docs.plugins || {
36
- valueReplacer: false,
37
- hasRTL: false,
38
- selectorReplace: false,
39
- hoverActive: false,
40
- combinerMediaQuery: false,
41
- cssVariableReplacement: false,
42
- selectorWeight: false,
43
- minifier: false,
44
- composeMinification: false
45
- };
46
- options.css.plugins = options.css.plugins || {
47
- valueReplacer: false,
48
- hasRTL: false,
49
- selectorReplace: false,
50
- hoverActive: false,
51
- combinerMediaQuery: false,
52
- cssVariableReplacement: false,
53
- selectorWeight: false,
54
- minifier: false,
55
- composeMinification: false
56
- }; // deprecationLoggerStart();
57
- // if (selectn(options, ".app.hasRTL") === true) {
20
+ let {
21
+ deprecateMessage,
22
+ deprecateOption,
23
+ deprecationLoggerEnd
24
+ } = deprecationHandlers;
25
+
26
+ function modifyCssArr(arr) {
27
+ return arr.map(x => {
28
+ const includeCss = !x.startsWith('!');
29
+ const modifier = includeCss ? '/*.css' : '';
30
+ const filePath = x.replace(/^!/, ''); // Remove the "!" symbol if present
31
+
32
+ return (0, _windowsModification.windowsModificationFile)(_path.default.join(includeCss ? '**' : '!**', filePath, '**', modifier));
33
+ });
34
+ }
35
+
36
+ const defaultPostCssPluginOptions = {
37
+ valueReplacer: null,
38
+ hasRTL: false,
39
+ selectorReplace: null,
40
+ hoverActive: false,
41
+ combinerMediaQuery: false,
42
+ cssVariableReplacement: false,
43
+ selectorWeight: false,
44
+ minifier: false,
45
+ composeMinification: false
46
+ };
47
+
48
+ function deprecationSupport(options, disableDeprecationWarning) {
49
+ if (disableDeprecationWarning) {
50
+ /* eslint-disable no-empty-function */
51
+ deprecateMessage = () => {};
52
+
53
+ deprecateOption = () => {};
54
+
55
+ deprecationLoggerEnd = () => {};
56
+ /* eslint-enable no-empty-function */
57
+
58
+ }
59
+
60
+ options.app.plugins = options.app.plugins || defaultPostCssPluginOptions;
61
+ options.docs.plugins = options.docs.plugins || defaultPostCssPluginOptions;
62
+ options.css.plugins = options.css.plugins || defaultPostCssPluginOptions; // if (selectn(options, ".app.hasRTL") === true) {
58
63
 
59
64
  if (options.app.hasRTL === true) {
60
- (0, _deprecationLogger.deprecateOption)('app.hasRTL', 'app.plugins.hasRTL');
65
+ deprecateOption('app.hasRTL', 'app.plugins.hasRTL');
61
66
  options.app.plugins.hasRTL = true;
62
67
  }
63
68
 
64
69
  if (options.docs.hasRTL === true) {
65
- (0, _deprecationLogger.deprecateOption)('docs.hasRTL', 'docs.plugins.hasRTL');
70
+ deprecateOption('docs.hasRTL', 'docs.plugins.hasRTL');
66
71
  options.docs.plugins.hasRTL = true;
67
72
  }
68
73
 
69
- if (options.app.rtlExclude.length > 0) {
70
- (0, _deprecationLogger.deprecateOption)('app.rtlExclude', 'app.exclude.rtl');
71
- options.app.exclude.rtl = options.app.rtlExclude;
72
- }
73
-
74
- if (options.docs.rtlExclude.length > 0) {
75
- (0, _deprecationLogger.deprecateOption)('docs.rtlExclude', 'docs.exclude.rtl');
76
- options.docs.exclude.rtl = options.docs.rtlExclude;
77
- }
78
-
79
- if (options.app.selectorReplace !== null) {
80
- (0, _deprecationLogger.deprecateMessage)('when you use app.selectorReplace mention enable or disable app.plugins.selectorReplace by setting value to true or false');
74
+ if (options.app.selectorReplace !== null && options.app.plugins && (options.app.plugins.selectorReplace === null || options.app.plugins.selectorReplace === undefined)) {
75
+ deprecateMessage('when you use app.selectorReplace mention enable or disable app.plugins.selectorReplace by setting value to true or false');
81
76
  options.app.plugins.selectorReplace = true;
82
77
  }
83
78
 
84
- if (options.docs.selectorReplace !== null) {
85
- (0, _deprecationLogger.deprecateMessage)('when you use app.selectorReplace mention enable or disable app.plugins.selectorReplace by setting value to true or false');
79
+ if (options.docs.selectorReplace !== null && options.docs.plugins && (options.docs.plugins.selectorReplace === null || options.docs.plugins.selectorReplace === undefined)) {
80
+ deprecateMessage('when you use docs.selectorReplace mention enable or disable docs.plugins.selectorReplace by setting value to true or false');
86
81
  options.docs.plugins.selectorReplace = true;
87
82
  }
88
83
 
89
- if (options.css.valueReplacer !== null) {
90
- (0, _deprecationLogger.deprecateMessage)('when you use app.valueReplacer mention enable or disable app.plugins.valueReplacer by setting value to true or false');
84
+ if (options.css.valueReplacer !== null && options.css.plugins && (options.app.plugins.valueReplacer === null || options.app.plugins.valueReplacer === undefined)) {
85
+ deprecateMessage('when you use app.valueReplacer mention enable or disable app.plugins.valueReplacer by setting value to true or false');
91
86
  options.app.plugins.valueReplacer = true;
92
87
  }
93
88
 
94
- if (options.app.exclude && options.app.exclude.hasRTL && options.app.exclude.rtl && options.app.exclude.hasRTL.length === 0 && options.app.exclude.rtl.length > 0) {
95
- (0, _deprecationLogger.deprecateOption)('app.hasRTL', 'app.plugins.hasRTL');
96
- options.app.exclude.hasRTL = options.app.exclude.rtl;
97
- }
98
-
99
- if (options.docs.exclude && options.docs.exclude.hasRTL && options.docs.exclude.rtl && options.docs.exclude.hasRTL.length === 0 && options.docs.exclude.rtl.length > 0) {
100
- (0, _deprecationLogger.deprecateOption)('docs.hasRTL', 'docs.plugins.hasRTL');
101
- options.docs.exclude.hasRTL = options.docs.exclude.rtl;
102
- }
103
-
104
89
  if (!options.app.patterns) {
105
90
  options.app.patterns = {};
106
91
  }
107
92
 
108
- function addExcludesToPattern(patterns, exclude) {
109
- Object.keys(patterns).forEach(key => {
93
+ function handleRTL(rtlExclude, rtl, hasRTL, type) {
94
+ if (rtlExclude && rtlExclude.length > 0) {
95
+ options[type].patterns.hasRTL = modifyCssArr(rtlExclude);
96
+ deprecateOption(`${type}.rtlExclude`, `${type}.patterns.hasRTL`);
97
+ }
98
+
99
+ if (rtl && rtl.length > 0) {
100
+ options[type].patterns.hasRTL = modifyCssArr(rtl);
101
+ deprecateOption(`${type}.exclude.rtl`, `${type}.patterns.hasRTL`);
102
+ }
103
+
104
+ if (hasRTL && hasRTL.length > 0) {
105
+ options[type].patterns.hasRTL = modifyCssArr(hasRTL);
106
+ deprecateOption(`${type}.exclude.hasRTL`, `${type}.patterns.hasRTL`);
107
+ }
108
+ }
109
+
110
+ function addExcludesToPattern(patterns, exclude, type) {
111
+ Object.keys(defaultPostCssPluginOptions).forEach(key => {
110
112
  if (exclude[key] && patterns[key].length === 0) {
113
+ deprecateOption(`${type}.exclude.${key}`, `${type}.patterns.${key}`);
111
114
  let tempArr = exclude[key];
112
115
  tempArr = tempArr.map(x => _path.default.join('!**', x, '**')); // Since patterns[key] is empty we need to wildcard for allow all others.
113
116
 
@@ -117,7 +120,9 @@ function deprecationSupport(options) {
117
120
  });
118
121
  }
119
122
 
120
- addExcludesToPattern(options.app.patterns, options.app.exclude);
121
- addExcludesToPattern(options.docs.patterns, options.docs.exclude);
122
- (0, _deprecationLogger.deprecationLoggerEnd)();
123
+ handleRTL(options.app.rtlExclude, options.app.exclude.rtl, options.app.exclude.hasRTL, 'app');
124
+ handleRTL(options.docs.rtlExclude, options.docs.exclude.rtl, options.docs.exclude.hasRTL, 'docs');
125
+ addExcludesToPattern(options.app.patterns, options.app.exclude, 'app');
126
+ addExcludesToPattern(options.docs.patterns, options.docs.exclude, 'docs');
127
+ deprecationLoggerEnd();
123
128
  }
@@ -142,7 +142,7 @@ const getOptionsFromConfigFile = (appPath, configFileName) => {
142
142
  return null;
143
143
  };
144
144
 
145
- const getOptions = () => {
145
+ const getOptions = fromRoot => {
146
146
  if (global.reactCLIOptions) {
147
147
  return global.reactCLIOptions;
148
148
  }
@@ -160,7 +160,7 @@ const getOptions = () => {
160
160
 
161
161
  options.npmVersion = getNpmVersion();
162
162
  options.cwd = getCWD();
163
- (0, _deprecationSupport.deprecationSupport)(options);
163
+ (0, _deprecationSupport.deprecationSupport)(options, options.disableDeprecationWarning || !fromRoot);
164
164
  options.packageVersion = process.env.npm_package_version;
165
165
  global.reactCLIOptions = options;
166
166
  return options;
@@ -4,11 +4,11 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  var _exportNames = {
7
- log: true,
8
7
  writeFile: true,
9
8
  makeDir: true,
10
9
  getInfoFromPublicPaths: true,
11
10
  getLibraryConflict: true,
11
+ log: true,
12
12
  getOptions: true,
13
13
  createEventStream: true,
14
14
  getServerURL: true,
@@ -64,7 +64,13 @@ Object.defineProperty(exports, "jsonHelper", {
64
64
  return _jsonHelper.default;
65
65
  }
66
66
  });
67
- exports.makeDir = exports.log = void 0;
67
+ Object.defineProperty(exports, "log", {
68
+ enumerable: true,
69
+ get: function () {
70
+ return _log.log;
71
+ }
72
+ });
73
+ exports.makeDir = void 0;
68
74
  Object.defineProperty(exports, "pullOrigin", {
69
75
  enumerable: true,
70
76
  get: function () {
@@ -95,6 +101,8 @@ var _stream = require("stream");
95
101
 
96
102
  var _fs = _interopRequireDefault(require("fs"));
97
103
 
104
+ var _log = require("./log");
105
+
98
106
  var _getOptions = _interopRequireDefault(require("./getOptions"));
99
107
 
100
108
  var _createEventStream = _interopRequireDefault(require("./createEventStream"));
@@ -161,13 +169,7 @@ var _ssTestHack = _interopRequireDefault(require("./ssTestHack"));
161
169
 
162
170
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
163
171
 
164
- let log = (...info) => {
165
- let print = console;
166
- print.log(...info);
167
- };
168
-
169
- exports.log = log;
170
-
172
+ // eslint-disable-next-line no-duplicate-imports
171
173
  let writeFile = (outputPath, src, isPath = false) => new Promise((resolve, reject) => {
172
174
  let inStr;
173
175
 
@@ -314,9 +316,9 @@ let getLibraryConflict = (moduleObject, impactObj, changesOnly) => {
314
316
  whichLibrary = "No component file changes!";
315
317
  }
316
318
 
317
- log('\n');
318
- log('You can see the HTML out at coverageTest/impactLibrary.html!');
319
- log('\x1b[33m%s\x1b[0m', '************************************************************ \n ');
319
+ (0, _log.log)('\n');
320
+ (0, _log.log)('You can see the HTML out at coverageTest/impactLibrary.html!');
321
+ (0, _log.log)('\x1b[33m%s\x1b[0m', '************************************************************ \n ');
320
322
  return {
321
323
  response: allImpactArray,
322
324
  result: {
@@ -11,7 +11,7 @@ var _path = _interopRequireDefault(require("path"));
11
11
 
12
12
  var _child_process = require("child_process");
13
13
 
14
- var _index = require("./index");
14
+ var _log = require("./log");
15
15
 
16
16
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
17
17
 
@@ -38,7 +38,7 @@ let copyEslintConfig = rootDir => {
38
38
 
39
39
  _fs.default.writeFileSync(targetPath, src);
40
40
 
41
- (0, _index.log)('Eslint config added in project root path');
41
+ (0, _log.log)('Eslint config added in project root path');
42
42
  }
43
43
  };
44
44
 
@@ -58,7 +58,7 @@ let initPreCommitHook = (forReactCLI = false) => {
58
58
 
59
59
  _fs.default.writeFileSync(targetPath, precommit);
60
60
 
61
- (0, _index.log)('pre-commit hook added');
61
+ (0, _log.log)('pre-commit hook added');
62
62
  }
63
63
 
64
64
  let packagePath = _path.default.join(process.cwd(), 'package.json');
@@ -71,10 +71,10 @@ let initPreCommitHook = (forReactCLI = false) => {
71
71
 
72
72
  _fs.default.writeFileSync(packagePath, JSON.stringify(packageJson, null, 2));
73
73
 
74
- (0, _index.log)('lint script added in your package.json');
74
+ (0, _log.log)('lint script added in your package.json');
75
75
  }
76
76
  } catch (e) {
77
- (0, _index.log)('package.json not found');
77
+ (0, _log.log)('package.json not found');
78
78
  }
79
79
  }
80
80
  };
@@ -0,0 +1,11 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.log = log;
7
+
8
+ function log(...info) {
9
+ let print = console;
10
+ print.log(...info);
11
+ }