@zohodesk/react-cli 1.0.2 → 1.0.3-beta.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 (38) hide show
  1. package/README.md +24 -0
  2. package/bin/cli.js +1 -1
  3. package/lib/common/testPattern.js +0 -2
  4. package/lib/common/valueReplacer.js +1 -3
  5. package/lib/configs/resolvers.js +14 -3
  6. package/lib/loaderUtils/getCSSLoaders.js +2 -7
  7. package/lib/loaders/selectorMappingLoader.js +9 -9
  8. package/lib/logger.js +20 -0
  9. package/lib/pluginUtils/getDevPlugins.js +5 -0
  10. package/lib/pluginUtils/getProdPlugins.js +4 -0
  11. package/lib/plugins/CustomAttributePlugin.js +82 -0
  12. package/lib/plugins/CustomAttributePlugin.md +35 -0
  13. package/lib/plugins/EFCPlugin.js +9 -9
  14. package/lib/plugins/EFCTemplatePlugin.js +10 -12
  15. package/lib/plugins/I18NInjectIntoIndexPlugin.js +8 -9
  16. package/lib/plugins/I18nSplitPlugin/I18nDebugPlugin.js +2 -3
  17. package/lib/plugins/I18nSplitPlugin/I18nKeysIdentifer.js +2 -7
  18. package/lib/plugins/I18nSplitPlugin/index.js +1 -1
  19. package/lib/plugins/I18nSplitPlugin/utils/propertiesUtils.js +8 -8
  20. package/lib/plugins/SelectorPlugin.js +4 -10
  21. package/lib/plugins/VariableConversionCollector.js +0 -4
  22. package/lib/postcss-plugins/IncludePlugin.js +0 -1
  23. package/lib/postcss-plugins/RTLSplitPlugin.js +4 -10
  24. package/lib/postcss-plugins/ValueReplacer.js +2 -4
  25. package/lib/postcss-plugins/hoverActivePlugin.js +0 -6
  26. package/lib/postcss-plugins/variableModificationPlugin/index.js +1 -2
  27. package/lib/postcss-plugins/variableModifier.js +24 -58
  28. package/lib/schemas/index.js +8 -1
  29. package/lib/servers/devBuild.js +13 -11
  30. package/lib/servers/httpsOptions.js +12 -13
  31. package/lib/servers/nowatchserver.js +5 -3
  32. package/lib/servers/requireLocalOrGlobal.js +61 -0
  33. package/lib/servers/server.js +1 -3
  34. package/lib/utils/cssClassNameGenerate.js +11 -12
  35. package/npm-shrinkwrap.json +14407 -0
  36. package/package.json +3 -2
  37. package/result.json +0 -1
  38. package/unittest/index.html +0 -37
@@ -11,6 +11,8 @@ var _fs = require("fs");
11
11
 
12
12
  var _path = require("path");
13
13
 
14
+ var _logger = require("../../../logger");
15
+
14
16
  function isComment(line) {
15
17
  return line[0] === '#';
16
18
  }
@@ -18,7 +20,7 @@ function isComment(line) {
18
20
  function getPropertiesAsJSON(filePath) {
19
21
  try {
20
22
  const data = (0, _fs.readFileSync)(filePath);
21
- let source = data.toString();
23
+ const source = data.toString();
22
24
  const i18nObj = {};
23
25
  source.split(/\r?\n\r?/).forEach(fline => {
24
26
  const line = fline.trim();
@@ -42,7 +44,7 @@ function getPropertiesAsJSON(filePath) {
42
44
  }
43
45
 
44
46
  function getLang(file) {
45
- let underScoreIndex = file.indexOf('_');
47
+ const underScoreIndex = file.indexOf('_');
46
48
  let language = 'en_US';
47
49
 
48
50
  if (underScoreIndex !== -1) {
@@ -68,26 +70,24 @@ function getAllI18n({
68
70
  const filePath = (0, _path.join)(context, file);
69
71
 
70
72
  if (exclude.test(filePath) || !include.test(filePath)) {
71
- // console.log('exclude', filePath);
72
73
  return;
73
- } // console.log('include', filePath);
74
-
74
+ }
75
75
 
76
76
  const i18n = getPropertiesAsJSON(filePath);
77
77
  allLangI18n[getLang(file)] = disableDefault ? i18n : Object.assign({}, jsResourceI18nKeys, i18n);
78
78
  });
79
79
  return allLangI18n;
80
80
  } catch (err) {
81
- // console.log(err);
81
+ (0, _logger.errorLogger)(err);
82
82
  return {};
83
83
  }
84
84
  }
85
85
 
86
86
  function jsonToString(json, keySeperator) {
87
87
  let str = '{';
88
- let keys = Object.keys(json);
88
+ const keys = Object.keys(json);
89
89
  keys.forEach((key, i) => {
90
- let value = json[key];
90
+ const value = json[key];
91
91
 
92
92
  if (!value) {
93
93
  return;
@@ -46,21 +46,16 @@ function rootConvertor(rootOriginal, defaultSelector, data, filename, excludeStr
46
46
  if (singleSelectorStr.includes(']')) {
47
47
  if (singleSelectorStr.slice(singleSelectorStr.lastIndexOf(']') + 2).trim() === '') {
48
48
  return;
49
- } // console.log(
50
- // rule.slice(rule.lastIndexOf(']') + 2).trim(),
51
- // rule.slice(rule.lastIndexOf(']') + 2).trim() !== ''
52
- // );
53
-
54
-
55
- selectorArr[index] = `${singleSelectorStr.slice(0, singleSelectorStr.lastIndexOf(']') + 1).trim()} ${defaultSelector}${singleSelectorStr.slice(singleSelectorStr.lastIndexOf(']') + 2).trim()}`; // console.log(ruleArr[index]);
49
+ }
56
50
 
51
+ selectorArr[index] = `${singleSelectorStr.slice(0, singleSelectorStr.lastIndexOf(']') + 1).trim()} ${defaultSelector}${singleSelectorStr.slice(singleSelectorStr.lastIndexOf(']') + 2).trim()}`;
57
52
  return;
58
53
  }
59
54
 
60
55
  const keyMatch = checkFilename(filename, data);
61
56
  selectorArr[index] = data[keyMatch] ? `${data[keyMatch].defaultSelector}${singleSelectorStr}` : `${defaultSelector}${singleSelectorStr}`;
62
57
  });
63
- rule.selector = selectorArr.join(',\n'); // console.log(`${rule.selector} converted`);
58
+ rule.selector = selectorArr.join(',\n');
64
59
  });
65
60
  return rootOriginal;
66
61
  }
@@ -103,8 +98,7 @@ class SelectorPlugin {
103
98
 
104
99
  if (ignoreFile(this.exclude, filename)) {
105
100
  return;
106
- } // console.log(filename);
107
-
101
+ }
108
102
 
109
103
  module.content = //new RawSource(
110
104
  rootConvertor(rootOriginal, defaultSelector, data, filename, excludeStrings).toString(); // );
@@ -190,9 +190,6 @@ class VariableConversionCollector {
190
190
  variables[extractedValue] = decl.prop;
191
191
  } else {
192
192
  if (new RegExp(supportedProps.join('|'), 'gi').test(decl.prop)) {
193
- // console.log(
194
- // `${extractedValue} : ${variables[extractedValue]} already exists please check!`
195
- // );
196
193
  if (errorsAllowed.MULTIPLE_OCCURANCES) {
197
194
  const errObj = {
198
195
  decl,
@@ -206,7 +203,6 @@ class VariableConversionCollector {
206
203
  }
207
204
  }
208
205
  } else {
209
- // console.log(decl.prop);
210
206
  if (/^--/gi.test(decl.prop) && val.trim() !== '' && !variables[decl.prop]) {
211
207
  if (!Object.keys(variablesRead.ignore).includes(decl.prop)) {
212
208
  unassigned[decl.prop] = variables[decl.prop];
@@ -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
 
@@ -66,7 +65,6 @@ function mergeIfSameSelector(rule) {
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
  // );
@@ -24,13 +24,12 @@ root => {
24
24
  root.walkDecls(decl => {
25
25
  valueReplacer.forEach(obj => {
26
26
  if (obj.props.indexOf(decl.prop) !== -1) {
27
- let ks = Object.keys(obj.values).sort((a, b) => b.length - a.length);
27
+ const ks = Object.keys(obj.values).sort((a, b) => b.length - a.length);
28
28
  ks.forEach(k => {
29
29
  decl.value = decl.value.replace(k, obj.values[k]);
30
30
  }); //decl.value = obj.values[decl.value];
31
31
  }
32
- }); //console.log({root, roots:root+""}, root+"")
33
- // Transform CSS AST here
32
+ }); // Transform CSS AST here
34
33
  }); // root.walkDecls(decl => {
35
34
  // valueReplacer.forEach(obj => {
36
35
  // if (
@@ -40,7 +39,6 @@ root => {
40
39
  // decl.value = obj.values[decl.value];
41
40
  // }
42
41
  // });
43
- // //console.log({root, roots:root+""}, root+"")
44
42
  // // Transform CSS AST here
45
43
  // });
46
44
  });
@@ -158,7 +158,6 @@ module.exports = _postcss.default.plugin('postcss-mobile-hover', mediaQueryHover
158
158
 
159
159
  function mediaCommaQuery(rule, index) {
160
160
  if (rule.parent.params !== undefined && !rule.parent.params.includes('hover')) {
161
- //console.log(hovMed, actMed);
162
161
  let newSelector = '';
163
162
  const {
164
163
  hovMed,
@@ -232,7 +231,6 @@ module.exports = _postcss.default.plugin('postcss-mobile-hover', mediaQueryHover
232
231
  }
233
232
 
234
233
  function commaQuery(rule, index) {
235
- //console.log("comma" , rule.selector.split('\n'));
236
234
  let newSelector = '';
237
235
  const hovQueries = [];
238
236
  rule.selector.split(/\s*,\s*/).forEach(_subrule => {
@@ -288,13 +286,10 @@ module.exports = _postcss.default.plugin('postcss-mobile-hover', mediaQueryHover
288
286
  });
289
287
  rootOriginal.walkRules(/:hover/i, (rule, index) => {
290
288
  // media hover query with ',' ' ' '+'
291
- // console.log("media query" , rule.selector)
292
289
  if (rule.parent.type === 'atrule' && rule.selector.includes(',')) {
293
- //console.log("media comma", rule.selector)
294
290
  mediaCommaQuery(rule, index);
295
291
  } else {
296
292
  // plus, space and other media queries
297
- //console.log("media", rule.selector)
298
293
  mediaQuery(rule, index);
299
294
  } // usual hover query
300
295
 
@@ -311,7 +306,6 @@ module.exports = _postcss.default.plugin('postcss-mobile-hover', mediaQueryHover
311
306
  if (rule.selector.includes(',')) {
312
307
  commaQuery(rule, index);
313
308
  } else if (rule.selector.match(/ +|\++/g)) {
314
- //console.log("plus or space" , rule.selector);
315
309
  if (rule.selector.includes('hover')) {
316
310
  hoverRules.push({
317
311
  rule,
@@ -206,8 +206,7 @@ module.exports = {
206
206
  }
207
207
 
208
208
  if (settingsObject[decl.prop] && !decl.value.includes('var(--')) {
209
- const settings = settingsObject[decl.prop]; // console.log(settings)
210
-
209
+ const settings = settingsObject[decl.prop];
211
210
  const {
212
211
  allowed,
213
212
  range
@@ -7,19 +7,19 @@ const path = require('path');
7
7
  const fs = require('fs');
8
8
 
9
9
  function populateArray(start, end) {
10
- let temp = [];
10
+ const temp = [];
11
11
 
12
- for (var i = start; i < end; i++) {
12
+ for (let i = start; i < end; i++) {
13
13
  temp.push(i);
14
14
  }
15
15
 
16
16
  return temp;
17
17
  }
18
18
 
19
- let allwdVars = {
19
+ const allwdVars = {
20
20
  'font-size': ['px', 'em']
21
21
  };
22
- let numberObject = {
22
+ const numberObject = {
23
23
  'font-size': {
24
24
  allowed: ['px', 'em'],
25
25
  replacements: {
@@ -89,27 +89,21 @@ function hasIgnoreComment(node) {
89
89
  return node ? node.type == 'comment' ? node.text == 'Variable:Ignore' ? true : false : false : false;
90
90
  }
91
91
 
92
- let errors = [];
92
+ const errors = [];
93
93
  module.exports = postcss.plugin('postcss-variable-report', () => rootOriginal => {
94
- // console.log('inside postcss plugin')
95
- // fs.writeFile('./css_error.log', '\r\nLog File: \r\n\r\n', (err) => {
96
- // if(err)console.log(err);
97
- // });
98
- // console.log(rootOriginal.source.input.file);
99
94
  if (!rootOriginal.source.input.file.includes('css_error')) {
100
95
  rootOriginal.walkRules(rule => {
101
96
  rule.walkDecls((decl, position) => {
102
97
  // case font-size
103
98
  if (!hasIgnoreComment(rule.nodes[position - 1])) {
104
- console.log(settings);
105
- let unit = decl.value.replace(/[0-9]/g, '');
106
- let settings = numberObject[decl.prop];
107
- let path = rootOriginal.source.input.from;
99
+ const unit = decl.value.replace(/[0-9]/g, '');
100
+ const settings = numberObject[decl.prop];
101
+ const path = rootOriginal.source.input.from;
108
102
  let filename = path.split('\\');
109
103
  filename = filename[filename.length - 1];
110
104
 
111
105
  if (decl.prop === 'font-size' || decl.prop === 'margin-left' || decl.prop === 'margin-right' || decl.prop === 'margin-top' || decl.prop === 'margin-bottom') {
112
- let {
106
+ const {
113
107
  allowed,
114
108
  replacements,
115
109
  available
@@ -118,12 +112,11 @@ module.exports = postcss.plugin('postcss-variable-report', () => rootOriginal =>
118
112
  if (!rootOriginal.source.input.from.includes('node_modules')) {
119
113
  if (unit != 0) {
120
114
  if (allowed.includes(unit)) {
121
- // console.log(available, parseInt(decl.value))
122
115
  if (available.includes(parseInt(decl.value))) {
123
116
  // replacementValues[unit].push({[decl.value] : replacements[unit].replace('$$', parseInt(decl.value))})
124
- decl.value = replacements[unit].replace('$$', parseInt(decl.value)); //console.log("replacements:")
117
+ decl.value = replacements[unit].replace('$$', parseInt(decl.value));
125
118
  } else {
126
- let err = {
119
+ const err = {
127
120
  prop: decl.prop,
128
121
  value: decl.value,
129
122
  filename,
@@ -135,7 +128,7 @@ module.exports = postcss.plugin('postcss-variable-report', () => rootOriginal =>
135
128
  errors.push(err);
136
129
  }
137
130
  } else {
138
- let err = {
131
+ const err = {
139
132
  prop: decl.prop,
140
133
  value: decl.value,
141
134
  filename,
@@ -149,36 +142,33 @@ module.exports = postcss.plugin('postcss-variable-report', () => rootOriginal =>
149
142
  }
150
143
  }
151
144
  } else if (decl.prop === 'margin') {
152
- let {
145
+ const {
153
146
  allowed,
154
147
  replacements,
155
148
  available
156
- } = settings; //console.log(decl.prop + " " + decl.value)
157
-
158
- let valArr = decl.value.split(' '); //console.log(valArr)
159
- //console.log(allowed, replacements, available)
160
-
149
+ } = settings;
150
+ const valArr = decl.value.split(' ');
161
151
  let hasError = false;
162
152
  let newVal = '';
163
153
  valArr.forEach(val => {
164
- let unit = val.replace(parseInt(val), '');
165
- let numVal = parseInt(val);
154
+ const unit = val.replace(parseInt(val), '');
155
+ const numVal = parseInt(val);
166
156
 
167
157
  if (unit != 0) {
168
158
  if (allowed.includes(unit)) {
169
159
  if (available.includes(numVal)) {
170
160
  if (numVal >= 0) {
171
161
  if (!hasError) {
172
- newVal += replacements[unit].replace('$$', numVal) + " ";
162
+ newVal += `${replacements[unit].replace('$$', numVal)} `;
173
163
  }
174
164
  } else {
175
165
  if (!hasError) {
176
- newVal += `calc(${replacements[unit].replace('$$', numVal * -1)} * -1)` + " ";
166
+ newVal += `calc(${replacements[unit].replace('$$', numVal * -1)} * -1)` + ' ';
177
167
  }
178
168
  }
179
169
  } else {
180
170
  hasError = true;
181
- let err = {
171
+ const err = {
182
172
  prop: decl.prop,
183
173
  value: numVal,
184
174
  filename,
@@ -191,7 +181,7 @@ module.exports = postcss.plugin('postcss-variable-report', () => rootOriginal =>
191
181
  }
192
182
  } else {
193
183
  hasError = true;
194
- let err = {
184
+ const err = {
195
185
  prop: decl.prop,
196
186
  value: decl.value,
197
187
  filename,
@@ -211,34 +201,10 @@ module.exports = postcss.plugin('postcss-variable-report', () => rootOriginal =>
211
201
  }
212
202
  }
213
203
  });
214
- }); //fs.writeFile('./src/trial.json', JSON.stringify(variables) ,(err) =>{
215
- // if(err)console.log(err);
216
- // else{
217
- // console.log('updated successfully');
218
- // }
219
- // })
220
- // console.log(errors)
221
-
222
- let errorArr = [];
204
+ });
205
+ const errorArr = [];
223
206
  errors.forEach(errStr => {
224
207
  errorArr.push(` prop: ${errStr.prop} ,\n value : ${errStr.value} ,\n filename : ${errStr.filename} ,\n filepath : ${errStr.filepath} ,\n line : ${errStr.line} ,\n unit : ${errStr.unit} ,\n message : ${errStr.message} \r`);
225
- }); //fs.writeFile('./css_error.log','', (err) =>{
226
- // if(err){
227
- // console.log(err);
228
- // }
229
- //});
230
- // errorArr.forEach(err => {
231
- // let data = `\n{\n${err}\n},\n`;
232
- // //fs.appendFile('./css_error.log',data,(err)=>{
233
- // // if(err){
234
- // // console.log(err);
235
- // // }
236
- // //})
237
- // });
238
- // fs.writeFileSync('./css_error.log','');
239
- // errorArr.forEach(err => {
240
- // let data = `\n{\n${err}\n},\n`;
241
- // fs.appendFileSync('./css_error.log',data);
242
- // });
208
+ });
243
209
  }
244
210
  });
@@ -92,7 +92,7 @@ var _default = {
92
92
  },
93
93
  app: {
94
94
  moduleResolvePath: {
95
- value: '',
95
+ value: '@zohodesk/client_packages_group',
96
96
  cli: 'module_resolve_path'
97
97
  },
98
98
  // this option only for impact testing
@@ -124,6 +124,13 @@ var _default = {
124
124
  filenames: [],
125
125
  packages: []
126
126
  },
127
+ customAttributes: {
128
+ enable: false,
129
+ attributes: null,
130
+ jsAttributes: null,
131
+ cssAttributes: null,
132
+ i18nAttributes: null
133
+ },
127
134
  server: {
128
135
  host: {
129
136
  value: (0, _os.hostname)(),
@@ -15,6 +15,8 @@ var _utils = require("../utils");
15
15
 
16
16
  var _getCliPath = require("./getCliPath");
17
17
 
18
+ var _logger = require("../logger");
19
+
18
20
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
19
21
 
20
22
  const options = (0, _utils.getOptions)(); // const args = process.argv.slice(3);
@@ -35,28 +37,28 @@ const zipname = cssSelectorZipPath ? _path.default.parse(cssSelectorZipPath).nam
35
37
  const outputFolderLocation = _path.default.join(process.cwd(), outputFolder);
36
38
 
37
39
  function execSyncDefalut(command) {
38
- console.log(' command running ==>', command);
40
+ (0, _logger.messageLogger)(' command running ==>', command);
39
41
  return (0, _child_process.execSync)(command, {
40
42
  stdio: 'inherit'
41
43
  });
42
44
  }
43
45
 
44
46
  const isQuiet = 'q';
45
- const webpack = (0, _getCliPath.getCliPath)('webpack'); // console.log('webpack === > ', webpack, fs.existsSync(webpack));
47
+ const webpack = (0, _getCliPath.getCliPath)('webpack'); // messageLogger('webpack === > ', webpack, fs.existsSync(webpack));
46
48
 
47
49
  if (_fs.default.existsSync(outputFolderLocation)) {
48
50
  execSyncDefalut(`rm -rf ${outputFolder}`);
49
- console.log(`previous ${outputFolder} removed`);
51
+ (0, _logger.messageLogger)(`previous ${outputFolder} removed`);
50
52
  }
51
53
 
52
54
  if (_fs.default.existsSync(_path.default.join(process.cwd(), 'build.zip'))) {
53
55
  execSyncDefalut('rm build.zip');
54
- console.log('previous build.zip removed');
56
+ (0, _logger.messageLogger)('previous build.zip removed');
55
57
  } // execSyncDefalut(`${webpack } --version`);
56
58
  // execSyncDefalut(`${webpack} --config ${require.resolve('../configs/webpack.dev.config.js')}`);
57
59
 
58
60
 
59
- console.log('webpack compilation starts...');
61
+ (0, _logger.messageLogger)('webpack compilation starts...');
60
62
  const startTime = Date.now(); // const result = spawnSync(
61
63
  // webpack,
62
64
  // ['--config', require.resolve('../configs/webpack.dev.config.js')].concat(
@@ -67,31 +69,31 @@ const startTime = Date.now(); // const result = spawnSync(
67
69
  // --disable_watch=true
68
70
 
69
71
  const result = execSyncDefalut(`${webpack} --config ${require.resolve('../configs/webpack.dev.config.js')} ${process.argv.slice(2).map(o => o.replace(/(.*?)=(.*)/, '$1="$2"')).join(' ')} `);
70
- result && console.log(result);
72
+ result && (0, _logger.messageLogger)(result);
71
73
 
72
74
  if (result && result.stderr) {
73
75
  throw result.stderr;
74
76
  }
75
77
 
76
- console.log(`compailation done in ${Date.now() - startTime}ms`);
78
+ (0, _logger.messageLogger)(`compailation done in ${Date.now() - startTime}ms`);
77
79
 
78
80
  if (zipname) {
79
81
  execSyncDefalut(`zip -r${isQuiet} build.zip ${outputFolder}/*`);
80
- console.log('build.zip file created');
82
+ (0, _logger.messageLogger)('build.zip file created');
81
83
  const result = execSyncDefalut(`zip -r${isQuiet} ${cssSelectorZipPath} ${zipname}/*`);
82
84
  execSyncDefalut(`rm -rf ${zipname}`);
83
85
 
84
86
  if (result && result.stderr) {
85
- console.log('zip file not created', cssSelectorZipPath);
87
+ (0, _logger.messageLogger)('zip file not created', cssSelectorZipPath);
86
88
  console.error(result.stderr);
87
89
  } else {
88
- console.log('zip file created', cssSelectorZipPath);
90
+ (0, _logger.messageLogger)('zip file created', cssSelectorZipPath);
89
91
  }
90
92
  } // npm run start --app:domain=tsi --impact:cssbountry="{$@&&@$}" --disable-watch --dev-cache --cssselector_zip=css-source-map.zip
91
93
  // npm run start --app_domain=tsi --impact_cssbountry="{$@&&@$}" --disable-watch --dev-cache --cssselector_zip=css-source-map.zip
92
94
 
93
95
 
94
- console.log(`compailation done in ${Date.now() - startTime}ms`);
96
+ (0, _logger.messageLogger)(`compailation done in ${Date.now() - startTime}ms`);
95
97
 
96
98
  function getPaths() {
97
99
  return {
@@ -6,21 +6,17 @@ Object.defineProperty(exports, "__esModule", {
6
6
  exports.httpsOptions = httpsOptions;
7
7
  exports.httpsOptionsWithUserFriendlyError = httpsOptionsWithUserFriendlyError;
8
8
 
9
- // import fs from 'fs';
10
- // import path from 'path';
11
- // export const httpsOptions = {
12
- // key: fs.readFileSync(path.join(__dirname, './cert/Tsicsezwild-22-23.key')),
13
- // cert: fs.readFileSync(path.join(__dirname, './cert/Tsicsezwild-22-23.crt'))
14
- // };
9
+ var _logger = require("../logger");
10
+
11
+ var _requireLocalOrGlobal = require("./requireLocalOrGlobal");
12
+
13
+ const globalCertificate = (0, _requireLocalOrGlobal.requireGlobal)('@zohodesk-private/client_dev_cert');
14
+
15
15
  function httpsOptions(options) {
16
16
  const {
17
17
  httpsCerts
18
18
  } = options.app.server;
19
-
20
- const certificate = require(require.resolve(httpsCerts, {
21
- paths: [process.cwd()]
22
- })); // TODO: in future we may do some version based check. certificate.version
23
-
19
+ const certificate = (0, _requireLocalOrGlobal.requireLocalOrGlobal)(httpsCerts); // TODO: in future we may do some version based check. certificate.version
24
20
 
25
21
  return certificate.httpsOptions;
26
22
  }
@@ -36,13 +32,16 @@ function httpsOptionsWithUserFriendlyError(options) {
36
32
  return certificate;
37
33
  } catch (error) {
38
34
  if (error.message.indexOf('Cannot find module') !== -1) {
39
- console.error(`You have given react-cli.app.server.httpsCerts as "${httpsCerts}". \n But it seems that file path have some problem.\n we are unable to locate "${httpsCerts}" in "${process.cwd()}"`);
35
+ (0, _logger.errorLogger)(`You have given react-cli.app.server.httpsCerts as "${httpsCerts}". \n But it seems that file path have some problem.\n we are unable to locate "${httpsCerts}" in "${process.cwd()}"`);
40
36
  } else {
41
- console.error(error);
37
+ (0, _logger.errorLogger)(error);
42
38
  }
43
39
 
44
40
  process.exit(0);
45
41
  }
42
+ } else if (globalCertificate) {
43
+ (0, _logger.messageLogger)('global `@zohodesk-private/client_dev_cert` package taken as https certificate');
44
+ return globalCertificate.httpsOptions;
46
45
  } else {
47
46
  return null;
48
47
  }
@@ -16,6 +16,8 @@ var _httpsOptions = require("./httpsOptions");
16
16
 
17
17
  var _devBuild = require("./devBuild");
18
18
 
19
+ var _logger = require("../logger");
20
+
19
21
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
20
22
 
21
23
  // import webpack from 'webpack';
@@ -128,7 +130,7 @@ if (zipname) {
128
130
  throw err;
129
131
  }
130
132
 
131
- console.log(`${zipname}.zip downloaded`);
133
+ (0, _logger.messageLogger)(`${zipname}.zip downloaded`);
132
134
  });
133
135
  });
134
136
  app.use('/zips/build.zip', (req, res) => {
@@ -137,7 +139,7 @@ if (zipname) {
137
139
  throw err;
138
140
  }
139
141
 
140
- console.log('build.zip downloaded');
142
+ (0, _logger.messageLogger)('build.zip downloaded');
141
143
  });
142
144
  });
143
145
  }
@@ -188,7 +190,7 @@ if (httpsOptions) {
188
190
  }, 'htt' + 'ps')}${contextURL}/`, 'http2 server');
189
191
  });
190
192
  } else {
191
- (0, _utils.log)("Your node version didn't adopted http2 support. Kindly update that to 8 LTS or above you can engage the http2");
193
+ (0, _utils.log)('Your node version didn\'t adopted http2 support. Kindly update that to 8 LTS or above you can engage the http2');
192
194
  }
193
195
  }
194
196
 
@@ -0,0 +1,61 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.globalNodeModules = void 0;
7
+ exports.requireGlobal = requireGlobal;
8
+ exports.requireLocal = requireLocal;
9
+ exports.requireLocalOrGlobal = requireLocalOrGlobal;
10
+
11
+ var _child_process = require("child_process");
12
+
13
+ var _path = _interopRequireDefault(require("path"));
14
+
15
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
16
+
17
+ const globalNodeModules = _path.default.join(`${(0, _child_process.execSync)('npm config get prefix')}`.trim(), 'lib');
18
+
19
+ exports.globalNodeModules = globalNodeModules;
20
+
21
+ function requireLocalOrGlobal(moduleName, opts = {}) {
22
+ let {
23
+ global = true
24
+ } = opts;
25
+ const {
26
+ local = true
27
+ } = opts;
28
+ const isRelativePath = moduleName === '.'; // NOTE: if starts with . then it only mean local
29
+
30
+ if (isRelativePath) {
31
+ global = false;
32
+ }
33
+
34
+ try {
35
+ const paths = [local && process.cwd(), global && globalNodeModules].filter(Boolean); // x({ paths, globalNodeModules, global, local, opts });
36
+
37
+ const moduleResolvePath = require.resolve(moduleName, {
38
+ paths
39
+ });
40
+
41
+ return require(moduleResolvePath);
42
+ } catch (error) {
43
+ // NOTE: since we return null we can check out side
44
+ // console.log('Re validate: ', error);
45
+ return null;
46
+ }
47
+ }
48
+
49
+ function requireLocal(moduleName) {
50
+ return requireLocalOrGlobal(moduleName, {
51
+ global: false,
52
+ local: true
53
+ });
54
+ }
55
+
56
+ function requireGlobal(moduleName) {
57
+ return requireLocalOrGlobal(moduleName, {
58
+ global: true,
59
+ local: false
60
+ });
61
+ }