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

Sign up to get free protection for your applications and to get access to all the features.
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
@@ -9,6 +9,8 @@ var _postcss = _interopRequireDefault(require("postcss"));
9
9
 
10
10
  var _ErrorHandler = require("../postcss-plugins/variableModificationPlugin/ErrorHandler");
11
11
 
12
+ var _fileHandling = require("./utils/fileHandling");
13
+
12
14
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
13
15
 
14
16
  // import { RawSource } from 'webpack-sources';
@@ -26,15 +28,15 @@ const {
26
28
  const supportedProps = ['font-size', 'margin', 'margin-top', 'margin-bottom', 'margin-left', 'margin-right', 'padding', 'padding-top', 'padding-bottom', 'padding-left', 'padding-right', '^top', '^right', '^bottom', '^left', '^width', 'min-width', 'max-width', '^height', 'min-height', 'max-height', 'text-indent', 'clip', 'flex-basis', 'row-gap', 'gap', 'column-gap', 'flex']; // const avoidProps = [];
27
29
  // -- is issue IO --
28
30
 
29
- /*
30
- issues eg :
31
- issues = ['--zd_size', '--zd_font_size', '--size', '--size_'];
32
- input :
33
- --zd_size
34
- output :
35
- true
36
- comment :
37
- do not execute when --zd_size comes as prop
31
+ /*
32
+ issues eg :
33
+ issues = ['--zd_size', '--zd_font_size', '--size', '--size_'];
34
+ input :
35
+ --zd_size
36
+ output :
37
+ true
38
+ comment :
39
+ do not execute when --zd_size comes as prop
38
40
  */
39
41
 
40
42
  function isIgnoreValuePresent(ignoreVals, prop) {
@@ -47,14 +49,14 @@ function isIgnoreValuePresent(ignoreVals, prop) {
47
49
  return present;
48
50
  } // -- to convert the hyphen values to values --
49
51
 
50
- /*
51
- input :
52
- var(--zdt_uploadlist_default_width)
53
- output :
54
- --zdt_uploadlist_default_width
55
-
56
- comment :
57
- to make the variable object using the output as key and decl.prop such as font-size as value
52
+ /*
53
+ input :
54
+ var(--zdt_uploadlist_default_width)
55
+ output :
56
+ --zdt_uploadlist_default_width
57
+
58
+ comment :
59
+ to make the variable object using the output as key and decl.prop such as font-size as value
58
60
  */
59
61
 
60
62
 
@@ -62,7 +64,7 @@ function extractVariableName(val) {
62
64
  return val.replace(/calc\((.+)\)/gi, '$1').replace(/var\((.+)\)/gi, '$1').replace('-1', '').replace('*', '').replace('\n', '').trim();
63
65
  }
64
66
 
65
- function rootConvertor(rootOriginal, variables, settingsObject) {
67
+ function variableConvertor(rootOriginal, variables, settingsObject) {
66
68
  rootOriginal.walkRules(rule => {
67
69
  rule.nodes.forEach((decl, index) => {
68
70
  const prevNode = rule.nodes[index - 1];
@@ -118,10 +120,13 @@ class VariableConversionCollector {
118
120
  constructor(options = {}) {
119
121
  this.optimize = options.optimize;
120
122
  this.filename = options.cssVariableReplacementConfig;
121
- this.fileHandler();
123
+ this.patterns = options.patterns;
124
+ this.rootDir = options.patternsRootDir; // console.log(options.patterns, this.patterns);
125
+
126
+ this.initializeFiles();
122
127
  }
123
128
 
124
- fileHandler() {
129
+ initializeFiles() {
125
130
  createFolderIfNonExistant('./.cli/logs/');
126
131
  createFolderIfNonExistant('./.cli/config/variables/');
127
132
  createFolderIfNonExistant('./.cli/config/selectorWeight/');
@@ -131,7 +136,8 @@ class VariableConversionCollector {
131
136
 
132
137
  apply(compiler) {
133
138
  const variables = {};
134
- const unassigned = {};
139
+ const unassigned = {}; // console.log(windowsModification([this.filename])[0]);
140
+
135
141
  const rawdata = fs.readFileSync(this.filename);
136
142
  const data = JSON.parse(rawdata);
137
143
  const {
@@ -154,13 +160,13 @@ class VariableConversionCollector {
154
160
  }
155
161
  };
156
162
  }
157
- /*
158
- purpose of tap : to create a variable object such as:
159
- {
160
- --zdt_uploadlist_default_width : width,
161
- --zdt_uploadlist_default_height : height,
162
- }
163
- which will help in the conversion further
163
+ /*
164
+ purpose of tap : to create a variable object such as:
165
+ {
166
+ --zdt_uploadlist_default_width : width,
167
+ --zdt_uploadlist_default_height : height,
168
+ }
169
+ which will help in the conversion further
164
170
  */
165
171
 
166
172
 
@@ -190,9 +196,6 @@ class VariableConversionCollector {
190
196
  variables[extractedValue] = decl.prop;
191
197
  } else {
192
198
  if (new RegExp(supportedProps.join('|'), 'gi').test(decl.prop)) {
193
- // console.log(
194
- // `${extractedValue} : ${variables[extractedValue]} already exists please check!`
195
- // );
196
199
  if (errorsAllowed.MULTIPLE_OCCURANCES) {
197
200
  const errObj = {
198
201
  decl,
@@ -206,7 +209,6 @@ class VariableConversionCollector {
206
209
  }
207
210
  }
208
211
  } else {
209
- // console.log(decl.prop);
210
212
  if (/^--/gi.test(decl.prop) && val.trim() !== '' && !variables[decl.prop]) {
211
213
  if (!Object.keys(variablesRead.ignore).includes(decl.prop)) {
212
214
  unassigned[decl.prop] = variables[decl.prop];
@@ -216,19 +218,19 @@ class VariableConversionCollector {
216
218
  });
217
219
  });
218
220
  });
219
- /*
220
- current value example:
221
- {
222
- --zdt_uploadlist_default_width : --zd_upload_width,
223
- --zd_upload_width : width
224
- }
225
- expected value :
226
- {
227
- --zdt_uploadlist_default_width : width,
228
- --zd_upload_width : width
229
- }
230
-
231
- conversion is done in the while loop below
221
+ /*
222
+ current value example:
223
+ {
224
+ --zdt_uploadlist_default_width : --zd_upload_width,
225
+ --zd_upload_width : width
226
+ }
227
+ expected value :
228
+ {
229
+ --zdt_uploadlist_default_width : width,
230
+ --zd_upload_width : width
231
+ }
232
+
233
+ conversion is done in the while loop below
232
234
  */
233
235
 
234
236
  Object.keys(variables).forEach(key => {
@@ -238,36 +240,62 @@ class VariableConversionCollector {
238
240
  });
239
241
  }
240
242
  });
241
- }); // -- conversion for the root using rootConvertor --
242
-
243
- /*
244
- input :
245
- .a{
246
- padding : 20px
247
- }
248
- output :
249
- // on settingObject file :
250
- { padding : { replacements : { px : 'zd_size$$' }}}
251
- .a{
252
- padding : zd_size20;
253
- }
243
+ }); // -- conversion for the root using variableConvertor --
244
+
245
+ /*
246
+ input :
247
+ .a{
248
+ padding : 20px
249
+ }
250
+ output :
251
+ // on settingObject file :
252
+ { padding : { replacements : { px : 'zd_size$$' }}}
253
+ .a{
254
+ padding : zd_size20;
255
+ }
254
256
  */
255
257
 
256
258
  compilation.hooks.optimizeModules.tap('VariableConversionCollector', modules => {
257
259
  const mods = modules.filter(x => x.type.includes('css'));
258
260
  mods.forEach(module => {
261
+ const filename = module.issuer.resource;
262
+ /*
263
+ input :
264
+ filename : 'D:/MyWork/..../desk_client_app/supportapp/src/components/Avatar/Avatar.module.css,
265
+
266
+ patterns.cssVariableReplacement:
267
+ // include src folder, include deskapp folder, exclude node modules
268
+ "cssVariableReplacement": [
269
+ "src",
270
+ "deskapp",
271
+ "!node_modules"
272
+ ]
273
+ rootDir : patternsRootDir : 'supportapp'
274
+
275
+ output :
276
+ true or false
277
+ */
278
+
279
+ if (!(0, _fileHandling.isFileNameMatchingPluginPattern)({
280
+ filename,
281
+ filterArr: this.patterns.cssVariableReplacement,
282
+ rootDir: this.rootDir
283
+ })) {
284
+ return;
285
+ }
286
+
259
287
  const rootOriginal = _postcss.default.parse(module.content);
260
288
 
261
- module.content = rootConvertor(rootOriginal, variables, settingsObject).toString();
289
+ module.content = variableConvertor(rootOriginal, variables, settingsObject).toString();
262
290
  });
263
291
  });
264
292
  });
265
- /*
266
- purpose of tap : to display the errors encountered so far
267
- input :
268
- all css files
269
- output :
270
- all errors that are present in the errTable arr
293
+ /*
294
+ purpose of tap : to display the errors encountered so far
295
+ input :
296
+ all css files
297
+ output :
298
+ all errors that are present in the errTable arr
271
299
  */
272
300
 
273
301
  compiler.hooks.afterEmit.tap('error-display', () => {
@@ -292,29 +320,7 @@ class VariableConversionCollector {
292
320
  if (a.type < b.type) {
293
321
  return -1;
294
322
  }
295
- }); // variable constructed now to be written in a json file
296
- // const newVars = Object.keys(variables)
297
- // //Filter Object with key contanis "NAME"
298
- // .filter(key => variables[key].includes('--'))
299
- // .reduce(
300
- // (obj, key) =>
301
- // Object.assign(obj, {
302
- // [key]: variables[key]
303
- // }),
304
- // {}
305
- // );
306
- // console.log('new variables: ', newVars);
307
- // try {
308
- // fs.writeFileSync('./variableMapping.json', JSON.stringify(variables));
309
- // } catch (err) {
310
- // console.log(err);
311
- // }
312
- // fs.writeFile('./variableMapping.json', JSON.stringify(variables), err => {
313
- // if (err) {
314
- // throw err;
315
- // }
316
- // console.log('variable mapping file generated.');
317
- // });
323
+ });
318
324
 
319
325
  if (errorConsoleStatus) {
320
326
  const errorHandler = new _ErrorHandler.ErrorHandler();
@@ -33,6 +33,12 @@ Object.defineProperty(exports, "ManifestPlugin", {
33
33
  return _ManifestPlugin.default;
34
34
  }
35
35
  });
36
+ Object.defineProperty(exports, "MinifyPlugin", {
37
+ enumerable: true,
38
+ get: function () {
39
+ return _MinifyPlugin.default;
40
+ }
41
+ });
36
42
  Object.defineProperty(exports, "ModuleStatsPlugin", {
37
43
  enumerable: true,
38
44
  get: function () {
@@ -99,12 +105,6 @@ Object.defineProperty(exports, "TPHashMappingPlugin", {
99
105
  return _TPHashMappingPlugin.default;
100
106
  }
101
107
  });
102
- Object.defineProperty(exports, "UglifyCSSPlugin", {
103
- enumerable: true,
104
- get: function () {
105
- return _UglifyCSSPlugin.default;
106
- }
107
- });
108
108
  Object.defineProperty(exports, "UnusedFilesFindPlugin", {
109
109
  enumerable: true,
110
110
  get: function () {
@@ -126,7 +126,7 @@ var _OptimizeJSPlugin = _interopRequireDefault(require("./OptimizeJSPlugin"));
126
126
 
127
127
  var _ResourceHintsPlugin = _interopRequireDefault(require("./ResourceHintsPlugin"));
128
128
 
129
- var _UglifyCSSPlugin = _interopRequireDefault(require("./UglifyCSSPlugin"));
129
+ var _MinifyPlugin = _interopRequireDefault(require("./MinifyPlugin"));
130
130
 
131
131
  var _ManifestPlugin = _interopRequireDefault(require("./ManifestPlugin"));
132
132
 
@@ -0,0 +1,20 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.hasPrevNodeIgnore = hasPrevNodeIgnore;
7
+ exports.isAtRule = isAtRule;
8
+ exports.isInsideMediaQuery = isInsideMediaQuery;
9
+
10
+ function hasPrevNodeIgnore(index, prevNode, ignoreComment) {
11
+ return index !== 0 && prevNode && prevNode.type && prevNode.type === 'comment' && prevNode.text.toLowerCase() === ignoreComment;
12
+ }
13
+
14
+ function isAtRule(rule) {
15
+ return rule.parent && rule.parent.type === 'atrule';
16
+ }
17
+
18
+ function isInsideMediaQuery(rule) {
19
+ return isAtRule(rule) && rule.parent && rule.parent.name === 'media' ? true : false;
20
+ }
@@ -0,0 +1,107 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.isFileNameMatchingPattern = isFileNameMatchingPattern;
7
+ exports.isFileNameMatchingPluginPattern = isFileNameMatchingPluginPattern;
8
+
9
+ var _windowsModification = require("../../loaderUtils/windowsModification");
10
+
11
+ var _ignore = _interopRequireDefault(require("ignore"));
12
+
13
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
14
+
15
+ const path = require('path');
16
+
17
+ let aliasNames = {
18
+ valueReplacer: 'postcss-value-replacer',
19
+ selectorReplace: 'postcss-selector-replace-new',
20
+ hasRTL: 'postcss-rtl',
21
+ combinerMediaQuery: 'postcss-combine-media-query',
22
+ hoverActive: 'postcss-mobile-hover',
23
+ cssVariableReplacement: 'postcss-variable-report',
24
+ composeMinification: 'postcss-compose-plugin'
25
+ };
26
+ /*
27
+
28
+ unique scenario
29
+
30
+ */
31
+ // export function filterFileCssUniqueness(filename, filterObj) {
32
+ // let rootDir = 'supportapp';
33
+ // let include = false;
34
+ // const regex = `^(.+?)${rootDir}?\\\\`;
35
+ // const newFilename = windowsModificationFile(filename).replace(
36
+ // new RegExp(regex, 'gi'),
37
+ // ''
38
+ // );
39
+ // Object.keys(filterObj).forEach(key => {
40
+ // const ig = ignore().add(filterObj[key]);
41
+ // if (ig.ignores(newFilename)) {
42
+ // include = true;
43
+ // }
44
+ // });
45
+ // return include;
46
+ // }
47
+
48
+ function isFileNameMatchingPattern({
49
+ filename,
50
+ filterObject,
51
+ plugins,
52
+ rootDir
53
+ }) {
54
+ const finalPlugins = []; // console.log(rootDir);
55
+ // const regex = `^(.+?)${rootDir}?\\\\`;
56
+
57
+ const newFilename = path.relative(rootDir, filename); //windowsModificationFile(filename).replace(
58
+ // new RegExp(regex, 'gi'),
59
+ // ''
60
+ // );
61
+ // path.relative('supportapp', 'd:\')
62
+
63
+ Object.keys(filterObject).forEach(key => {
64
+ plugins.forEach(x => {
65
+ // console.log(key, x.postcssPlugin);
66
+ if (aliasNames[key] === x.postcssPlugin) {
67
+ const ig = (0, _ignore.default)({
68
+ allowRelativePaths: true
69
+ }).add(filterObject[key]);
70
+
71
+ if (ig.ignores(newFilename)) {
72
+ // console.log(newFilename);
73
+ finalPlugins.push(x);
74
+ }
75
+ }
76
+ });
77
+ }); // console.log(filename);
78
+ // console.log(finalPlugins);
79
+ // console.log('----------------------------------------------------------------------')
80
+
81
+ return finalPlugins; // console.log(filename, filterObject);
82
+ }
83
+
84
+ function isFileNameMatchingPluginPattern({
85
+ filename,
86
+ filterArr,
87
+ rootDir
88
+ }) {
89
+ let include = true; // console.log(rootDir);
90
+ // const regex = `^(.+?)${rootDir}?\\\\`;
91
+ // console.log(plugin);
92
+
93
+ const newFilename = path.relative(rootDir, filename); // const newFilename = windowsModificationFile(filename).replace(
94
+ // new RegExp(regex, 'gi'),
95
+ // ''
96
+ // );
97
+
98
+ const ig = (0, _ignore.default)({
99
+ allowRelativePaths: true
100
+ }).add(filterArr);
101
+
102
+ if (!ig.ignores(newFilename)) {
103
+ include = false;
104
+ }
105
+
106
+ return include;
107
+ }
@@ -0,0 +1,30 @@
1
+ "use strict";
2
+
3
+ const ignore = require('ignore');
4
+
5
+ const ignoreArr1 = ['src', '!src\\components', 'src\\Accessibility'];
6
+ const ignoreArr2 = ['src\\', '!node_modules\\'];
7
+ const ignoreArr3 = ['*'];
8
+
9
+ const {
10
+ windowsModificationFile
11
+ } = require('../../../../lib/loaderUtils/windowsModification');
12
+
13
+ const files = ['D:\\MyWork\\React Build\\desk_client_app\\jsapps\\supportapp\\src\\components\\Accessibility\\Accessibility.module.css', 'D:\\MyWork\\React Build\\desk_client_app\\jsapps\\supportapp\\src\\components\\Avatar\\Avatar.module.css', 'D:/MyWork/React Build/desk_client_app/jsapps/supportapp/src/components/Accessibility/Accessibility.module.css', 'D:/MyWork/React Build/desk_client_app/jsapps/supportapp/src/components/Accessibility/AccessibilityNavigation.module.css', 'desk_client_app\\jsapps\\supportapp\\src\\components\\Test.module.css', 'desk_client_app\\jsapps\\supportapp\\src\\components\\Accessibility\\Accessibility.module.css', 'desk_client_app/jsapps/supportapp/src/components/Accessibility/Accessibility.module.css', 'src\\components\\Accessibility\\Accessibility.module.css', 'src/components/Accessibility/Accessibility.module.css', 'Accessibility.module.css', ''];
14
+ const ignore1 = ignore().add(ignoreArr1);
15
+ const ignore2 = ignore().add(ignoreArr2);
16
+ const ignore3 = ignore().add(ignoreArr3);
17
+ files.forEach(file => {
18
+ // console.log(file);
19
+ const rootDir = 'supportapp';
20
+ const regex = `^(.+?)${rootDir}?\\\\`;
21
+ const newFilename = windowsModificationFile(file).replace(new RegExp(regex, 'gi'), '');
22
+ console.log(newFilename);
23
+
24
+ if (newFilename.trim() !== '') {
25
+ console.log(ignore1.ignores(newFilename));
26
+ console.log(ignore2.ignores(newFilename));
27
+ console.log(ignore3.ignores(newFilename));
28
+ console.log('--------------------------------------------------------------------');
29
+ }
30
+ });
@@ -0,0 +1,8 @@
1
+ "use strict";
2
+
3
+ var _postcss = _interopRequireDefault(require("postcss"));
4
+
5
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
6
+
7
+ module.exports = _postcss.default.plugin('postcss-empty', () => (root, result) => {// console.log(root.source.input.from, result);
8
+ });
@@ -10,7 +10,7 @@ module.exports = _postcss.default.plugin('postcss-exclude-files', opts => {
10
10
  } = opts;
11
11
  return (root, result) => {
12
12
  const inputFile = root.source.input.file;
13
- let isIgnoredFile = opts.ignore.some(file => inputFile.indexOf(file) !== -1);
13
+ const isIgnoredFile = opts.ignore.some(file => inputFile.indexOf(file) !== -1);
14
14
 
15
15
  if (!isIgnoredFile) {
16
16
  const handler = response => response.messages.forEach(msg => result.messages.push(msg));
@@ -13,7 +13,6 @@ module.exports = _postcss.default.plugin('postcss-include-files', opts => {
13
13
  const includeFile = opts.include.some(file => inputFile.indexOf(file) !== -1);
14
14
 
15
15
  if (includeFile) {
16
- // console.log(inputFile);
17
16
  const handler = response => response.messages.forEach(msg => result.messages.push(msg));
18
17
 
19
18
  return (0, _postcss.default)(plugins).process(root, {
@@ -18,7 +18,6 @@ const oppositeDir = {
18
18
  };
19
19
 
20
20
  function compareSelector(selector1, selector2) {
21
- // console.log({ selector1, selector2 }, selector1 === selector2);
22
21
  return selector1 === selector2;
23
22
  }
24
23
 
@@ -38,11 +37,11 @@ function selectorMinifySameDir(selector, direction) {
38
37
  const regex = getRegex(direction);
39
38
  return selector.replace(regex, '').trim();
40
39
  }
41
- /**
42
- * this funtion will remove given rule,
43
- * if given selector and it's previous sibiling rule selector are same
44
- * current rule properties will move to previous sibiling rule.
45
- * @param {Rule} rule current rule
40
+ /**
41
+ * this funtion will remove given rule,
42
+ * if given selector and it's previous sibiling rule selector are same
43
+ * current rule properties will move to previous sibiling rule.
44
+ * @param {Rule} rule current rule
46
45
  */
47
46
 
48
47
 
@@ -57,16 +56,15 @@ function mergeIfSameSelector(rule) {
57
56
  rule.remove();
58
57
  }
59
58
  }
60
- /**
61
- * this funtion will remove given rule,
62
- * if given selector and it's previous sibiling rule selector are same
63
- * current rule properties will move to previous sibiling rule.
64
- * @param {Rule} rule current rule
59
+ /**
60
+ * this funtion will remove given rule,
61
+ * if given selector and it's previous sibiling rule selector are same
62
+ * current rule properties will move to previous sibiling rule.
63
+ * @param {Rule} rule current rule
65
64
  */
66
65
 
67
66
 
68
67
  function removeIfOppsiteDirRule(rule, direction, rootOptions) {
69
- // console.log({ rule, type: rule.type });
70
68
  const selectors = rule.selector.split(/\s*,\s*/); // NOTE: if we use opposite dir selector as custom override reason,
71
69
  // and compain normal selector with it, In this case
72
70
  // we just a have to remove that selector only not full rule
@@ -87,11 +85,10 @@ function removeIfOppsiteDirRule(rule, direction, rootOptions) {
87
85
  }
88
86
 
89
87
  function removeIfOppsiteDirKeyframe(rule, direction) {
90
- let name = rule.params;
91
- let keyFrameDirName = name.slice(name.lastIndexOf('-') + 1);
88
+ const name = rule.params;
89
+ const keyFrameDirName = name.slice(name.lastIndexOf('-') + 1);
92
90
 
93
91
  if (keyFrameDirName === oppositeDir[direction]) {
94
- // console.log({ m: 'removed', keyFrameName: rule.params });
95
92
  rule.remove();
96
93
  }
97
94
  }
@@ -109,12 +106,10 @@ function separateSingleDir(root, direction, rootOptions) {
109
106
 
110
107
  function separateRtlAndLtr(css, rootOptions) {
111
108
  // let processor = postcss([]).process(css);
112
- let root = postcss.parse(css); // let { root } = processor;
113
- // console.log(processor, root);
109
+ const root = postcss.parse(css); // let { root } = processor;
114
110
  // NOTE: I did first rtl then ltr , Because for ltr I use original root ref
115
111
 
116
- const rtlRoot = separateSingleDir(root.clone(), 'rtl', rootOptions); // console.log('############################');
117
-
112
+ const rtlRoot = separateSingleDir(root.clone(), 'rtl', rootOptions);
118
113
  const ltrRoot = separateSingleDir(root, 'ltr', rootOptions);
119
114
  return {
120
115
  ltrRoot,
@@ -132,7 +127,6 @@ function separateRtlAndLtr(css, rootOptions) {
132
127
  // // root.append(postcss.comment({ text: 'comment' }));
133
128
  // root.append(postcss.comment({ text: 'this is spliting part ' }));
134
129
  // root.append(rtlRoot);
135
- // //console.log({root, roots:root+""}, root+"")
136
130
  // // Transform CSS AST here
137
131
  // }
138
132
  // );
@@ -18,7 +18,7 @@ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { de
18
18
  // }
19
19
  // };
20
20
  // });
21
- // export default
21
+ // export default
22
22
  module.exports = _postcss.default.plugin('postcss-value-replacer', (valueReplacer = {}) => // Work with options here
23
23
  root => {
24
24
  root.walkDecls(decl => {
@@ -31,16 +31,5 @@ root => {
31
31
  }
32
32
  }); //console.log({root, roots:root+""}, root+"")
33
33
  // Transform CSS AST here
34
- }); // root.walkDecls(decl => {
35
- // valueReplacer.forEach(obj => {
36
- // if (
37
- // obj.props.indexOf(decl.prop) !== -1 &&
38
- // obj.values[decl.value] !== undefined
39
- // ) {
40
- // decl.value = obj.values[decl.value];
41
- // }
42
- // });
43
- // //console.log({root, roots:root+""}, root+"")
44
- // // Transform CSS AST here
45
- // });
34
+ });
46
35
  });