@zohodesk/react-cli 1.1.0 → 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 (80) hide show
  1. package/.vscode/settings.json +25 -0
  2. package/README.md +453 -34
  3. package/bin/cli.js +25 -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 +11 -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/reactLiveConvertor.js +64 -66
  34. package/lib/loaders/workerLoader.js +37 -22
  35. package/lib/logger.js +7 -0
  36. package/lib/pluginUtils/configHtmlWebpackPlugins.js +62 -2
  37. package/lib/pluginUtils/getDevPlugins.js +24 -8
  38. package/lib/pluginUtils/getProdPlugins.js +34 -6
  39. package/lib/plugins/CssOrderControlPlugin.js +36 -0
  40. package/lib/plugins/CustomScriptLoadingStrategyPlugin.js +109 -0
  41. package/lib/plugins/EfcResourceCleanupPlugin.js +43 -0
  42. package/lib/plugins/EventsHandlingPlugin.js +34 -0
  43. package/lib/plugins/I18nSplitPlugin/I18nDownlodLogic.js +5 -1
  44. package/lib/plugins/I18nSplitPlugin/utils/propertiesUtils.js +4 -1
  45. package/lib/plugins/I18nSplitPlugin/utils/unicodeConversion.js +14 -0
  46. package/lib/plugins/ReportGeneratePlugin.js +8 -6
  47. package/lib/plugins/ResourceHintsPlugin.js +13 -3
  48. package/lib/plugins/StatsPlugin.js +82 -0
  49. package/lib/plugins/UnusedFilesFindPlugin.js +7 -5
  50. package/lib/plugins/utils/fileHandling.js +36 -51
  51. package/lib/plugins/variableConvertorUtils.js +4 -2
  52. package/lib/postcss-plugins/ValueReplacer.js +7 -17
  53. package/lib/postcss-plugins/__test__/valueReplacer.spec.js +43 -0
  54. package/lib/postcss-plugins/variableModificationPlugin/index.js +70 -18
  55. package/lib/schemas/index.js +96 -27
  56. package/lib/servers/getCliPath.js +3 -5
  57. package/lib/servers/requireLocalOrGlobal.js +1 -1
  58. package/lib/utils/cssClassNameGenerate.js +43 -5
  59. package/lib/utils/deprecationSupport.js +134 -0
  60. package/lib/utils/getFileType.js +1 -1
  61. package/lib/utils/getOptions.js +34 -43
  62. package/lib/utils/getServerURL.js +7 -2
  63. package/lib/utils/index.js +27 -11
  64. package/lib/utils/initPreCommitHook.js +5 -5
  65. package/lib/utils/log.js +11 -0
  66. package/lib/utils/object-manipulation.js +88 -0
  67. package/lib/utils/pullOrigin.js +3 -3
  68. package/lib/utils/reinstallDependencies.js +3 -3
  69. package/lib/utils/selectorReplacer.js +47 -0
  70. package/lib/utils/switchBranch.js +4 -2
  71. package/lib/utils/typeCheck.js +10 -0
  72. package/lib/utils/variableConverter.js +26 -11
  73. package/npm-shrinkwrap.json +1001 -106
  74. package/package.json +12 -4
  75. package/templates/docs/all.html +1 -0
  76. package/templates/docs/component.html +1 -0
  77. package/templates/docs/components.html +1 -0
  78. package/templates/docs/css/markdown.css +202 -0
  79. package/templates/docs/css/style.css +136 -169
  80. package/templates/docs/index.html +796 -632
@@ -3,18 +3,28 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports.default = void 0;
6
+ exports.defaulter = exports.default = void 0;
7
7
 
8
8
  var _child_process = require("child_process");
9
9
 
10
- var _fs = _interopRequireDefault(require("fs"));
10
+ var _fs = _interopRequireWildcard(require("fs"));
11
11
 
12
12
  var _path = _interopRequireDefault(require("path"));
13
13
 
14
14
  var _schemas = _interopRequireDefault(require("../schemas"));
15
15
 
16
+ var _deprecationSupport = require("./deprecationSupport");
17
+
18
+ var _deprecationLogger = require("../deprecationLogger");
19
+
20
+ var _logger = require("../logger");
21
+
16
22
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
17
23
 
24
+ function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
25
+
26
+ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
27
+
18
28
  // import { argv } from 'process';
19
29
  const args = process.argv.slice(2); // console.log('argv', argv);
20
30
 
@@ -122,70 +132,51 @@ const defaulter = (target, source) => {
122
132
  return defaultObject;
123
133
  };
124
134
 
125
- global.reactCLIOptions = null; // function selectn(obj, key) {
126
- // let temp = obj;
127
- // let keys = key.split('.');
128
- // for (let i = 0; i < keys.length; i++) {
129
- // const element = keys[i];
130
- // temp = temp && temp[element];
131
- // }
132
- // return temp;
133
- // }
134
-
135
- function deprecationSupport(options) {
136
- // if (selectn(options, ".app.hasRTL") === true) {
137
- if (options.app.hasRTL === true) {
138
- options.app.plugins.hasRTL = true;
139
- }
135
+ exports.defaulter = defaulter;
136
+ global.reactCLIOptions = null;
140
137
 
141
- if (options.docs.hasRTL === true) {
142
- options.docs.plugins.hasRTL = true;
138
+ const getOptionsFromConfigFile = (appPath, configFileName) => {
139
+ const fileName = configFileName || 'react-cli.config.js';
140
+
141
+ if (!configFileName) {
142
+ (0, _logger.verboseLogger)('we have used default react-cli.config.js');
143
143
  }
144
144
 
145
- if (options.app.rtlExclude.length > 0) {
146
- options.app.exclude.rtl = options.app.rtlExclude;
145
+ const packagePath = _path.default.join(appPath, fileName);
146
+
147
+ if ((0, _fs.existsSync)(packagePath)) {
148
+ return require(packagePath).config;
147
149
  }
148
150
 
149
- if (options.docs.rtlExclude.length > 0) {
150
- options.docs.exclude.rtl = options.docs.rtlExclude;
151
+ const oldDeprecatedConfigFilePath = _path.default.join(appPath, 'build.config.js');
152
+
153
+ if ((0, _fs.existsSync)(oldDeprecatedConfigFilePath)) {
154
+ (0, _deprecationLogger.deprecateMessage)('"build.config.js" file was deprecated. So Kindly rename it as "react-cli.config.js"');
155
+ return require(oldDeprecatedConfigFilePath).config;
151
156
  }
152
157
 
153
- options.app.exclude.hasRTL = options.app.exclude.rtl;
154
- Object.keys(options.app.patterns).forEach(key => {
155
- if (options.app.exclude[key] && options.app.patterns[key].length === 0) {
156
- let tempArr = options.app.exclude[key];
157
- tempArr = tempArr.map(x => `!${x}`);
158
- options.app.patterns[key] = tempArr;
159
- }
160
- });
161
- Object.keys(options.docs.patterns).forEach(key => {
162
- if (options.docs.exclude[key] && options.docs.patterns[key].length === 0) {
163
- let tempArr = options.docs.exclude[key];
164
- tempArr = tempArr.map(x => `!${x}`);
165
- options.docs.patterns[key] = tempArr;
166
- }
167
- });
168
- }
158
+ return null;
159
+ };
169
160
 
170
- const getOptions = () => {
161
+ const getOptions = fromRoot => {
171
162
  if (global.reactCLIOptions) {
172
163
  return global.reactCLIOptions;
173
164
  }
174
165
 
175
166
  const appPath = process.cwd();
176
- let userSchemas;
167
+ let userSchemas = getOptionsFromConfigFile(appPath, processEnv.config_file);
177
168
 
178
169
  const packagePath = _path.default.join(appPath, 'package.json');
179
170
 
180
171
  if (_fs.default.existsSync(packagePath)) {
181
- userSchemas = require(packagePath)['react-cli'] || {};
172
+ userSchemas = userSchemas || require(packagePath)['react-cli'] || {};
182
173
  }
183
174
 
184
175
  const options = defaulter(_schemas.default, userSchemas || {}); // for future may be for npm 8 edge cases
185
176
 
186
177
  options.npmVersion = getNpmVersion();
187
178
  options.cwd = getCWD();
188
- deprecationSupport(options);
179
+ (0, _deprecationSupport.deprecationSupport)(options, options.disableDeprecationWarning || !fromRoot);
189
180
  options.packageVersion = process.env.npm_package_version;
190
181
  global.reactCLIOptions = options;
191
182
  return options;
@@ -5,13 +5,18 @@ Object.defineProperty(exports, "__esModule", {
5
5
  });
6
6
  exports.default = void 0;
7
7
 
8
- let getServerURL = (serverInfo, protocol) => {
8
+ const getServerURL = (serverInfo, protocol) => {
9
+ // eslint-disable-next-line prefer-const
9
10
  let {
10
11
  host,
11
12
  domain,
12
13
  port
13
14
  } = serverInfo;
14
15
 
16
+ if (domain === 'kubernetes') {
17
+ return `${protocol ? `${protocol}:` : ''}//${host}`;
18
+ }
19
+
15
20
  if (protocol) {
16
21
  if (protocol === 'ht' + 'tp') {
17
22
  port = Number(port) + 1;
@@ -20,7 +25,7 @@ let getServerURL = (serverInfo, protocol) => {
20
25
  return `${protocol ? `${protocol}:` : ''}//${host}.${domain}.zohocorpin.com:${Number(port) + 1}`;
21
26
  }
22
27
 
23
- return `${protocol ? `${protocol}:` : ''}//${host}:${port}`;
28
+ return `${protocol ? `${protocol}:` : ''}//${host}:${Number(port) + 1}`;
24
29
  }
25
30
  }
26
31
 
@@ -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'
@@ -0,0 +1,47 @@
1
+ "use strict";
2
+
3
+ var _getOptions = _interopRequireDefault(require("./getOptions"));
4
+
5
+ var _folderIterator = _interopRequireDefault(require("./folderIterator"));
6
+
7
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
8
+
9
+ const postcss = require('postcss');
10
+
11
+ const path = require('path');
12
+
13
+ const fs = require('fs');
14
+
15
+ const SelectorReplacePlugin = require('../postcss-plugins/SelectorReplace');
16
+
17
+ const cwd = process.cwd();
18
+ const src = path.join(cwd, process.argv[2]);
19
+ const dist = path.join(cwd, process.argv[3]);
20
+ const options = (0, _getOptions.default)();
21
+
22
+ function watchHandler(fromPath, toPath) {
23
+ const css = fs.readFileSync(fromPath, 'utf-8'); // console.log(css);
24
+
25
+ const {
26
+ css: cssOptions
27
+ } = options; // console.log(cssOptions, appOptions);
28
+
29
+ const {
30
+ selectorReplace
31
+ } = cssOptions;
32
+ postcss([SelectorReplacePlugin(selectorReplace)]).process(css, {
33
+ from: fromPath,
34
+ to: toPath
35
+ }).then(result => {
36
+ fs.writeFileSync(toPath, result.css);
37
+ }); // console.log(variableOptions);
38
+ }
39
+
40
+ (0, _folderIterator.default)(src, dist, ['.css'], false, (fromPath, toPath) => {
41
+ // console.log(fromPath, toPath);
42
+ watchHandler(fromPath, toPath);
43
+ }); // if (canWacth) {
44
+ // useExitCleanup(() => {
45
+ // fs.unwatchFile(src, watchHandler);
46
+ // });
47
+ // }
@@ -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
  }