@zohodesk/react-cli 0.0.1-exp.176.3 → 0.0.1-exp.178.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (126) hide show
  1. package/.eslintignore +7 -7
  2. package/.eslintrc.js +180 -180
  3. package/.prettierrc +6 -6
  4. package/{CHANGELOG.md → CHANGELOG-fz.md} +0 -0
  5. package/Changelog.md +1019 -0
  6. package/README.md +1112 -1025
  7. package/bin/cli.js +482 -482
  8. package/docs/CustomChunks.md +26 -26
  9. package/docs/DevServerPort.md +39 -0
  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 +6 -6
  14. package/docs/TODOS.md +10 -10
  15. package/docs/ValueReplacer.md +60 -60
  16. package/docs/VariableConversion.md +724 -719
  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/configs/resolvers.js +40 -0
  21. package/lib/configs/webpack.css.umd.config.js +4 -4
  22. package/lib/configs/webpack.dev.config.js +4 -11
  23. package/lib/configs/webpack.docs.config.js +4 -11
  24. package/lib/configs/webpack.impact.config.js +5 -7
  25. package/lib/configs/webpack.prod.config.js +9 -13
  26. package/lib/constants.js +31 -0
  27. package/lib/loaderUtils/configsAssetsLoaders.js +34 -34
  28. package/lib/loaders/workerLoader.js +9 -9
  29. package/lib/pluginUtils/getDevPlugins.js +5 -5
  30. package/lib/pluginUtils/getProdPlugins.js +5 -5
  31. package/lib/plugins/EFCPlugin.md +6 -6
  32. package/lib/plugins/I18NInjectIntoIndexPlugin.js +4 -4
  33. package/lib/plugins/I18nSplitPlugin/I18nDownlodLogic.js +38 -38
  34. package/lib/plugins/I18nSplitPlugin/I18nFilesEmitter.js +30 -30
  35. package/lib/plugins/I18nSplitPlugin/I18nKeysIdentifer.js +8 -8
  36. package/lib/plugins/I18nSplitPlugin/I18nSplit.md +95 -95
  37. package/lib/plugins/I18nSplitPlugin/README.md +25 -25
  38. package/lib/plugins/I18nSplitPlugin/index.js +57 -57
  39. package/lib/plugins/ResourceHintsPlugin.js +17 -17
  40. package/lib/plugins/RtlSplitPlugin/RtlCssPlugin.js +6 -6
  41. package/lib/plugins/RtlSplitPlugin/RtrSplit.md +30 -30
  42. package/lib/plugins/ServiceWorkerPlugin.js +9 -9
  43. package/lib/plugins/TPHashMappingPlugin.js +4 -4
  44. package/lib/plugins/VariableConversionCollector.js +104 -74
  45. package/lib/postcss-plugins/RTLSplitPlugin.js +10 -10
  46. package/lib/postcss-plugins/__test__/test1Input.css +38 -38
  47. package/lib/postcss-plugins/__test__/test1Output.css +38 -38
  48. package/lib/postcss-plugins/hoverActivePlugin.js +3 -3
  49. package/lib/schemas/index.js +8 -0
  50. package/lib/servers/docsServerCore.js +13 -12
  51. package/lib/servers/httpsOptions.js +40 -9
  52. package/lib/servers/nowatchserver.js +12 -11
  53. package/lib/servers/server.js +23 -20
  54. package/lib/sh/pre-commit.sh +34 -34
  55. package/lib/sh/reportPublish.sh +45 -45
  56. package/lib/utils/buildstats.html +148 -148
  57. package/lib/utils/cssURLReplacer.js +30 -43
  58. package/lib/utils/getFileType.js +49 -0
  59. package/lib/utils/getOptions.js +13 -13
  60. package/lib/utils/resultSchema.json +73 -73
  61. package/npm8.md +9 -9
  62. package/package.json +122 -146
  63. package/postpublish.js +8 -6
  64. package/result.json +1 -0
  65. package/templates/app/.eslintrc.js +140 -140
  66. package/templates/app/README.md +12 -12
  67. package/templates/app/app/index.html +24 -24
  68. package/templates/app/app/properties/ApplicationResources_en_US.properties +1 -1
  69. package/templates/app/app/properties/i18nkeys.json +3 -3
  70. package/templates/app/docs/all.html +69 -69
  71. package/templates/app/mockapi/index.js +18 -18
  72. package/templates/app/package.json +37 -37
  73. package/templates/app/src/actions/SampleActions/index.js +37 -37
  74. package/templates/app/src/actions/index.js +65 -65
  75. package/templates/app/src/appUrls.js +19 -19
  76. package/templates/app/src/components/Alert/Alert.js +134 -134
  77. package/templates/app/src/components/Alert/Alert.module.css +79 -79
  78. package/templates/app/src/components/FreezeLayer/FreezeLayer.css +37 -37
  79. package/templates/app/src/components/FreezeLayer/FreezeLayer.js +84 -84
  80. package/templates/app/src/components/Sample/Sample.module.css +11 -11
  81. package/templates/app/src/components/Sample/SampleList.js +61 -61
  82. package/templates/app/src/components/Slider/Slider.css +41 -41
  83. package/templates/app/src/components/Slider/Slider.js +55 -55
  84. package/templates/app/src/containers/AlertContainer/index.js +15 -15
  85. package/templates/app/src/containers/AppContainer/index.js +96 -96
  86. package/templates/app/src/containers/AppContainer/index.module.css +27 -27
  87. package/templates/app/src/containers/CustomMatch/index.js +65 -65
  88. package/templates/app/src/containers/DevTools/index.js +10 -10
  89. package/templates/app/src/containers/Header/index.js +67 -67
  90. package/templates/app/src/containers/Header/index.module.css +43 -43
  91. package/templates/app/src/containers/Redirect/index.js +63 -63
  92. package/templates/app/src/containers/Redirector/index.js +47 -47
  93. package/templates/app/src/containers/SampleListContainer/ListContainer.js +42 -42
  94. package/templates/app/src/containers/SampleListContainer/ListContainer.module.css +3 -3
  95. package/templates/app/src/historyChange.js +5 -5
  96. package/templates/app/src/index.html +10 -10
  97. package/templates/app/src/index.js +24 -24
  98. package/templates/app/src/middleware/PromiseMiddleware.js +59 -59
  99. package/templates/app/src/reducers/alertData.js +11 -11
  100. package/templates/app/src/reducers/index.js +6 -6
  101. package/templates/app/src/reducers/samples.js +19 -19
  102. package/templates/app/src/store/configureStore.dev.js +51 -51
  103. package/templates/app/src/store/configureStore.js +5 -5
  104. package/templates/app/src/store/configureStore.prod.js +26 -26
  105. package/templates/app/src/util/Common.js +5 -5
  106. package/templates/app/src/util/RequestAPI.js +132 -132
  107. package/templates/docs/all.html +249 -249
  108. package/templates/docs/component.html +178 -178
  109. package/templates/docs/components.html +221 -221
  110. package/templates/docs/css/b.min.css +6 -6
  111. package/templates/docs/css/component.css +42 -42
  112. package/templates/docs/css/componentTest.css +6 -6
  113. package/templates/docs/css/hopscotch.css +585 -585
  114. package/templates/docs/css/style.css +1022 -1022
  115. package/templates/docs/impactReportTemplate.html +154 -154
  116. package/templates/docs/index.html +1501 -1501
  117. package/templates/docs/js/active-line.js +72 -72
  118. package/templates/docs/js/b.min.js +7 -7
  119. package/templates/docs/js/codemirror.js +9680 -9680
  120. package/templates/docs/js/designTokens.js +334 -334
  121. package/templates/docs/js/j.min.js +4 -4
  122. package/templates/docs/js/javascript.js +874 -874
  123. package/templates/docs/js/matchbrackets.js +145 -145
  124. package/unittest/index.html +37 -0
  125. package/cert/Tsicsezwild-22-23.crt +0 -37
  126. package/cert/Tsicsezwild-22-23.key +0 -27
@@ -24,12 +24,12 @@ const isCss = filename => _path.default.extname(filename) === '.css'; // this p
24
24
 
25
25
  class RtlCssPlugin {
26
26
  constructor(options = {}) {
27
- /**
28
- * @typedef {Object} Options
29
- * @property {String} filename [not used]
30
- * @property {String} dirVarName
31
- * @property {Boolean} sourcemap
32
- * @property {Object} config
27
+ /**
28
+ * @typedef {Object} Options
29
+ * @property {String} filename [not used]
30
+ * @property {String} dirVarName
31
+ * @property {Boolean} sourcemap
32
+ * @property {Object} config
33
33
  */
34
34
  this.options = {
35
35
  filename: options.filename || '[name].rtl.css',
@@ -1,30 +1,30 @@
1
- # RTL Split
2
-
3
- we are doing in build time generating rtl related css code by using @zohodesk/postcss-rt npm.
4
- It was automated, That postcss plugin create rtl reacted css and put them into same file, with css selector [dir=rtl] and ltr realted css with [dir=ltr].
5
- Here is problem mostly no one need rtl and ltr related css at the same time in browser,
6
- we are try to split them by [dir] and load which type of css is needed.
7
- For this purpose we created RTL Split Plugin
8
-
9
-
10
- # To Try it out rtl-ltr split
11
- ### how to use this feature?
12
-
13
- to use this feature use have give the below oprtions
14
- `package.json`
15
- ```json
16
- {
17
- /// ...some things
18
- "react-cli": {
19
- // ...some things
20
- "css": {
21
- "enableRTLSplit": true,
22
- "templateLabel": "{{--dir}}",// this is for html template css file path dir template
23
- "disableMiniFiySelector": false,
24
- "dirVarName": "document.dir" // this will be used for download css based on dir
25
- },
26
- // ...some things
27
- }
28
- }
29
- ```
30
-
1
+ # RTL Split
2
+
3
+ we are doing in build time generating rtl related css code by using @zohodesk/postcss-rt npm.
4
+ It was automated, That postcss plugin create rtl reacted css and put them into same file, with css selector [dir=rtl] and ltr realted css with [dir=ltr].
5
+ Here is problem mostly no one need rtl and ltr related css at the same time in browser,
6
+ we are try to split them by [dir] and load which type of css is needed.
7
+ For this purpose we created RTL Split Plugin
8
+
9
+
10
+ # To Try it out rtl-ltr split
11
+ ### how to use this feature?
12
+
13
+ to use this feature use have give the below oprtions
14
+ `package.json`
15
+ ```json
16
+ {
17
+ /// ...some things
18
+ "react-cli": {
19
+ // ...some things
20
+ "css": {
21
+ "enableRTLSplit": true,
22
+ "templateLabel": "{{--dir}}",// this is for html template css file path dir template
23
+ "disableMiniFiySelector": false,
24
+ "dirVarName": "document.dir" // this will be used for download css based on dir
25
+ },
26
+ // ...some things
27
+ }
28
+ }
29
+ ```
30
+
@@ -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) {
@@ -15,6 +15,7 @@ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { de
15
15
  const fs = require('fs');
16
16
 
17
17
  const ignoreVals = ['--zd_size', '--zd_font_size', '--size', '--size_'];
18
+ let variablesRead = {};
18
19
 
19
20
  const {
20
21
  errors,
@@ -25,15 +26,15 @@ const {
25
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 = [];
26
27
  // -- is issue IO --
27
28
 
28
- /*
29
- issues eg :
30
- issues = ['--zd_size', '--zd_font_size', '--size', '--size_'];
31
- input :
32
- --zd_size
33
- output :
34
- true
35
- comment :
36
- 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
37
38
  */
38
39
 
39
40
  function isIgnoreValuePresent(ignoreVals, prop) {
@@ -46,14 +47,14 @@ function isIgnoreValuePresent(ignoreVals, prop) {
46
47
  return present;
47
48
  } // -- to convert the hyphen values to values --
48
49
 
49
- /*
50
- input :
51
- var(--zdt_uploadlist_default_width)
52
- output :
53
- --zdt_uploadlist_default_width
54
-
55
- comment :
56
- 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
57
58
  */
58
59
 
59
60
 
@@ -64,8 +65,8 @@ function extractVariableName(val) {
64
65
  function rootConvertor(rootOriginal, variables, settingsObject) {
65
66
  rootOriginal.walkRules(rule => {
66
67
  rule.nodes.forEach((decl, index) => {
67
- let prevNode = rule.nodes[index - 1];
68
- let currentNode = rule.nodes[index];
68
+ const prevNode = rule.nodes[index - 1];
69
+ const currentNode = rule.nodes[index];
69
70
 
70
71
  if (decl.prop && decl.prop.includes('--')) {
71
72
  if (prevNode && prevNode.type === 'comment' && prevNode.text.toLowerCase() === 'variable:ignore') {
@@ -83,11 +84,11 @@ function rootConvertor(rootOriginal, variables, settingsObject) {
83
84
  }
84
85
 
85
86
  const pxReplacement = settingsObject[variables[decl.prop]].replacements.px;
86
- let valArr = decl.value.split(' '); // single values are considered in the above array and converted below
87
+ const valArr = decl.value.split(' '); // single values are considered in the above array and converted below
87
88
 
88
89
  valArr.forEach((value, index) => {
89
90
  if (value.includes('px')) {
90
- let num = value.replace('px', '');
91
+ const num = value.replace('px', '');
91
92
  valArr[index] = pxReplacement.replace('$$', num);
92
93
  }
93
94
  });
@@ -99,10 +100,33 @@ function rootConvertor(rootOriginal, variables, settingsObject) {
99
100
  return rootOriginal;
100
101
  }
101
102
 
103
+ function createFolderIfNonExistant(path) {
104
+ if (!fs.existsSync(path)) {
105
+ fs.mkdirSync(path, {
106
+ recursive: true
107
+ });
108
+ }
109
+ }
110
+
111
+ function createFileIfNonExistant(path, content) {
112
+ if (fs.existsSync(path)) {
113
+ fs.writeFileSync(path, content, 'utf-8');
114
+ }
115
+ }
116
+
102
117
  class VariableConversionCollector {
103
118
  constructor(options = {}) {
104
119
  this.optimize = options.optimize;
105
120
  this.filename = options.cssVariableReplacementConfig;
121
+ this.fileHandler();
122
+ }
123
+
124
+ fileHandler() {
125
+ createFolderIfNonExistant('./.cli/logs/');
126
+ createFolderIfNonExistant('./.cli/config/variables/');
127
+ createFolderIfNonExistant('./.cli/config/selectorWeight/');
128
+ createFileIfNonExistant('./.cli/logs/unassignedVariables.log', '{}');
129
+ createFileIfNonExistant('./.cli/logs/css_error.log', '{}');
106
130
  }
107
131
 
108
132
  apply(compiler) {
@@ -114,7 +138,8 @@ class VariableConversionCollector {
114
138
  settings: settingsObject,
115
139
  errorLog: errorLogStatus,
116
140
  errorInConsole: errorConsoleStatus,
117
- errorsAllowed
141
+ errorsAllowed,
142
+ strictMode
118
143
  } = data; // If theres is no setting for default prop in settingsObject, set one.
119
144
 
120
145
  if (!settingsObject.default) {
@@ -129,20 +154,20 @@ class VariableConversionCollector {
129
154
  }
130
155
  };
131
156
  }
132
- /*
133
- purpose of tap : to create a variable object such as:
134
- {
135
- --zdt_uploadlist_default_width : width,
136
- --zdt_uploadlist_default_height : height,
137
- }
138
- 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
139
164
  */
140
165
 
141
166
 
142
- if (fs.existsSync('./variableMapping.json')) {
143
- const data = JSON.parse(fs.readFileSync('./variableMapping.json', 'utf-8'));
144
- Object.keys(data).forEach(key => {
145
- variables[key] = data[key];
167
+ if (fs.existsSync('./.cli/config/variables/variableMapping.json')) {
168
+ variablesRead = JSON.parse(fs.readFileSync('./.cli/config/variables/variableMapping.json', 'utf-8'));
169
+ Object.keys(variablesRead.changes).forEach(key => {
170
+ variables[key] = variablesRead.changes[key];
146
171
  });
147
172
  }
148
173
 
@@ -169,7 +194,7 @@ class VariableConversionCollector {
169
194
  // `${extractedValue} : ${variables[extractedValue]} already exists please check!`
170
195
  // );
171
196
  if (errorsAllowed.MULTIPLE_OCCURANCES) {
172
- let errObj = {
197
+ const errObj = {
173
198
  decl,
174
199
  type: 'MULTIPLE_OCCURANCES',
175
200
  filename,
@@ -182,29 +207,28 @@ class VariableConversionCollector {
182
207
  }
183
208
  } else {
184
209
  // console.log(decl.prop);
185
- if (/^--/gi.test(decl.prop) && new RegExp(supportedProps.join('|'), 'gi').test(decl.prop) && val.trim() !== '' && !variables[decl.prop]) {
186
- // console.log(
187
- // `${decl.prop} : ${variables[decl.prop]},`
188
- // );
189
- unassigned[decl.prop] = variables[decl.prop];
210
+ if (/^--/gi.test(decl.prop) && val.trim() !== '' && !variables[decl.prop]) {
211
+ if (!Object.keys(variablesRead.ignore).includes(decl.prop)) {
212
+ unassigned[decl.prop] = variables[decl.prop];
213
+ }
190
214
  }
191
215
  }
192
216
  });
193
217
  });
194
218
  });
195
- /*
196
- current value example:
197
- {
198
- --zdt_uploadlist_default_width : --zd_upload_width,
199
- --zd_upload_width : width
200
- }
201
- expected value :
202
- {
203
- --zdt_uploadlist_default_width : width,
204
- --zd_upload_width : width
205
- }
206
-
207
- 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
208
232
  */
209
233
 
210
234
  Object.keys(variables).forEach(key => {
@@ -216,17 +240,17 @@ class VariableConversionCollector {
216
240
  });
217
241
  }); // -- conversion for the root using rootConvertor --
218
242
 
219
- /*
220
- input :
221
- .a{
222
- padding : 20px
223
- }
224
- output :
225
- // on settingObject file :
226
- { padding : { replacements : { px : 'zd_size$$' }}}
227
- .a{
228
- padding : zd_size20;
229
- }
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
+ }
230
254
  */
231
255
 
232
256
  compilation.hooks.optimizeModules.tap('VariableConversionCollector', modules => {
@@ -238,24 +262,30 @@ class VariableConversionCollector {
238
262
  });
239
263
  });
240
264
  });
241
- /*
242
- purpose of tap : to display the errors encountered so far
243
- input :
244
- all css files
245
- output :
246
- 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
247
271
  */
248
272
 
249
273
  compiler.hooks.afterEmit.tap('error-display', () => {
250
- if (Object.keys(unassigned).length > 0) {
274
+ if (Object.keys(unassigned).length > 0 && strictMode) {
251
275
  console.log();
252
276
  console.log(unassigned);
253
277
  console.log();
278
+ let str = '{\n';
279
+ Object.keys(unassigned).forEach(key => {
280
+ str += `"${key}" : "${unassigned[key]}",\n`;
281
+ });
282
+ str += '}';
283
+ fs.writeFileSync('./.cli/logs/unassignedVariables.log', str, 'utf-8');
254
284
  throw new Error('^^^ Variables above have not been assigned! ^^^');
255
285
  }
256
286
 
257
- let avlTypes = new Set([]);
258
- let srtArr = errTable.sort((a, b) => {
287
+ const avlTypes = new Set([]);
288
+ const srtArr = errTable.sort((a, b) => {
259
289
  avlTypes.add(a.type);
260
290
  avlTypes.add(b.type);
261
291
 
@@ -302,13 +332,13 @@ class VariableConversionCollector {
302
332
  }
303
333
 
304
334
  if (errorLogStatus) {
305
- fs.writeFileSync('./css_error.log', '');
335
+ fs.writeFileSync('./.cli/logs/css_error.log', '');
306
336
  console.log('writing to logFile...');
307
337
 
308
338
  if (errors.length > 0) {
309
339
  errors.forEach((err, index) => {
310
340
  if (errTable[index].decl.prop && errTable[index].decl.value) {
311
- fs.appendFileSync('./css_error.log', err);
341
+ fs.appendFileSync('./.cli/logs/css_error.log', err);
312
342
  }
313
343
  });
314
344
  }
@@ -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',
@@ -91,6 +91,10 @@ var _default = {
91
91
  cssDirStatement: null
92
92
  },
93
93
  app: {
94
+ moduleResolvePath: {
95
+ value: '',
96
+ cli: 'module_resolve_path'
97
+ },
94
98
  // this option only for impact testing
95
99
  devCssFileBountry: {
96
100
  value: '',
@@ -137,6 +141,10 @@ var _default = {
137
141
  value: 'dev',
138
142
  cli: 'app_mode'
139
143
  },
144
+ httpsCerts: {
145
+ value: null,
146
+ cli: 'https_certs'
147
+ },
140
148
  branch: {
141
149
  value: 'master',
142
150
  cli: 'app_branch'