@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.
- package/.vscode/settings.json +25 -0
- package/README.md +446 -35
- package/bin/cli.js +17 -52
- package/docs/CustomChunks.md +12 -9
- package/docs/MarkdownParser.md +18 -0
- package/docs/ReactLive.md +8 -0
- package/docs/ValueReplacer.md +27 -0
- package/lib/babel/babel-option-utils/babel-preset-react-option.js +22 -0
- package/lib/babel/cmjs-plugins-presets.js +36 -7
- package/lib/babel/es-plugins-presets.js +45 -16
- package/lib/common/runPreProcess.js +71 -0
- package/lib/common/splitChunks.js +65 -45
- package/lib/common/testPattern.js +9 -9
- package/lib/configs/jest.config.js +4 -4
- package/lib/configs/libAlias.js +36 -2
- package/lib/configs/resolvers.js +7 -4
- package/lib/configs/webpack.css.umd.config.js +3 -2
- package/lib/configs/webpack.dev.config.js +28 -8
- package/lib/configs/webpack.docs.config.js +10 -5
- package/lib/configs/webpack.impact.config.js +9 -4
- package/lib/configs/webpack.prod.config.js +32 -10
- package/lib/constants.js +3 -3
- package/lib/deprecationLogger.js +40 -0
- package/lib/jest/preProcessors/jsPreprocessor.js +27 -2
- package/lib/loaderUtils/configsAssetsLoaders.js +1 -1
- package/lib/loaderUtils/getCSSLoaders.js +32 -8
- package/lib/loaderUtils/getDevJsLoaders.js +8 -2
- package/lib/loaders/__test__/markdownLoader.spec.js +145 -0
- package/lib/loaders/composeLoader.js +140 -14
- package/lib/loaders/docsLoader.js +5 -2
- package/lib/loaders/enhancedReactLiveConverter.js +151 -0
- package/lib/loaders/markdownLoader.js +71 -0
- package/lib/loaders/workerLoader.js +37 -22
- package/lib/logger.js +7 -0
- package/lib/pluginUtils/configHtmlWebpackPlugins.js +62 -2
- package/lib/pluginUtils/getDevPlugins.js +24 -8
- package/lib/pluginUtils/getProdPlugins.js +34 -6
- package/lib/plugins/CssOrderControlPlugin.js +36 -0
- package/lib/plugins/CustomScriptLoadingStrategyPlugin.js +109 -0
- package/lib/plugins/EfcResourceCleanupPlugin.js +43 -0
- package/lib/plugins/EventsHandlingPlugin.js +34 -0
- package/lib/plugins/I18nSplitPlugin/I18nDownlodLogic.js +5 -1
- package/lib/plugins/I18nSplitPlugin/utils/propertiesUtils.js +4 -1
- package/lib/plugins/I18nSplitPlugin/utils/unicodeConversion.js +14 -0
- package/lib/plugins/ReportGeneratePlugin.js +8 -6
- package/lib/plugins/ResourceHintsPlugin.js +13 -3
- package/lib/plugins/StatsPlugin.js +82 -0
- package/lib/plugins/UnusedFilesFindPlugin.js +7 -5
- package/lib/plugins/utils/fileHandling.js +36 -51
- package/lib/plugins/variableConvertorUtils.js +4 -2
- package/lib/postcss-plugins/ValueReplacer.js +7 -17
- package/lib/postcss-plugins/__test__/valueReplacer.spec.js +43 -0
- package/lib/postcss-plugins/variableModificationPlugin/index.js +70 -18
- package/lib/schemas/index.js +67 -39
- package/lib/servers/getCliPath.js +3 -5
- package/lib/servers/requireLocalOrGlobal.js +1 -1
- package/lib/utils/cssClassNameGenerate.js +43 -5
- package/lib/utils/deprecationSupport.js +134 -0
- package/lib/utils/getFileType.js +1 -1
- package/lib/utils/getOptions.js +31 -69
- package/lib/utils/getServerURL.js +7 -2
- package/lib/utils/index.js +27 -11
- package/lib/utils/initPreCommitHook.js +5 -5
- package/lib/utils/log.js +11 -0
- package/lib/utils/object-manipulation.js +88 -0
- package/lib/utils/pullOrigin.js +3 -3
- package/lib/utils/reinstallDependencies.js +3 -3
- package/lib/utils/switchBranch.js +4 -2
- package/lib/utils/typeCheck.js +10 -0
- package/lib/utils/variableConverter.js +26 -11
- package/npm-shrinkwrap.json +929 -39
- package/package.json +12 -4
- package/templates/docs/all.html +1 -0
- package/templates/docs/component.html +1 -0
- package/templates/docs/components.html +1 -0
- package/templates/docs/css/markdown.css +202 -0
- package/templates/docs/css/style.css +136 -169
- package/templates/docs/index.html +796 -632
package/lib/utils/index.js
CHANGED
@@ -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
|
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
|
-
|
170
|
+
var _typeCheck = require("./typeCheck");
|
163
171
|
|
164
|
-
|
165
|
-
|
166
|
-
|
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
|
-
|
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
|
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,
|
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,
|
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,
|
74
|
+
(0, _log.log)('lint script added in your package.json');
|
75
75
|
}
|
76
76
|
} catch (e) {
|
77
|
-
(0,
|
77
|
+
(0, _log.log)('package.json not found');
|
78
78
|
}
|
79
79
|
}
|
80
80
|
};
|
package/lib/utils/log.js
ADDED
@@ -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
|
+
}
|
package/lib/utils/pullOrigin.js
CHANGED
@@ -7,20 +7,20 @@ exports.default = void 0;
|
|
7
7
|
|
8
8
|
var _child_process = require("child_process");
|
9
9
|
|
10
|
-
var
|
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,
|
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,
|
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
|
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,
|
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,
|
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,
|
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,
|
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], {
|
@@ -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
|
-
|
64
|
-
|
65
|
-
|
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
|
-
|
71
|
-
|
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
|
}
|