@zohodesk/react-cli 1.0.0 → 1.0.1-exp.1

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 (116) 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 +1152 -1152
  6. package/bin/cli.js +483 -483
  7. package/docs/CustomChunks.md +26 -26
  8. package/docs/DevServerPort.md +39 -39
  9. package/docs/DevStart.md +18 -18
  10. package/docs/HoverActive.md +12 -12
  11. package/docs/InstallNode.md +28 -28
  12. package/docs/SelectorWeight.md +6 -6
  13. package/docs/TODOS.md +10 -10
  14. package/docs/ValueReplacer.md +60 -60
  15. package/docs/VariableConversion.md +724 -724
  16. package/docs/warnings_while_install.txt +35 -35
  17. package/files/eslintrc.js +62 -62
  18. package/files/prettierrc.js +3 -3
  19. package/lib/configs/webpack.css.umd.config.js +4 -4
  20. package/lib/loaderUtils/configsAssetsLoaders.js +33 -33
  21. package/lib/loaders/workerLoader.js +9 -9
  22. package/lib/pluginUtils/getDevPlugins.js +8 -7
  23. package/lib/pluginUtils/getProdPlugins.js +5 -5
  24. package/lib/plugins/EFCPlugin.md +6 -6
  25. package/lib/plugins/I18NInjectIntoIndexPlugin.js +4 -4
  26. package/lib/plugins/I18nSplitPlugin/I18nDownlodLogic.js +38 -38
  27. package/lib/plugins/I18nSplitPlugin/I18nFilesEmitter.js +30 -30
  28. package/lib/plugins/I18nSplitPlugin/I18nKeysIdentifer.js +8 -8
  29. package/lib/plugins/I18nSplitPlugin/I18nSplit.md +95 -95
  30. package/lib/plugins/I18nSplitPlugin/README.md +25 -25
  31. package/lib/plugins/I18nSplitPlugin/index.js +57 -57
  32. package/lib/plugins/ResourceHintsPlugin.js +17 -17
  33. package/lib/plugins/RtlSplitPlugin/RtlCssPlugin.js +6 -6
  34. package/lib/plugins/RtlSplitPlugin/RtrSplit.md +30 -30
  35. package/lib/plugins/SelectorPlugin.js +71 -25
  36. package/lib/plugins/ServiceWorkerPlugin.js +9 -9
  37. package/lib/plugins/TPHashMappingPlugin.js +4 -4
  38. package/lib/plugins/VariableConversionCollector.js +54 -54
  39. package/lib/plugins/cssoPlugin.js +37 -0
  40. package/lib/plugins/utils/checkPattern.js +57 -0
  41. package/lib/plugins/utils/classHandling.js +28 -0
  42. package/lib/plugins/utils/fileHandling.js +122 -0
  43. package/lib/postcss-plugins/IncludePlugin.js +24 -0
  44. package/lib/postcss-plugins/RTLSplitPlugin.js +10 -10
  45. package/lib/postcss-plugins/__test__/test1Input.css +38 -38
  46. package/lib/postcss-plugins/__test__/test1Output.css +38 -38
  47. package/lib/postcss-plugins/hoverActivePlugin.js +3 -3
  48. package/lib/postcss-plugins/variableModificationPlugin/index.js +23 -1
  49. package/lib/sh/pre-commit.sh +34 -34
  50. package/lib/sh/reportPublish.sh +45 -45
  51. package/lib/utils/buildstats.html +148 -148
  52. package/lib/utils/resultSchema.json +73 -73
  53. package/npm8.md +9 -9
  54. package/package.json +121 -121
  55. package/postpublish.js +8 -8
  56. package/templates/app/.eslintrc.js +140 -140
  57. package/templates/app/README.md +12 -12
  58. package/templates/app/app/index.html +24 -24
  59. package/templates/app/app/properties/ApplicationResources_en_US.properties +1 -1
  60. package/templates/app/app/properties/i18nkeys.json +3 -3
  61. package/templates/app/docs/all.html +69 -69
  62. package/templates/app/mockapi/index.js +18 -18
  63. package/templates/app/package.json +37 -37
  64. package/templates/app/src/actions/SampleActions/index.js +37 -37
  65. package/templates/app/src/actions/index.js +65 -65
  66. package/templates/app/src/appUrls.js +19 -19
  67. package/templates/app/src/components/Alert/Alert.js +134 -134
  68. package/templates/app/src/components/Alert/Alert.module.css +79 -79
  69. package/templates/app/src/components/FreezeLayer/FreezeLayer.css +37 -37
  70. package/templates/app/src/components/FreezeLayer/FreezeLayer.js +84 -84
  71. package/templates/app/src/components/Sample/Sample.module.css +11 -11
  72. package/templates/app/src/components/Sample/SampleList.js +61 -61
  73. package/templates/app/src/components/Slider/Slider.css +41 -41
  74. package/templates/app/src/components/Slider/Slider.js +55 -55
  75. package/templates/app/src/containers/AlertContainer/index.js +15 -15
  76. package/templates/app/src/containers/AppContainer/index.js +96 -96
  77. package/templates/app/src/containers/AppContainer/index.module.css +27 -27
  78. package/templates/app/src/containers/CustomMatch/index.js +65 -65
  79. package/templates/app/src/containers/DevTools/index.js +10 -10
  80. package/templates/app/src/containers/Header/index.js +67 -67
  81. package/templates/app/src/containers/Header/index.module.css +43 -43
  82. package/templates/app/src/containers/Redirect/index.js +63 -63
  83. package/templates/app/src/containers/Redirector/index.js +47 -47
  84. package/templates/app/src/containers/SampleListContainer/ListContainer.js +42 -42
  85. package/templates/app/src/containers/SampleListContainer/ListContainer.module.css +3 -3
  86. package/templates/app/src/historyChange.js +5 -5
  87. package/templates/app/src/index.html +10 -10
  88. package/templates/app/src/index.js +24 -24
  89. package/templates/app/src/middleware/PromiseMiddleware.js +59 -59
  90. package/templates/app/src/reducers/alertData.js +11 -11
  91. package/templates/app/src/reducers/index.js +6 -6
  92. package/templates/app/src/reducers/samples.js +19 -19
  93. package/templates/app/src/store/configureStore.dev.js +51 -51
  94. package/templates/app/src/store/configureStore.js +5 -5
  95. package/templates/app/src/store/configureStore.prod.js +26 -26
  96. package/templates/app/src/util/Common.js +5 -5
  97. package/templates/app/src/util/RequestAPI.js +132 -132
  98. package/templates/docs/all.html +249 -249
  99. package/templates/docs/component.html +178 -178
  100. package/templates/docs/components.html +221 -221
  101. package/templates/docs/css/b.min.css +6 -6
  102. package/templates/docs/css/component.css +42 -42
  103. package/templates/docs/css/componentTest.css +6 -6
  104. package/templates/docs/css/hopscotch.css +585 -585
  105. package/templates/docs/css/style.css +1022 -1022
  106. package/templates/docs/impactReportTemplate.html +154 -154
  107. package/templates/docs/index.html +1501 -1501
  108. package/templates/docs/js/active-line.js +72 -72
  109. package/templates/docs/js/b.min.js +7 -7
  110. package/templates/docs/js/codemirror.js +9680 -9680
  111. package/templates/docs/js/designTokens.js +334 -334
  112. package/templates/docs/js/j.min.js +4 -4
  113. package/templates/docs/js/javascript.js +874 -874
  114. package/templates/docs/js/matchbrackets.js +145 -145
  115. package/result.json +0 -1
  116. package/unittest/index.html +0 -37
@@ -51,11 +51,11 @@ class ServiceWorkerPlugin {
51
51
  if (err) {
52
52
  throw new Error(err);
53
53
  } else {
54
- /* const extractedChunks = compilation.chunks.filter(chunk => {
55
- if ('canBeInitial' in chunk) {
56
- return chunk.canBeInitial();
57
- }
58
- return chunk.isInitial();
54
+ /* const extractedChunks = compilation.chunks.filter(chunk => {
55
+ if ('canBeInitial' in chunk) {
56
+ return chunk.canBeInitial();
57
+ }
58
+ return chunk.isInitial();
59
59
  }); */
60
60
  // let [js, css, , , i18nPublicPath] = this.publicPaths;
61
61
  // let initialChunkUrls = [];
@@ -64,10 +64,10 @@ class ServiceWorkerPlugin {
64
64
  let entrypoint = compilation.entrypoints.get('main');
65
65
  let initialChunkUrls = entrypoint.getFiles();
66
66
  const cssDirTemplate = '@dir@';
67
- /**
68
- * NOTE:
69
- * if chunkSplitEnable is false means,
70
- * serviceWorker will get i18n files path for html
67
+ /**
68
+ * NOTE:
69
+ * if chunkSplitEnable is false means,
70
+ * serviceWorker will get i18n files path for html
71
71
  */
72
72
 
73
73
  let initalI18nAssets = chunkSplitEnable ? entrypoint.chunks.filter(chunk => _I18nKeysIdentifer.default.isChunkHasI18n(chunk)).map(chunk => (0, _getI18nFileUrlPathTemplate.getI18nFileUrlPathTemplate)(compilation, chunk, this.i18nFileNameTemplate, '@locale@')) : [];
@@ -15,10 +15,10 @@ var _crypto = _interopRequireDefault(require("crypto"));
15
15
 
16
16
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
17
17
 
18
- /**
19
- * Plugin that generates hash for the provided list of third party files
20
- * Map the provided key with the file hash and add it to the list of exisiting global constants.
21
- * Plugin in turn uses the defineplugin to generate global constants.
18
+ /**
19
+ * Plugin that generates hash for the provided list of third party files
20
+ * Map the provided key with the file hash and add it to the list of exisiting global constants.
21
+ * Plugin in turn uses the defineplugin to generate global constants.
22
22
  */
23
23
  class TPHashMappingPlugin {
24
24
  constructor(options) {
@@ -26,15 +26,15 @@ const {
26
26
  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
27
  // -- is issue IO --
28
28
 
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
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
38
38
  */
39
39
 
40
40
  function isIgnoreValuePresent(ignoreVals, prop) {
@@ -47,14 +47,14 @@ function isIgnoreValuePresent(ignoreVals, prop) {
47
47
  return present;
48
48
  } // -- to convert the hyphen values to values --
49
49
 
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
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
58
58
  */
59
59
 
60
60
 
@@ -154,13 +154,13 @@ class VariableConversionCollector {
154
154
  }
155
155
  };
156
156
  }
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
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
164
164
  */
165
165
 
166
166
 
@@ -216,19 +216,19 @@ class VariableConversionCollector {
216
216
  });
217
217
  });
218
218
  });
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
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
232
232
  */
233
233
 
234
234
  Object.keys(variables).forEach(key => {
@@ -240,17 +240,17 @@ class VariableConversionCollector {
240
240
  });
241
241
  }); // -- conversion for the root using rootConvertor --
242
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
+ /*
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
+ }
254
254
  */
255
255
 
256
256
  compilation.hooks.optimizeModules.tap('VariableConversionCollector', modules => {
@@ -262,12 +262,12 @@ class VariableConversionCollector {
262
262
  });
263
263
  });
264
264
  });
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
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
271
271
  */
272
272
 
273
273
  compiler.hooks.afterEmit.tap('error-display', () => {
@@ -0,0 +1,37 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = void 0;
7
+
8
+ var _webpackSources = require("webpack-sources");
9
+
10
+ var _csso = require("csso");
11
+
12
+ class cssoPlugin {
13
+ apply(compiler) {
14
+ compiler.hooks.emit.tap('cssoPlugin', compilation => {
15
+ Object.keys(compilation.assets).forEach(filename => {
16
+ if (/\.css$/.test(filename)) {
17
+ // console.log(filename, ' processed!');
18
+ try {
19
+ let asset = compilation.assets[filename].source();
20
+
21
+ if (typeof asset !== 'string') {
22
+ asset = asset.toString();
23
+ }
24
+
25
+ const result = (0, _csso.minify)(asset).css;
26
+ compilation.assets[filename] = new _webpackSources.RawSource(result);
27
+ } catch (e) {
28
+ compilation.errors.push(e);
29
+ }
30
+ }
31
+ });
32
+ });
33
+ }
34
+
35
+ }
36
+
37
+ exports.default = cssoPlugin;
@@ -0,0 +1,57 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.checkPattern = checkPattern;
7
+ exports.negateArray = negateArray;
8
+
9
+ function checkPattern(filename, pattern) {
10
+ let isMatching = false;
11
+
12
+ if (pattern === '*') {
13
+ // console.log('case 3');
14
+ isMatching = true;
15
+ } else if (/^!/gi.test(pattern) && filename.includes(pattern)) {
16
+ // console.log('case 1');
17
+ isMatching = false;
18
+ } else if (!/^!/gi.test(pattern) && filename.includes(pattern)) {
19
+ // console.log('case 2');
20
+ isMatching = true;
21
+ }
22
+
23
+ return isMatching;
24
+ }
25
+
26
+ function negateArray(arr) {
27
+ const temp = [...arr];
28
+ temp.forEach((x, index) => {
29
+ if (/^!/gi.test(x)) {
30
+ arr[index] = x.substring(1);
31
+ } else {
32
+ arr[index] = `!${x}`;
33
+ }
34
+ });
35
+ return temp;
36
+ } // const pattern1 = ["*","src/","src/**/avatar","!src/components",];
37
+ // const examplesInputs1 = [
38
+ // "D:/Mywork/desk_client_app/src/components/component.css",
39
+ // "D:/Mywork/desk_client_app/src/components/avatar/avatar.css",
40
+ // "D:/Mywork/desk_client_app/src/components/teamavatar/avatar.css",
41
+ // "D:/Mywork/desk_client_app/src/container/teamavatar/avatar.css",
42
+ // "D:/Mywork/desk_client_app/deskapp/container/teamavatar/avatar.css",
43
+ // ]
44
+ // const pattern2 = ["src/","!src/components","src/components/avatar"];
45
+ // const examplesInputs2 = [
46
+ // "D:/Mywork/desk_client_app/src/components/component.css",
47
+ // "D:/Mywork/desk_client_app/src/components/avatar/avatar.css",
48
+ // "D:/Mywork/desk_client_app/src/components/teamavatar/avatar.css",
49
+ // "D:/Mywork/desk_client_app/src/container/teamavatar/avatar.css",
50
+ // "D:/Mywork/desk_client_app/deskapp/container/teamavatar/avatar.css",
51
+ // ]
52
+ // console.log(checkPattern('filename', ["*","src/","!src/components","src/components/avatar"]))
53
+ // console.log(checkPattern(filename, pattern))
54
+ // console.log(checkPattern(filename, pattern))
55
+ // console.log(checkPattern(filename, pattern))
56
+ // console.log(checkPattern(filename, pattern))
57
+ // console.log(checkPattern(filename, pattern))
@@ -0,0 +1,28 @@
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.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
+ let mediaQuery = false;
20
+
21
+ if (isAtRule(rule)) {
22
+ if (rule.parent.name === 'media') {
23
+ mediaQuery = true;
24
+ }
25
+ }
26
+
27
+ return mediaQuery;
28
+ }
@@ -0,0 +1,122 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.filterFile = filterFile;
7
+ exports.ignoreFile = ignoreFile;
8
+
9
+ var _windowsModification = require("../../loaderUtils/windowsModification");
10
+
11
+ var _checkPattern = require("./checkPattern");
12
+
13
+ const ignore = require('ignore');
14
+
15
+ function ignoreFile(excludeArr, filename) {
16
+ let ignore = false;
17
+ excludeArr.forEach(exclStr => {
18
+ if (filename.includes(exclStr)) {
19
+ ignore = true;
20
+ }
21
+ });
22
+ return ignore;
23
+ }
24
+
25
+ function checkFile(filename, arr) {
26
+ let include = false;
27
+ arr.forEach(val => {
28
+ if (val.includes('*')) {
29
+ return true;
30
+ }
31
+ });
32
+ }
33
+
34
+ function filterFile(filename, filterObject, plugins) {
35
+ // plugins.forEach(x => console.log(x.postcssPlugin));
36
+ // let acceptedPlugins = Object.keys()
37
+ let aliasNames = {
38
+ valueReplacer: 'postcss-value-replacer',
39
+ selectorReplace: 'postcss-selector-symbol-replace',
40
+ hasRTL: 'postcss-rtl',
41
+ combinerMediaQuery: 'postcss-combine-media-query',
42
+ hoverActive: 'postcss-mobile-hover',
43
+ cssVariableReplacement: 'postcss-variable-report' // hoverActive
44
+ // combinerMediaQuery
45
+ // rtl
46
+ // cssVariableReplacement
47
+ // selectorWeight
48
+
49
+ };
50
+ const finalPlugins = [];
51
+ Object.keys(filterObject).forEach(key => {
52
+ // console.log(key, filterObject[key], aliasNames);
53
+ // console.log(key);
54
+ plugins.forEach(x => {
55
+ let include = false;
56
+
57
+ if (aliasNames[key] === x.postcssPlugin) {
58
+ const includeVals = filterObject[key].filter(x => !/^!/gi.test(x));
59
+ const excludeVals = filterObject[key].filter(x => /^!/gi.test(x)); // console.log(includeVals, excludeVals);
60
+ // filterObject[key] = windowsModification(filterObject[key]);
61
+ // filterObject[key].forEach(pattern => {
62
+ // // console.log(x.postcssPlugin);
63
+ // // console.log(pattern);
64
+ // // console.log(
65
+ // // /^!/gi.test(pattern),
66
+ // // filename.includes(pattern),
67
+ // // filename,
68
+ // // pattern
69
+ // // );
70
+ // // include = checkPattern(filename, pattern);
71
+ // // if (pattern === '*') {
72
+ // // // console.log('case 3');
73
+ // // include = true;
74
+ // // } else if (/^!/gi.test(pattern) && filename.includes(pattern)) {
75
+ // // // console.log('case 1');
76
+ // // include = false;
77
+ // // } else if (!/^!/gi.test(pattern) && filename.includes(pattern)) {
78
+ // // // console.log('case 2');
79
+ // // include = true;
80
+ // // }
81
+ // });
82
+
83
+ let rootDir = 'supportapp';
84
+ const regex = `^(.+?)${rootDir}?\\\\`; // rootDir = rootDir.replace('/', '\\');
85
+ // console.log(regex, new RegExp(regex, 'gi'), filename.replace(new RegExp(regex, 'gi'), ''));
86
+
87
+ const newFilename = filename.replace(new RegExp(regex, 'gi'), ''); // console.log(negateArray(filterObject[key]));
88
+ // console.log(filterObject[key]);
89
+
90
+ const ig = ignore().add(filterObject[key]); // console.log(x.postcssPlugin, new RegExp(regex, 'gi'));
91
+ // console.log(filterObject[key]);
92
+ // if (!ig.ignores(newFilename)) {
93
+ // finalPlugins.push(x);
94
+ // }
95
+ // console.log(ig);
96
+ // console.log([filename].filter(filePathFilter({ include: includeVals, exclude: excludeVals })));
97
+ // if (ig.ignores(newFilename)) {
98
+ // console.log(ig.ignores(newFilename), newFilename);
99
+ // console.log('include this file', x.postcssPlugin);
100
+ // }
101
+ // console.log(x.postcssPlugin, filename, filterObject[key], include);
102
+ // if (include) {
103
+ // console.log('included: ', finalPlugins);
104
+ // console.log(filename);
105
+ // console.log('-------------------------------------------------------------------------------------------------')
106
+ // finalPlugins.push(x);
107
+ // }
108
+ }
109
+ });
110
+ }); // if (include) {
111
+ // console.log('before: ', plugins);
112
+ // console.log('after: ');
113
+ // console.log(finalPlugins);
114
+ // }
115
+ // console.log(filename);
116
+ // console.log(finalPlugins);
117
+ // console.log(
118
+ // '-------------------------------------------------------------------------------------------------'
119
+ // );
120
+
121
+ return finalPlugins; // console.log(filename, filterObject);
122
+ }
@@ -0,0 +1,24 @@
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-include-files', opts => {
8
+ const {
9
+ plugins
10
+ } = opts;
11
+ return (root, result) => {
12
+ const inputFile = root.source.input.file;
13
+ const includeFile = opts.include.some(file => inputFile.indexOf(file) !== -1);
14
+
15
+ if (includeFile) {
16
+ // console.log(inputFile);
17
+ const handler = response => response.messages.forEach(msg => result.messages.push(msg));
18
+
19
+ return (0, _postcss.default)(plugins).process(root, {
20
+ from: undefined
21
+ }).then(handler);
22
+ }
23
+ };
24
+ });
@@ -38,11 +38,11 @@ function selectorMinifySameDir(selector, direction) {
38
38
  const regex = getRegex(direction);
39
39
  return selector.replace(regex, '').trim();
40
40
  }
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
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
46
46
  */
47
47
 
48
48
 
@@ -57,11 +57,11 @@ function mergeIfSameSelector(rule) {
57
57
  rule.remove();
58
58
  }
59
59
  }
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
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
65
65
  */
66
66
 
67
67
 
@@ -1,39 +1,39 @@
1
- /*Hover_active:ignore*/
2
- g,a:hover{
3
- color : red
4
- }
5
- /*Hover:ignore*/
6
- h:hover{
7
- background : yellow
8
- }
9
-
10
- /* Hover_active:ignore */
11
- g,d+e:hover{
12
- color : black
13
- }
14
-
15
- g,d e:hover{
16
- color : black
17
- }
18
-
19
- @media screen and (max-width:61.25em){
20
- /* Hover_active:ignore */
21
- a,b,a:hover, b:hover{
22
- background-color : blue
23
- }
24
- a + b,a:hover + b:hover{
25
- background-color : blue
26
- }
27
- a b:hover{
28
- background-color : blue
29
- }
30
-
31
- .cc:hover {
32
- color: red;
33
- }
34
-
35
- c:hover{
36
- color : red
37
- }
38
-
1
+ /*Hover_active:ignore*/
2
+ g,a:hover{
3
+ color : red
4
+ }
5
+ /*Hover:ignore*/
6
+ h:hover{
7
+ background : yellow
8
+ }
9
+
10
+ /* Hover_active:ignore */
11
+ g,d+e:hover{
12
+ color : black
13
+ }
14
+
15
+ g,d e:hover{
16
+ color : black
17
+ }
18
+
19
+ @media screen and (max-width:61.25em){
20
+ /* Hover_active:ignore */
21
+ a,b,a:hover, b:hover{
22
+ background-color : blue
23
+ }
24
+ a + b,a:hover + b:hover{
25
+ background-color : blue
26
+ }
27
+ a b:hover{
28
+ background-color : blue
29
+ }
30
+
31
+ .cc:hover {
32
+ color: red;
33
+ }
34
+
35
+ c:hover{
36
+ color : red
37
+ }
38
+
39
39
  }
@@ -1,39 +1,39 @@
1
- /*Hover_active:ignore*/
2
- g,a:hover{
3
- color : red
4
- }
5
- /*Hover:ignore*/
6
- h:hover{
7
- background : yellow
8
- }
9
-
10
- /* Hover_active:ignore */
11
- g,d+e:hover{
12
- color : black
13
- }
14
-
15
- g,d e:hover{
16
- color : black
17
- }
18
-
19
- @media screen and (max-width:61.25em){
20
- /* Hover_active:ignore */
21
- a,b,a:hover, b:hover{
22
- background-color : blue
23
- }
24
- a + b,a:hover + b:hover{
25
- background-color : blue
26
- }
27
- a b:hover{
28
- background-color : blue
29
- }
30
-
31
- .cc:hover {
32
- color: red;
33
- }
34
-
35
- c:hover{
36
- color : red
37
- }
38
-
1
+ /*Hover_active:ignore*/
2
+ g,a:hover{
3
+ color : red
4
+ }
5
+ /*Hover:ignore*/
6
+ h:hover{
7
+ background : yellow
8
+ }
9
+
10
+ /* Hover_active:ignore */
11
+ g,d+e:hover{
12
+ color : black
13
+ }
14
+
15
+ g,d e:hover{
16
+ color : black
17
+ }
18
+
19
+ @media screen and (max-width:61.25em){
20
+ /* Hover_active:ignore */
21
+ a,b,a:hover, b:hover{
22
+ background-color : blue
23
+ }
24
+ a + b,a:hover + b:hover{
25
+ background-color : blue
26
+ }
27
+ a b:hover{
28
+ background-color : blue
29
+ }
30
+
31
+ .cc:hover {
32
+ color: red;
33
+ }
34
+
35
+ c:hover{
36
+ color : red
37
+ }
38
+
39
39
  }
@@ -4,9 +4,9 @@ var _postcss = _interopRequireDefault(require("postcss"));
4
4
 
5
5
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
6
6
 
7
- /**
8
- * we have give support for ignore(exclude) comments
9
- * These are the comments' keyword
7
+ /**
8
+ * we have give support for ignore(exclude) comments
9
+ * These are the comments' keyword
10
10
  */
11
11
  const hoverIgnoreQuery = 'Hover:ignore',
12
12
  activeIgnoreQuery = 'Active:ignore',