@zohodesk/react-cli 1.1.1 → 1.1.2-9.exp.3

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 (78) hide show
  1. package/.vscode/settings.json +25 -0
  2. package/README.md +446 -35
  3. package/bin/cli.js +17 -52
  4. package/docs/CustomChunks.md +12 -9
  5. package/docs/MarkdownParser.md +18 -0
  6. package/docs/ReactLive.md +8 -0
  7. package/docs/ValueReplacer.md +27 -0
  8. package/lib/babel/babel-option-utils/babel-preset-react-option.js +22 -0
  9. package/lib/babel/cmjs-plugins-presets.js +36 -7
  10. package/lib/babel/es-plugins-presets.js +45 -16
  11. package/lib/common/runPreProcess.js +71 -0
  12. package/lib/common/splitChunks.js +65 -45
  13. package/lib/common/testPattern.js +9 -9
  14. package/lib/configs/jest.config.js +4 -4
  15. package/lib/configs/libAlias.js +36 -2
  16. package/lib/configs/resolvers.js +7 -4
  17. package/lib/configs/webpack.css.umd.config.js +3 -2
  18. package/lib/configs/webpack.dev.config.js +28 -8
  19. package/lib/configs/webpack.docs.config.js +10 -5
  20. package/lib/configs/webpack.impact.config.js +9 -4
  21. package/lib/configs/webpack.prod.config.js +32 -10
  22. package/lib/constants.js +3 -3
  23. package/lib/deprecationLogger.js +40 -0
  24. package/lib/jest/preProcessors/jsPreprocessor.js +27 -2
  25. package/lib/loaderUtils/configsAssetsLoaders.js +1 -1
  26. package/lib/loaderUtils/getCSSLoaders.js +32 -8
  27. package/lib/loaderUtils/getDevJsLoaders.js +8 -2
  28. package/lib/loaders/__test__/markdownLoader.spec.js +145 -0
  29. package/lib/loaders/composeLoader.js +140 -14
  30. package/lib/loaders/docsLoader.js +5 -2
  31. package/lib/loaders/enhancedReactLiveConverter.js +151 -0
  32. package/lib/loaders/markdownLoader.js +71 -0
  33. package/lib/loaders/workerLoader.js +37 -22
  34. package/lib/logger.js +7 -0
  35. package/lib/pluginUtils/configHtmlWebpackPlugins.js +62 -2
  36. package/lib/pluginUtils/getDevPlugins.js +24 -8
  37. package/lib/pluginUtils/getProdPlugins.js +34 -6
  38. package/lib/plugins/CssOrderControlPlugin.js +36 -0
  39. package/lib/plugins/CustomScriptLoadingStrategyPlugin.js +109 -0
  40. package/lib/plugins/EfcResourceCleanupPlugin.js +43 -0
  41. package/lib/plugins/EventsHandlingPlugin.js +34 -0
  42. package/lib/plugins/I18nSplitPlugin/I18nDownlodLogic.js +5 -1
  43. package/lib/plugins/I18nSplitPlugin/utils/propertiesUtils.js +4 -1
  44. package/lib/plugins/I18nSplitPlugin/utils/unicodeConversion.js +14 -0
  45. package/lib/plugins/ReportGeneratePlugin.js +8 -6
  46. package/lib/plugins/ResourceHintsPlugin.js +13 -3
  47. package/lib/plugins/StatsPlugin.js +82 -0
  48. package/lib/plugins/UnusedFilesFindPlugin.js +7 -5
  49. package/lib/plugins/utils/fileHandling.js +36 -51
  50. package/lib/plugins/variableConvertorUtils.js +4 -2
  51. package/lib/postcss-plugins/ValueReplacer.js +7 -17
  52. package/lib/postcss-plugins/__test__/valueReplacer.spec.js +43 -0
  53. package/lib/postcss-plugins/variableModificationPlugin/index.js +70 -18
  54. package/lib/schemas/index.js +67 -39
  55. package/lib/servers/getCliPath.js +3 -5
  56. package/lib/servers/requireLocalOrGlobal.js +1 -1
  57. package/lib/utils/cssClassNameGenerate.js +43 -5
  58. package/lib/utils/deprecationSupport.js +134 -0
  59. package/lib/utils/getFileType.js +1 -1
  60. package/lib/utils/getOptions.js +31 -69
  61. package/lib/utils/getServerURL.js +7 -2
  62. package/lib/utils/index.js +27 -11
  63. package/lib/utils/initPreCommitHook.js +5 -5
  64. package/lib/utils/log.js +11 -0
  65. package/lib/utils/object-manipulation.js +88 -0
  66. package/lib/utils/pullOrigin.js +3 -3
  67. package/lib/utils/reinstallDependencies.js +3 -3
  68. package/lib/utils/switchBranch.js +4 -2
  69. package/lib/utils/typeCheck.js +10 -0
  70. package/lib/utils/variableConverter.js +26 -11
  71. package/npm-shrinkwrap.json +929 -39
  72. package/package.json +12 -4
  73. package/templates/docs/all.html +1 -0
  74. package/templates/docs/component.html +1 -0
  75. package/templates/docs/components.html +1 -0
  76. package/templates/docs/css/markdown.css +202 -0
  77. package/templates/docs/css/style.css +136 -169
  78. package/templates/docs/index.html +796 -632
@@ -4,11 +4,11 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  var _exportNames = {
7
- log: true,
8
7
  writeFile: true,
9
8
  makeDir: true,
10
9
  getInfoFromPublicPaths: true,
11
10
  getLibraryConflict: true,
11
+ log: true,
12
12
  getOptions: true,
13
13
  createEventStream: true,
14
14
  getServerURL: true,
@@ -64,7 +64,13 @@ Object.defineProperty(exports, "jsonHelper", {
64
64
  return _jsonHelper.default;
65
65
  }
66
66
  });
67
- exports.makeDir = exports.log = void 0;
67
+ Object.defineProperty(exports, "log", {
68
+ enumerable: true,
69
+ get: function () {
70
+ return _log.log;
71
+ }
72
+ });
73
+ exports.makeDir = void 0;
68
74
  Object.defineProperty(exports, "pullOrigin", {
69
75
  enumerable: true,
70
76
  get: function () {
@@ -95,6 +101,8 @@ var _stream = require("stream");
95
101
 
96
102
  var _fs = _interopRequireDefault(require("fs"));
97
103
 
104
+ var _log = require("./log");
105
+
98
106
  var _getOptions = _interopRequireDefault(require("./getOptions"));
99
107
 
100
108
  var _createEventStream = _interopRequireDefault(require("./createEventStream"));
@@ -159,15 +167,23 @@ var _getComponents = _interopRequireDefault(require("./getComponents"));
159
167
 
160
168
  var _ssTestHack = _interopRequireDefault(require("./ssTestHack"));
161
169
 
162
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
170
+ var _typeCheck = require("./typeCheck");
163
171
 
164
- let log = (...info) => {
165
- let print = console;
166
- print.log(...info);
167
- };
172
+ Object.keys(_typeCheck).forEach(function (key) {
173
+ if (key === "default" || key === "__esModule") return;
174
+ if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
175
+ if (key in exports && exports[key] === _typeCheck[key]) return;
176
+ Object.defineProperty(exports, key, {
177
+ enumerable: true,
178
+ get: function () {
179
+ return _typeCheck[key];
180
+ }
181
+ });
182
+ });
168
183
 
169
- exports.log = log;
184
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
170
185
 
186
+ // eslint-disable-next-line no-duplicate-imports
171
187
  let writeFile = (outputPath, src, isPath = false) => new Promise((resolve, reject) => {
172
188
  let inStr;
173
189
 
@@ -314,9 +330,9 @@ let getLibraryConflict = (moduleObject, impactObj, changesOnly) => {
314
330
  whichLibrary = "No component file changes!";
315
331
  }
316
332
 
317
- log('\n');
318
- log('You can see the HTML out at coverageTest/impactLibrary.html!');
319
- log('\x1b[33m%s\x1b[0m', '************************************************************ \n ');
333
+ (0, _log.log)('\n');
334
+ (0, _log.log)('You can see the HTML out at coverageTest/impactLibrary.html!');
335
+ (0, _log.log)('\x1b[33m%s\x1b[0m', '************************************************************ \n ');
320
336
  return {
321
337
  response: allImpactArray,
322
338
  result: {
@@ -11,7 +11,7 @@ var _path = _interopRequireDefault(require("path"));
11
11
 
12
12
  var _child_process = require("child_process");
13
13
 
14
- var _index = require("./index");
14
+ var _log = require("./log");
15
15
 
16
16
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
17
17
 
@@ -38,7 +38,7 @@ let copyEslintConfig = rootDir => {
38
38
 
39
39
  _fs.default.writeFileSync(targetPath, src);
40
40
 
41
- (0, _index.log)('Eslint config added in project root path');
41
+ (0, _log.log)('Eslint config added in project root path');
42
42
  }
43
43
  };
44
44
 
@@ -58,7 +58,7 @@ let initPreCommitHook = (forReactCLI = false) => {
58
58
 
59
59
  _fs.default.writeFileSync(targetPath, precommit);
60
60
 
61
- (0, _index.log)('pre-commit hook added');
61
+ (0, _log.log)('pre-commit hook added');
62
62
  }
63
63
 
64
64
  let packagePath = _path.default.join(process.cwd(), 'package.json');
@@ -71,10 +71,10 @@ let initPreCommitHook = (forReactCLI = false) => {
71
71
 
72
72
  _fs.default.writeFileSync(packagePath, JSON.stringify(packageJson, null, 2));
73
73
 
74
- (0, _index.log)('lint script added in your package.json');
74
+ (0, _log.log)('lint script added in your package.json');
75
75
  }
76
76
  } catch (e) {
77
- (0, _index.log)('package.json not found');
77
+ (0, _log.log)('package.json not found');
78
78
  }
79
79
  }
80
80
  };
@@ -0,0 +1,11 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.log = log;
7
+
8
+ function log(...info) {
9
+ let print = console;
10
+ print.log(...info);
11
+ }
@@ -0,0 +1,88 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.convertObjectToStringGen = convertObjectToStringGen;
7
+ exports.removeKeysFromObject = removeKeysFromObject;
8
+
9
+ function objectPathMatcher(currentKey, objHierarchy = [], keysToBeRemoved = []) {
10
+ const objPathKey = objHierarchy.length > 0 ? `${objHierarchy.join('.')}.${currentKey}` : currentKey;
11
+ return keysToBeRemoved.some(key => {
12
+ const isWildPath = /^\*/.test(key);
13
+
14
+ if (isWildPath) {
15
+ const newKey = key.replace(/\*\.?/, '');
16
+ return objPathKey.includes(newKey);
17
+ }
18
+
19
+ return key === objPathKey;
20
+ });
21
+ }
22
+ /*
23
+ 1) *.keyTobeRemoved -> means match every object path, this key will be removed
24
+ 2) keyToBeremoved -> means root object key
25
+ 3) nestedPath.keyToBeRemoved -> means only that nested path key
26
+ 4) don't need to account for array iteration, just object key path is enough in the key to be removed.
27
+ */
28
+
29
+
30
+ function removeKeysFromObject(obj, keysToBeRemoved, prevKeys = []) {
31
+ if (Array.isArray(obj)) {
32
+ return obj.map(item => removeKeysFromObject(item, keysToBeRemoved, prevKeys));
33
+ }
34
+
35
+ if (obj && typeof obj === 'object') {
36
+ const filteredKeyObject = {};
37
+ const ObjectKeys = Object.keys(obj);
38
+
39
+ for (const objectKey of ObjectKeys) {
40
+ const isKeyToBeRemoved = objectPathMatcher(objectKey, prevKeys, keysToBeRemoved);
41
+
42
+ if (!isKeyToBeRemoved) {
43
+ filteredKeyObject[objectKey] = removeKeysFromObject(obj[objectKey], keysToBeRemoved, [...prevKeys, objectKey]);
44
+ }
45
+ }
46
+
47
+ return filteredKeyObject;
48
+ }
49
+
50
+ return obj;
51
+ }
52
+
53
+ function* convertObjectToStringGen(obj) {
54
+ if (typeof obj === 'string' || typeof obj === 'number' || typeof obj === 'boolean' || obj === null) {
55
+ yield JSON.stringify(obj);
56
+ } else if (Array.isArray(obj)) {
57
+ yield '[';
58
+ let isFirst = true;
59
+
60
+ for (let item of obj) {
61
+ if (item === undefined) {
62
+ item = null;
63
+ }
64
+
65
+ yield `${isFirst ? '' : ','}`;
66
+ yield* convertObjectToStringGen(item);
67
+ isFirst = false;
68
+ }
69
+
70
+ yield ']';
71
+ } else {
72
+ yield '{';
73
+ let isFirst = true;
74
+ const entries = Object.entries(obj);
75
+
76
+ for (const [itemKey, itemValue] of entries) {
77
+ if (itemValue === undefined) {
78
+ continue;
79
+ }
80
+
81
+ yield `${isFirst ? '' : ','}${JSON.stringify(itemKey)}: `;
82
+ yield* convertObjectToStringGen(itemValue);
83
+ isFirst = false;
84
+ }
85
+
86
+ yield '}';
87
+ }
88
+ }
@@ -7,20 +7,20 @@ exports.default = void 0;
7
7
 
8
8
  var _child_process = require("child_process");
9
9
 
10
- var _utils = require("../utils");
10
+ var _log = require("./log");
11
11
 
12
12
  var _default = (type = 'git', branchName) => new Promise(resolve => {
13
13
  if (type === 'git') {
14
14
  (0, _child_process.spawnSync)('git', ['pull', 'origin', branchName], {
15
15
  encoding: 'utf8'
16
16
  });
17
- (0, _utils.log)(branchName, 'Branch Pulled!');
17
+ (0, _log.log)(branchName, 'Branch Pulled!');
18
18
  resolve();
19
19
  } else if (type === 'hg') {
20
20
  (0, _child_process.spawnSync)('hg', ['pull'], {
21
21
  encoding: 'utf8'
22
22
  });
23
- (0, _utils.log)(branchName, 'Branch Pulled!');
23
+ (0, _log.log)(branchName, 'Branch Pulled!');
24
24
  resolve();
25
25
  }
26
26
  });
@@ -13,7 +13,7 @@ var _child_process = require("child_process");
13
13
 
14
14
  var _gitRootDir = _interopRequireDefault(require("git-root-dir"));
15
15
 
16
- var _index = require("./index");
16
+ var _log = require("./log");
17
17
 
18
18
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
19
19
 
@@ -80,7 +80,7 @@ let reinstallDependencies1 = pathToSubProjects => {
80
80
  let diffs = packageDiffChecker(prePackageJson, currentPackageJson);
81
81
 
82
82
  if (Object.keys(diffs).length) {
83
- (0, _index.log)(diffs, `package diffs between branches for ${project} project`);
83
+ (0, _log.log)(diffs, `package diffs between branches for ${project} project`);
84
84
  (0, _child_process.spawnSync)('rm', ['-rf', 'package-lock.json'], {
85
85
  cwd: projPath,
86
86
  stdio: 'inherit'
@@ -93,7 +93,7 @@ let reinstallDependencies1 = pathToSubProjects => {
93
93
  dummy.push(`${name}@${version}`);
94
94
  }
95
95
 
96
- (0, _index.log)(`npm ${['install'].concat(dummy).join(' ')}`);
96
+ (0, _log.log)(`npm ${['install'].concat(dummy).join(' ')}`);
97
97
  (0, _child_process.spawnSync)('npm', ['install'].concat(dummy), {
98
98
  cwd: projPath,
99
99
  stdio: 'inherit'
@@ -9,13 +9,15 @@ var _child_process = require("child_process");
9
9
 
10
10
  var _utils = require("../utils");
11
11
 
12
+ var _log = require("./log");
13
+
12
14
  var _default = (type = 'git', branchName) => new Promise(resolve => {
13
15
  if (type === 'git') {
14
- (0, _utils.log)((0, _utils.getCurrentBranch)(type, process.cwd()), 'Before the branch switch');
16
+ (0, _log.log)((0, _utils.getCurrentBranch)(type, process.cwd()), 'Before the branch switch');
15
17
  (0, _child_process.spawnSync)('git', ['checkout', branchName, '--force'], {
16
18
  encoding: 'utf8'
17
19
  });
18
- (0, _utils.log)((0, _utils.getCurrentBranch)(type, process.cwd()), 'After the branch switch');
20
+ (0, _log.log)((0, _utils.getCurrentBranch)(type, process.cwd()), 'After the branch switch');
19
21
  (0, _utils.pullOrigin)(type, branchName).then(resolve);
20
22
  } else if (type === 'hg') {
21
23
  (0, _child_process.spawnSync)('hg', ['update', branchName], {
@@ -0,0 +1,10 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.getTypeOf = getTypeOf;
7
+
8
+ function getTypeOf(value) {
9
+ return Object.prototype.toString.call(value).split(/\s/)[1].replace(/\]/, '').toLowerCase();
10
+ }
@@ -16,6 +16,8 @@ const path = require('path');
16
16
 
17
17
  const fs = require('fs');
18
18
 
19
+ const ignore = require('ignore');
20
+
19
21
  const postcssVariableConvertor = require('../postcss-plugins/variableModificationPlugin/index').plugin;
20
22
 
21
23
  const cwd = process.cwd();
@@ -45,7 +47,8 @@ function watchHandler(fromPath, toPath) {
45
47
  // errorsAllowed,
46
48
  // strictMode
47
49
 
48
- } = cssVariableOptions;
50
+ } = cssVariableOptions; //Variable Webpack Object Generation
51
+
49
52
  rootOriginal.walkRules(rule => {
50
53
  rule.walkDecls(decl => {
51
54
  decl.value.split(' ').forEach(val => {
@@ -58,23 +61,35 @@ function watchHandler(fromPath, toPath) {
58
61
  }
59
62
  });
60
63
  });
61
- });
64
+ }); // if (
65
+ // !isFileNameMatchingPluginPattern({
66
+ // filename: fromPath,
67
+ // filterArr
68
+ // })
69
+ // ) {
70
+ // return;
71
+ // }
62
72
 
63
- if (!(0, _fileHandling.isFileNameMatchingPluginPattern)({
64
- filename: fromPath,
65
- filterArr
66
- })) {
73
+ const ig = ignore({
74
+ allowRelativePaths: true
75
+ }).add(filterArr);
76
+
77
+ if (ig.ignores(fromPath)) {
78
+ // console.log(fromPath);
79
+ // console.log(ig.ignores(fromPath));
80
+ // console.log(
81
+ // '----------------------------------------------------------------'
82
+ // );
67
83
  return;
68
- }
84
+ } // Convert code
69
85
 
70
- const convertedCode = (0, _variableConvertorUtils.variableConverter)(rootOriginal, variables, settingsObject).toString(); // if (convertedCode.trim() !== '') {
71
- // fs.writeFileSync(fromPath, convertedCode);
72
- // }
73
- // console.log(convertedCode);
86
+
87
+ const convertedCode = (0, _variableConvertorUtils.variableConverter)(rootOriginal, variables, settingsObject).toString(); // run postcss plugin for css code input
74
88
 
75
89
  postcss([postcssVariableConvertor(cssVariableConfigFilePath)]).process(convertedCode, {
76
90
  from: undefined
77
91
  }).then(result => {
92
+ //write new css file data in file
78
93
  fs.writeFileSync(toPath, result.css);
79
94
  }); // console.log(variableOptions);
80
95
  }