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

Sign up to get free protection for your applications and to get access to all the features.
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',