@zohodesk/react-cli 1.0.2 → 1.0.3-exp.2
Sign up to get free protection for your applications and to get access to all the features.
- package/.eslintignore +7 -7
- package/.eslintrc.js +180 -180
- package/.prettierrc +6 -6
- package/Changelog.md +1019 -1019
- package/README.md +1209 -1165
- package/bin/cli.js +489 -483
- package/docs/ComposeMinification.md +14 -0
- package/docs/CustomChunks.md +26 -26
- package/docs/DevServerPort.md +39 -39
- package/docs/DevStart.md +18 -18
- package/docs/HoverActive.md +12 -12
- package/docs/InstallNode.md +28 -28
- package/docs/SelectorWeight.md +8 -8
- package/docs/TODOS.md +10 -10
- package/docs/ValueReplacer.md +60 -60
- package/docs/VariableConversion.md +729 -729
- package/docs/warnings_while_install.txt +35 -35
- package/files/eslintrc.js +62 -62
- package/files/prettierrc.js +3 -3
- package/lib/common/buildEs.js +12 -0
- package/lib/common/testPattern.js +0 -2
- package/lib/common/valueReplacer.js +1 -3
- package/lib/configs/resolvers.js +14 -3
- package/lib/configs/webpack.css.umd.config.js +4 -4
- package/lib/configs/webpack.dev.config.js +6 -0
- package/lib/configs/webpack.docs.config.js +4 -0
- package/lib/configs/webpack.impact.config.js +4 -0
- package/lib/configs/webpack.prod.config.js +6 -0
- package/lib/loaderUtils/configsAssetsLoaders.js +33 -33
- package/lib/loaderUtils/getCSSLoaders.js +78 -49
- package/lib/loaderUtils/tests/windowsModification.test.js +10 -0
- package/lib/loaderUtils/windowsModification.js +6 -1
- package/lib/loaders/composeLoader.js +172 -0
- package/lib/loaders/selectorMappingLoader.js +9 -9
- package/lib/loaders/workerLoader.js +9 -9
- package/lib/logger.js +20 -0
- package/lib/pluginUtils/getDevPlugins.js +23 -8
- package/lib/pluginUtils/getProdPlugins.js +20 -8
- package/lib/pluginUtils/getUMDCSSPlugins.js +1 -1
- package/lib/pluginUtils/getUMDComponentPlugins.js +1 -1
- package/lib/plugins/CustomAttributePlugin.js +82 -0
- package/lib/plugins/CustomAttributePlugin.md +35 -0
- package/lib/plugins/EFCPlugin.js +9 -9
- package/lib/plugins/EFCPlugin.md +6 -6
- package/lib/plugins/EFCTemplatePlugin.js +10 -12
- package/lib/plugins/I18NInjectIntoIndexPlugin.js +12 -13
- package/lib/plugins/I18nSplitPlugin/I18nDebugPlugin.js +2 -3
- package/lib/plugins/I18nSplitPlugin/I18nDownlodLogic.js +38 -38
- package/lib/plugins/I18nSplitPlugin/I18nFilesEmitter.js +30 -30
- package/lib/plugins/I18nSplitPlugin/I18nKeysIdentifer.js +10 -15
- package/lib/plugins/I18nSplitPlugin/I18nSplit.md +95 -95
- package/lib/plugins/I18nSplitPlugin/README.md +25 -25
- package/lib/plugins/I18nSplitPlugin/index.js +57 -57
- package/lib/plugins/I18nSplitPlugin/utils/propertiesUtils.js +8 -8
- package/lib/plugins/{UglifyCSSPlugin.js → MinifyPlugin.js} +3 -3
- package/lib/plugins/ResourceHintsPlugin.js +17 -17
- package/lib/plugins/RtlSplitPlugin/RtlCssPlugin.js +6 -6
- package/lib/plugins/RtlSplitPlugin/RtrSplit.md +30 -30
- package/lib/plugins/SelectorPlugin.js +66 -48
- package/lib/plugins/ServiceWorkerPlugin.js +9 -9
- package/lib/plugins/TPHashMappingPlugin.js +4 -4
- package/lib/plugins/VariableConversionCollector.js +94 -88
- package/lib/plugins/index.js +7 -7
- package/lib/plugins/utils/classHandling.js +20 -0
- package/lib/plugins/utils/fileHandling.js +107 -0
- package/lib/plugins/utils/tests/fileHandling.test.js +30 -0
- package/lib/postcss-plugins/EmptyPlugin.js +8 -0
- package/lib/postcss-plugins/ExcludePlugin.js +1 -1
- package/lib/postcss-plugins/IncludePlugin.js +0 -1
- package/lib/postcss-plugins/RTLSplitPlugin.js +14 -20
- package/lib/postcss-plugins/ValueReplacer.js +2 -13
- package/lib/postcss-plugins/__test__/test1Input.css +38 -38
- package/lib/postcss-plugins/__test__/test1Output.css +38 -38
- package/lib/postcss-plugins/hoverActivePlugin.js +3 -9
- package/lib/postcss-plugins/variableModificationPlugin/index.js +2 -21
- package/lib/schemas/index.js +39 -4
- package/lib/servers/devBuild.js +13 -11
- package/lib/servers/httpsOptions.js +12 -13
- package/lib/servers/nowatchserver.js +5 -3
- package/lib/servers/requireLocalOrGlobal.js +61 -0
- package/lib/servers/server.js +3 -5
- package/lib/sh/pre-commit.sh +34 -34
- package/lib/sh/reportPublish.sh +45 -45
- package/lib/utils/buildstats.html +148 -148
- package/lib/utils/cssClassNameGenerate.js +38 -12
- package/lib/utils/getOptions.js +9 -0
- package/lib/utils/resultSchema.json +73 -73
- package/lib/utils/variableConvertor.js +159 -0
- package/npm8.md +9 -9
- package/package-lock.json +14412 -0
- package/package.json +121 -120
- package/postpublish.js +8 -8
- package/templates/app/.eslintrc.js +140 -140
- package/templates/app/README.md +12 -12
- package/templates/app/app/index.html +24 -24
- package/templates/app/app/properties/ApplicationResources_en_US.properties +1 -1
- package/templates/app/app/properties/i18nkeys.json +3 -3
- package/templates/app/docs/all.html +69 -69
- package/templates/app/mockapi/index.js +18 -18
- package/templates/app/package.json +37 -37
- package/templates/app/src/actions/SampleActions/index.js +37 -37
- package/templates/app/src/actions/index.js +65 -65
- package/templates/app/src/appUrls.js +19 -19
- package/templates/app/src/components/Alert/Alert.js +134 -134
- package/templates/app/src/components/Alert/Alert.module.css +79 -79
- package/templates/app/src/components/FreezeLayer/FreezeLayer.css +37 -37
- package/templates/app/src/components/FreezeLayer/FreezeLayer.js +84 -84
- package/templates/app/src/components/Sample/Sample.module.css +11 -11
- package/templates/app/src/components/Sample/SampleList.js +61 -61
- package/templates/app/src/components/Slider/Slider.css +41 -41
- package/templates/app/src/components/Slider/Slider.js +55 -55
- package/templates/app/src/containers/AlertContainer/index.js +15 -15
- package/templates/app/src/containers/AppContainer/index.js +96 -96
- package/templates/app/src/containers/AppContainer/index.module.css +27 -27
- package/templates/app/src/containers/CustomMatch/index.js +65 -65
- package/templates/app/src/containers/DevTools/index.js +10 -10
- package/templates/app/src/containers/Header/index.js +67 -67
- package/templates/app/src/containers/Header/index.module.css +43 -43
- package/templates/app/src/containers/Redirect/index.js +63 -63
- package/templates/app/src/containers/Redirector/index.js +47 -47
- package/templates/app/src/containers/SampleListContainer/ListContainer.js +42 -42
- package/templates/app/src/containers/SampleListContainer/ListContainer.module.css +3 -3
- package/templates/app/src/historyChange.js +5 -5
- package/templates/app/src/index.html +10 -10
- package/templates/app/src/index.js +24 -24
- package/templates/app/src/middleware/PromiseMiddleware.js +59 -59
- package/templates/app/src/reducers/alertData.js +11 -11
- package/templates/app/src/reducers/index.js +6 -6
- package/templates/app/src/reducers/samples.js +19 -19
- package/templates/app/src/store/configureStore.dev.js +51 -51
- package/templates/app/src/store/configureStore.js +5 -5
- package/templates/app/src/store/configureStore.prod.js +26 -26
- package/templates/app/src/util/Common.js +5 -5
- package/templates/app/src/util/RequestAPI.js +132 -132
- package/templates/docs/all.html +249 -249
- package/templates/docs/component.html +178 -178
- package/templates/docs/components.html +221 -221
- package/templates/docs/css/b.min.css +6 -6
- package/templates/docs/css/component.css +42 -42
- package/templates/docs/css/componentTest.css +6 -6
- package/templates/docs/css/hopscotch.css +585 -585
- package/templates/docs/css/style.css +1022 -1022
- package/templates/docs/impactReportTemplate.html +154 -154
- package/templates/docs/index.html +1501 -1501
- package/templates/docs/js/active-line.js +72 -72
- package/templates/docs/js/b.min.js +7 -7
- package/templates/docs/js/codemirror.js +9680 -9680
- package/templates/docs/js/designTokens.js +334 -334
- package/templates/docs/js/j.min.js +4 -4
- package/templates/docs/js/javascript.js +874 -874
- package/templates/docs/js/matchbrackets.js +145 -145
- package/lib/plugins/composeCommonPlugin.js +0 -30
- package/lib/postcss-plugins/variableModifier.js +0 -244
- package/result.json +0 -1
- package/unittest/index.html +0 -37
@@ -0,0 +1,159 @@
|
|
1
|
+
"use strict";
|
2
|
+
|
3
|
+
var _windowsModification = require("../loaderUtils/windowsModification");
|
4
|
+
|
5
|
+
var _fileHandling = require("../plugins/utils/fileHandling");
|
6
|
+
|
7
|
+
var _getOptions = _interopRequireDefault(require("../utils/getOptions"));
|
8
|
+
|
9
|
+
var _folderIterator = _interopRequireDefault(require("./folderIterator"));
|
10
|
+
|
11
|
+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
12
|
+
|
13
|
+
const postcss = require('postcss');
|
14
|
+
|
15
|
+
const path = require('path');
|
16
|
+
|
17
|
+
const fs = require('fs');
|
18
|
+
|
19
|
+
const postcssVariableConvertor = require('../postcss-plugins/variableModificationPlugin/index').plugin;
|
20
|
+
|
21
|
+
let cwd = process.cwd();
|
22
|
+
let src = path.join(cwd, process.argv[2]);
|
23
|
+
let dist = path.join(cwd, process.argv[3]);
|
24
|
+
const options = (0, _getOptions.default)();
|
25
|
+
const ignoreVals = ['--zd_size', '--zd_font_size', '--size', '--size_'];
|
26
|
+
|
27
|
+
function extractVariableName(val) {
|
28
|
+
return val.replace(/calc\((.+)\)/gi, '$1').replace(/var\((.+)\)/gi, '$1').replace('-1', '').replace('*', '').replace('\n', '').trim();
|
29
|
+
}
|
30
|
+
|
31
|
+
function isIgnoreValuePresent(ignoreVals, prop) {
|
32
|
+
let present = false;
|
33
|
+
ignoreVals.forEach(issue => {
|
34
|
+
if (prop && prop.includes(issue)) {
|
35
|
+
present = true;
|
36
|
+
}
|
37
|
+
});
|
38
|
+
return present;
|
39
|
+
}
|
40
|
+
|
41
|
+
function variableConvertor(rootOriginal, variables, settingsObject) {
|
42
|
+
rootOriginal.walkRules(rule => {
|
43
|
+
rule.nodes.forEach((decl, index) => {
|
44
|
+
const prevNode = rule.nodes[index - 1];
|
45
|
+
const currentNode = rule.nodes[index];
|
46
|
+
|
47
|
+
if (decl.prop && decl.prop.includes('--')) {
|
48
|
+
if (prevNode && prevNode.type === 'comment' && prevNode.text.toLowerCase() === 'variable:ignore') {
|
49
|
+
return;
|
50
|
+
}
|
51
|
+
|
52
|
+
if (isIgnoreValuePresent(ignoreVals, decl.prop)) {
|
53
|
+
return;
|
54
|
+
}
|
55
|
+
|
56
|
+
if (settingsObject[variables[decl.prop]]) {
|
57
|
+
/* if there is no value for property, set it to default so that undefined doesn't get called as key */
|
58
|
+
if (!variables[decl.prop]) {
|
59
|
+
variables[decl.prop] = 'default';
|
60
|
+
}
|
61
|
+
|
62
|
+
const pxReplacement = settingsObject[variables[decl.prop]].replacements.px;
|
63
|
+
const valArr = decl.value.split(' '); // single values are considered in the above array and converted below
|
64
|
+
|
65
|
+
valArr.forEach((value, index) => {
|
66
|
+
if (value.includes('px')) {
|
67
|
+
const num = value.replace('px', '');
|
68
|
+
valArr[index] = pxReplacement.replace('$$', num);
|
69
|
+
}
|
70
|
+
});
|
71
|
+
currentNode.value = valArr.join(' ');
|
72
|
+
}
|
73
|
+
}
|
74
|
+
});
|
75
|
+
});
|
76
|
+
return rootOriginal;
|
77
|
+
}
|
78
|
+
|
79
|
+
function watchHandler(fromPath, toPath) {
|
80
|
+
let css = fs.readFileSync(fromPath, 'utf-8'); // console.log(css);
|
81
|
+
|
82
|
+
const {
|
83
|
+
css: cssOptions,
|
84
|
+
app: appOptions
|
85
|
+
} = options; // console.log(cssOptions, appOptions);
|
86
|
+
|
87
|
+
const {
|
88
|
+
cssVariableReplacementConfig: cssVariableConfigFilePath,
|
89
|
+
patterns: cssPatterns
|
90
|
+
} = cssOptions;
|
91
|
+
const {
|
92
|
+
cssVariableReplacementConfig: appVariableConfigFilePath,
|
93
|
+
patterns: appPatterns
|
94
|
+
} = appOptions;
|
95
|
+
const cssVariableOptions = cssVariableConfigFilePath && cssVariableConfigFilePath !== '' ? cssVariableConfigFilePath : appVariableConfigFilePath;
|
96
|
+
const filterArr = cssOptions && cssPatterns && cssPatterns.cssVariableReplacement && cssPatterns.cssVariableReplacement !== {} ? cssPatterns.cssVariableReplacement : appPatterns.cssVariableReplacement;
|
97
|
+
const rootOriginal = postcss.parse(css);
|
98
|
+
const variables = {}; // const unassigned = {};
|
99
|
+
|
100
|
+
const rawdata = fs.readFileSync(cssVariableOptions);
|
101
|
+
const data = JSON.parse(rawdata);
|
102
|
+
const {
|
103
|
+
settings: settingsObject // errorLog: errorLogStatus,
|
104
|
+
// errorInConsole: errorConsoleStatus,
|
105
|
+
// errorsAllowed,
|
106
|
+
// strictMode
|
107
|
+
|
108
|
+
} = data;
|
109
|
+
rootOriginal.walkRules(rule => {
|
110
|
+
rule.walkDecls(decl => {
|
111
|
+
decl.value.split(' ').forEach(val => {
|
112
|
+
if (val && val.includes('--') && !new RegExp(ignoreVals.join('|'), 'gi').test(val) && decl.prop) {
|
113
|
+
const extractedValue = extractVariableName(val);
|
114
|
+
|
115
|
+
if (!variables[extractedValue]) {
|
116
|
+
variables[extractedValue] = decl.prop;
|
117
|
+
}
|
118
|
+
}
|
119
|
+
});
|
120
|
+
});
|
121
|
+
});
|
122
|
+
const strArray = (0, _windowsModification.windowsModificationFile)(process.cwd()).split('\\');
|
123
|
+
const lastElem = strArray[strArray.length - 1].toString();
|
124
|
+
|
125
|
+
if (!(0, _fileHandling.isFileNameMatchingPluginPattern)({
|
126
|
+
filename: fromPath,
|
127
|
+
filterArr,
|
128
|
+
rootDir: lastElem
|
129
|
+
})) {
|
130
|
+
return;
|
131
|
+
}
|
132
|
+
|
133
|
+
const convertedCode = variableConvertor(rootOriginal, variables, settingsObject).toString();
|
134
|
+
|
135
|
+
if (convertedCode.trim() !== '') {
|
136
|
+
fs.writeFile(fromPath, convertedCode, () => true);
|
137
|
+
} // console.log(convertedCode);
|
138
|
+
|
139
|
+
|
140
|
+
postcss([postcssVariableConvertor(cssVariableOptions)]).process(css, {
|
141
|
+
from: fromPath,
|
142
|
+
to: toPath
|
143
|
+
}).then(result => {
|
144
|
+
fs.writeFile(toPath, result.css, () => true);
|
145
|
+
|
146
|
+
if (result.map) {
|
147
|
+
fs.writeFile(`${toPath}.map`, result.map, () => true);
|
148
|
+
}
|
149
|
+
}); // console.log(variableOptions);
|
150
|
+
}
|
151
|
+
|
152
|
+
(0, _folderIterator.default)(src, dist, ['.css'], false, (fromPath, toPath) => {
|
153
|
+
// console.log(fromPath, toPath);
|
154
|
+
watchHandler(fromPath, toPath);
|
155
|
+
}); // if (canWacth) {
|
156
|
+
// useExitCleanup(() => {
|
157
|
+
// fs.unwatchFile(src, watchHandler);
|
158
|
+
// });
|
159
|
+
// }
|
package/npm8.md
CHANGED
@@ -1,9 +1,9 @@
|
|
1
|
-
# npm 8 change related things
|
2
|
-
|
3
|
-
1. in npm run script config options `:` not working (properly|correctly), So we need to use `_` in the place of `:`
|
4
|
-
For Example:
|
5
|
-
- `--app:port` wouldn't work we have to do like this `--app_port`
|
6
|
-
- `--clone:proj:name` wouldn't work we have to do like this `----clone_proj_name`
|
7
|
-
|
8
|
-
@zohodes/react-cli or fz-react-cli regardless of what cli you use.
|
9
|
-
So, we need to change all package.json script which is using this (`:`) we need to change as (`_`)
|
1
|
+
# npm 8 change related things
|
2
|
+
|
3
|
+
1. in npm run script config options `:` not working (properly|correctly), So we need to use `_` in the place of `:`
|
4
|
+
For Example:
|
5
|
+
- `--app:port` wouldn't work we have to do like this `--app_port`
|
6
|
+
- `--clone:proj:name` wouldn't work we have to do like this `----clone_proj_name`
|
7
|
+
|
8
|
+
@zohodes/react-cli or fz-react-cli regardless of what cli you use.
|
9
|
+
So, we need to change all package.json script which is using this (`:`) we need to change as (`_`)
|