@zohodesk/react-cli 1.1.14-exp.3 → 1.1.14-kubernetes
Sign up to get free protection for your applications and to get access to all the features.
- package/README.md +16 -281
- package/bin/cli.js +55 -30
- package/docs/CustomChunks.md +9 -12
- package/docs/SelectorWeight.md +0 -3
- package/docs/ValueReplacer.md +0 -27
- package/docs/VariableConversion.md +1 -6
- package/lib/common/splitChunks.js +45 -65
- package/lib/common/testPattern.js +11 -9
- package/lib/common/valueReplacer.js +3 -1
- package/lib/configs/resolvers.js +5 -16
- package/lib/configs/webpack.css.umd.config.js +2 -3
- package/lib/configs/webpack.dev.config.js +5 -15
- package/lib/configs/webpack.docs.config.js +3 -14
- package/lib/configs/webpack.impact.config.js +2 -8
- package/lib/configs/webpack.prod.config.js +5 -15
- package/lib/constants.js +3 -3
- package/lib/loaderUtils/getCSSLoaders.js +49 -98
- package/lib/loaderUtils/windowsModification.js +1 -6
- package/lib/loaders/docsLoader.js +7 -18
- package/lib/loaders/selectorMappingLoader.js +9 -9
- package/lib/pluginUtils/getDevPlugins.js +6 -25
- package/lib/pluginUtils/getProdPlugins.js +5 -32
- package/lib/pluginUtils/getUMDCSSPlugins.js +1 -1
- package/lib/pluginUtils/getUMDComponentPlugins.js +1 -1
- package/lib/plugins/EFCPlugin.js +9 -9
- package/lib/plugins/EFCTemplatePlugin.js +12 -10
- package/lib/plugins/I18NInjectIntoIndexPlugin.js +9 -8
- package/lib/plugins/I18nSplitPlugin/I18nDebugPlugin.js +3 -2
- package/lib/plugins/I18nSplitPlugin/I18nDownlodLogic.js +13 -30
- package/lib/plugins/I18nSplitPlugin/I18nKeysIdentifer.js +7 -2
- package/lib/plugins/I18nSplitPlugin/index.js +1 -1
- package/lib/plugins/I18nSplitPlugin/utils/propertiesUtils.js +8 -8
- package/lib/plugins/ReportGeneratePlugin.js +6 -8
- package/lib/plugins/ResourceHintsPlugin.js +3 -13
- package/lib/plugins/SelectorPlugin.js +37 -77
- package/lib/plugins/{MinifyPlugin.js → UglifyCSSPlugin.js} +3 -3
- package/lib/plugins/UnusedFilesFindPlugin.js +5 -7
- package/lib/plugins/VariableConversionCollector.js +101 -40
- package/lib/plugins/composeCommonPlugin.js +30 -0
- package/lib/plugins/index.js +7 -7
- package/lib/postcss-plugins/ExcludePlugin.js +1 -1
- package/lib/postcss-plugins/RTLSplitPlugin.js +10 -4
- package/lib/postcss-plugins/ValueReplacer.js +29 -8
- package/lib/postcss-plugins/hoverActivePlugin.js +6 -0
- package/lib/postcss-plugins/variableModificationPlugin/ErrorHandler.js +1 -0
- package/lib/postcss-plugins/variableModificationPlugin/index.js +38 -94
- package/lib/postcss-plugins/variableModifier.js +244 -0
- package/lib/schemas/index.js +18 -94
- package/lib/servers/devBuild.js +11 -13
- package/lib/servers/getCliPath.js +5 -3
- package/lib/servers/httpsOptions.js +13 -12
- package/lib/servers/nowatchserver.js +55 -62
- package/lib/servers/server.js +52 -53
- package/lib/utils/cssClassNameGenerate.js +13 -70
- package/lib/utils/getOptions.js +28 -35
- package/lib/utils/getServerURL.js +9 -1
- package/lib/utils/index.js +12 -14
- package/lib/utils/initPreCommitHook.js +5 -5
- package/lib/utils/pullOrigin.js +3 -3
- package/lib/utils/reinstallDependencies.js +3 -3
- package/lib/utils/switchBranch.js +2 -4
- package/package.json +3 -5
- package/templates/docs/all.html +0 -1
- package/templates/docs/component.html +0 -1
- package/templates/docs/components.html +0 -1
- package/templates/docs/css/style.css +169 -136
- package/templates/docs/index.html +632 -796
- package/.vscode/settings.json +0 -25
- package/docs/ComposeMinification.md +0 -13
- package/docs/MarkdownParser.md +0 -18
- package/docs/ReactLive.md +0 -14
- package/docs/patternFiltering.md +0 -57
- package/lib/common/buildEs.js +0 -12
- package/lib/common/runPreProcess.js +0 -71
- package/lib/deprecationLogger.js +0 -40
- package/lib/loaderUtils/tests/windowsModification.test.js +0 -10
- package/lib/loaders/__test__/markdownLoader.spec.js +0 -145
- package/lib/loaders/composeLoader.js +0 -298
- package/lib/loaders/markdownLoader.js +0 -71
- package/lib/loaders/reactLiveConvertor.js +0 -105
- package/lib/logger.js +0 -27
- package/lib/plugins/CustomAttributePlugin.js +0 -82
- package/lib/plugins/CustomAttributePlugin.md +0 -35
- package/lib/plugins/EfcResourceCleanupPlugin.js +0 -43
- package/lib/plugins/StatsPlugin.js +0 -82
- package/lib/plugins/utils/classHandling.js +0 -35
- package/lib/plugins/utils/fileHandling.js +0 -92
- package/lib/plugins/utils/tests/fileHandling.test.js +0 -30
- package/lib/plugins/variableConvertorUtils.js +0 -133
- package/lib/postcss-plugins/EmptyPlugin.js +0 -8
- package/lib/postcss-plugins/IncludePlugin.js +0 -23
- package/lib/postcss-plugins/SelectorReplace.js +0 -80
- package/lib/postcss-plugins/__test__/selectorReplace.test.js +0 -28
- package/lib/postcss-plugins/__test__/valueReplacer.spec.js +0 -43
- package/lib/servers/requireLocalOrGlobal.js +0 -61
- package/lib/utils/deprecationSupport.js +0 -134
- package/lib/utils/log.js +0 -11
- package/lib/utils/object-manipulation.js +0 -88
- package/lib/utils/selectorReplacer.js +0 -47
- package/lib/utils/variableConverter.js +0 -104
- package/npm-shrinkwrap.json +0 -33485
- package/templates/docs/css/markdown.css +0 -202
@@ -1,82 +0,0 @@
|
|
1
|
-
"use strict";
|
2
|
-
|
3
|
-
const fs = require('fs');
|
4
|
-
|
5
|
-
const path = require('path');
|
6
|
-
|
7
|
-
const {
|
8
|
-
Readable
|
9
|
-
} = require('stream');
|
10
|
-
|
11
|
-
const {
|
12
|
-
removeKeysFromObject,
|
13
|
-
convertObjectToStringGen
|
14
|
-
} = require('../utils/object-manipulation');
|
15
|
-
|
16
|
-
const pluginName = 'stats-plugin';
|
17
|
-
const statsSchema = {
|
18
|
-
all: true
|
19
|
-
};
|
20
|
-
|
21
|
-
class StatsPlugin {
|
22
|
-
constructor({
|
23
|
-
statsOptions,
|
24
|
-
statsOutputExcludeKeys,
|
25
|
-
statsFileName
|
26
|
-
}) {
|
27
|
-
this.excludeKeysInStat = statsOutputExcludeKeys || [];
|
28
|
-
this.statsFileName = statsFileName || 'bundle-report-integrity.json';
|
29
|
-
this.statsOptions = Object.assign({}, statsSchema, statsOptions || {});
|
30
|
-
}
|
31
|
-
|
32
|
-
apply(compiler) {
|
33
|
-
compiler.hooks.done.tapAsync(pluginName, (stats, callback) => {
|
34
|
-
const statsJson = removeKeysFromObject(stats.toJson(this.statsOptions), this.excludeKeysInStat);
|
35
|
-
this.emitStats(statsJson).on('end', () => {
|
36
|
-
callback();
|
37
|
-
}).on('error', e => {
|
38
|
-
callback(e);
|
39
|
-
});
|
40
|
-
});
|
41
|
-
}
|
42
|
-
|
43
|
-
writeStatsFileInAStream(statsObj) {
|
44
|
-
const {
|
45
|
-
outputPath
|
46
|
-
} = statsObj;
|
47
|
-
const ouputFileName = path.join(outputPath, this.statsFileName);
|
48
|
-
return this.createReadStream(statsObj).pipe(fs.createWriteStream(ouputFileName));
|
49
|
-
}
|
50
|
-
|
51
|
-
createReadStream(statsObj) {
|
52
|
-
const excludeKeys = this.excludeKeysInStat;
|
53
|
-
return new Readable({
|
54
|
-
read() {
|
55
|
-
let isDone = false;
|
56
|
-
const objToStringGen = convertObjectToStringGen(statsObj, excludeKeys);
|
57
|
-
|
58
|
-
while (!isDone) {
|
59
|
-
const {
|
60
|
-
done,
|
61
|
-
value
|
62
|
-
} = objToStringGen.next();
|
63
|
-
|
64
|
-
if (done) {
|
65
|
-
isDone = true;
|
66
|
-
this.push(null);
|
67
|
-
} else {
|
68
|
-
this.push(value);
|
69
|
-
}
|
70
|
-
}
|
71
|
-
}
|
72
|
-
|
73
|
-
});
|
74
|
-
}
|
75
|
-
|
76
|
-
emitStats(statsJson) {
|
77
|
-
return this.writeStatsFileInAStream(statsJson);
|
78
|
-
}
|
79
|
-
|
80
|
-
}
|
81
|
-
|
82
|
-
module.exports = StatsPlugin;
|
@@ -1,35 +0,0 @@
|
|
1
|
-
"use strict";
|
2
|
-
|
3
|
-
Object.defineProperty(exports, "__esModule", {
|
4
|
-
value: true
|
5
|
-
});
|
6
|
-
exports.hasPrevNodeIgnore = hasPrevNodeIgnore;
|
7
|
-
exports.isAtRule = isAtRule;
|
8
|
-
exports.isComment = isComment;
|
9
|
-
exports.isCommentContentSame = isCommentContentSame;
|
10
|
-
exports.isInsideMediaQuery = isInsideMediaQuery;
|
11
|
-
exports.isThisComment = isThisComment;
|
12
|
-
|
13
|
-
function isComment(node) {
|
14
|
-
return node && node.type && node.type === 'comment';
|
15
|
-
}
|
16
|
-
|
17
|
-
function isCommentContentSame(node, content) {
|
18
|
-
return node.text.toLowerCase() === content;
|
19
|
-
}
|
20
|
-
|
21
|
-
function isThisComment(node, ignoreComment) {
|
22
|
-
return isComment(node) && isCommentContentSame(node, ignoreComment);
|
23
|
-
}
|
24
|
-
|
25
|
-
function hasPrevNodeIgnore(index, prevNode, ignoreComment) {
|
26
|
-
return index !== 0 && isThisComment(prevNode, ignoreComment);
|
27
|
-
}
|
28
|
-
|
29
|
-
function isAtRule(rule) {
|
30
|
-
return rule.parent && rule.parent.type === 'atrule';
|
31
|
-
}
|
32
|
-
|
33
|
-
function isInsideMediaQuery(rule) {
|
34
|
-
return isAtRule(rule) && rule.parent && rule.parent.name === 'media' ? true : false;
|
35
|
-
}
|
@@ -1,92 +0,0 @@
|
|
1
|
-
"use strict";
|
2
|
-
|
3
|
-
Object.defineProperty(exports, "__esModule", {
|
4
|
-
value: true
|
5
|
-
});
|
6
|
-
exports.isFileNameMatchingPattern = isFileNameMatchingPattern;
|
7
|
-
exports.isFileNameMatchingPluginPattern = isFileNameMatchingPluginPattern;
|
8
|
-
|
9
|
-
var _ignore = _interopRequireDefault(require("ignore"));
|
10
|
-
|
11
|
-
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
12
|
-
|
13
|
-
const path = require('path');
|
14
|
-
|
15
|
-
const aliasNames = {
|
16
|
-
valueReplacer: 'postcss-value-replacer',
|
17
|
-
selectorReplace: 'postcss-selector-replace-new',
|
18
|
-
hasRTL: 'postcss-rtl',
|
19
|
-
combinerMediaQuery: 'postcss-combine-media-query',
|
20
|
-
hoverActive: 'postcss-mobile-hover',
|
21
|
-
cssVariableReplacement: 'postcss-variable-report',
|
22
|
-
composeMinification: 'postcss-compose-plugin'
|
23
|
-
};
|
24
|
-
/*
|
25
|
-
|
26
|
-
unique scenario
|
27
|
-
|
28
|
-
*/
|
29
|
-
// export function filterFileCssUniqueness(filename, filterObj) {
|
30
|
-
// let rootDir = 'supportapp';
|
31
|
-
// let include = false;
|
32
|
-
// const regex = `^(.+?)${rootDir}?\\\\`;
|
33
|
-
// const newFilename = windowsModificationFile(filename).replace(
|
34
|
-
// new RegExp(regex, 'gi'),
|
35
|
-
// ''
|
36
|
-
// );
|
37
|
-
// Object.keys(filterObj).forEach(key => {
|
38
|
-
// const ig = ignore().add(filterObj[key]);
|
39
|
-
// if (ig.ignores(newFilename)) {
|
40
|
-
// include = true;
|
41
|
-
// }
|
42
|
-
// });
|
43
|
-
// return include;
|
44
|
-
// }
|
45
|
-
|
46
|
-
function isFileNameMatchingPattern({
|
47
|
-
filename,
|
48
|
-
filterObject,
|
49
|
-
plugins,
|
50
|
-
order
|
51
|
-
}) {
|
52
|
-
const pluginObj = {};
|
53
|
-
plugins.forEach(p => {
|
54
|
-
pluginObj[p.postcssPlugin] = p;
|
55
|
-
});
|
56
|
-
const finalPlugins = order.filter(key => {
|
57
|
-
const pluginSpecificFilter = filterObject[key];
|
58
|
-
|
59
|
-
if (!pluginSpecificFilter || pluginSpecificFilter.length === 0) {
|
60
|
-
return true;
|
61
|
-
} // eslint-disable-next-line no-use-before-define
|
62
|
-
|
63
|
-
|
64
|
-
const isMatching = isFilePathMatchingPattern(filename, pluginSpecificFilter);
|
65
|
-
return isMatching;
|
66
|
-
}).map(key => {
|
67
|
-
const p = pluginObj[aliasNames[key]];
|
68
|
-
return p;
|
69
|
-
}); // if unknown key given in plugins and pattern loop will run but post-css plugin won't be available and will be undefined in array
|
70
|
-
// So we do filter as safety measure.
|
71
|
-
|
72
|
-
return finalPlugins.filter(Boolean);
|
73
|
-
}
|
74
|
-
|
75
|
-
function isFilePathMatchingPattern(filePath, patterns) {
|
76
|
-
if (patterns.length === 0) {
|
77
|
-
return true;
|
78
|
-
}
|
79
|
-
|
80
|
-
const ig = (0, _ignore.default)({
|
81
|
-
allowRelativePaths: true
|
82
|
-
}).add(patterns);
|
83
|
-
return ig.ignores(filePath);
|
84
|
-
}
|
85
|
-
|
86
|
-
function isFileNameMatchingPluginPattern({
|
87
|
-
filename,
|
88
|
-
filterArr
|
89
|
-
}) {
|
90
|
-
const newFilename = path.relative(path.parse(process.cwd()).base, filename);
|
91
|
-
return isFilePathMatchingPattern(newFilename, filterArr);
|
92
|
-
}
|
@@ -1,30 +0,0 @@
|
|
1
|
-
"use strict";
|
2
|
-
|
3
|
-
const ignore = require('ignore');
|
4
|
-
|
5
|
-
const ignoreArr1 = ['src', '!src\\components', 'src\\Accessibility'];
|
6
|
-
const ignoreArr2 = ['src\\', '!node_modules\\'];
|
7
|
-
const ignoreArr3 = ['*'];
|
8
|
-
|
9
|
-
const {
|
10
|
-
windowsModificationFile
|
11
|
-
} = require('../../../../lib/loaderUtils/windowsModification');
|
12
|
-
|
13
|
-
const files = ['D:\\MyWork\\React Build\\desk_client_app\\jsapps\\supportapp\\src\\components\\Accessibility\\Accessibility.module.css', 'D:\\MyWork\\React Build\\desk_client_app\\jsapps\\supportapp\\src\\components\\Avatar\\Avatar.module.css', 'D:/MyWork/React Build/desk_client_app/jsapps/supportapp/src/components/Accessibility/Accessibility.module.css', 'D:/MyWork/React Build/desk_client_app/jsapps/supportapp/src/components/Accessibility/AccessibilityNavigation.module.css', 'desk_client_app\\jsapps\\supportapp\\src\\components\\Test.module.css', 'desk_client_app\\jsapps\\supportapp\\src\\components\\Accessibility\\Accessibility.module.css', 'desk_client_app/jsapps/supportapp/src/components/Accessibility/Accessibility.module.css', 'src\\components\\Accessibility\\Accessibility.module.css', 'src/components/Accessibility/Accessibility.module.css', 'Accessibility.module.css', ''];
|
14
|
-
const ignore1 = ignore().add(ignoreArr1);
|
15
|
-
const ignore2 = ignore().add(ignoreArr2);
|
16
|
-
const ignore3 = ignore().add(ignoreArr3);
|
17
|
-
files.forEach(file => {
|
18
|
-
// console.log(file);
|
19
|
-
const rootDir = 'supportapp';
|
20
|
-
const regex = `^(.+?)${rootDir}?\\\\`;
|
21
|
-
const newFilename = windowsModificationFile(file).replace(new RegExp(regex, 'gi'), '');
|
22
|
-
console.log(newFilename);
|
23
|
-
|
24
|
-
if (newFilename.trim() !== '') {
|
25
|
-
console.log(ignore1.ignores(newFilename));
|
26
|
-
console.log(ignore2.ignores(newFilename));
|
27
|
-
console.log(ignore3.ignores(newFilename));
|
28
|
-
console.log('--------------------------------------------------------------------');
|
29
|
-
}
|
30
|
-
});
|
@@ -1,133 +0,0 @@
|
|
1
|
-
"use strict";
|
2
|
-
|
3
|
-
Object.defineProperty(exports, "__esModule", {
|
4
|
-
value: true
|
5
|
-
});
|
6
|
-
exports.extractVariableName = extractVariableName;
|
7
|
-
exports.ignoreVals = void 0;
|
8
|
-
exports.variableConverter = variableConverter;
|
9
|
-
|
10
|
-
var _classHandling = require("./utils/classHandling");
|
11
|
-
|
12
|
-
const ignoreVals = ['--zd_size', '--zd_font_size', '--size', '--size_']; // const avoidProps = [];
|
13
|
-
// -- is issue IO --
|
14
|
-
|
15
|
-
/*
|
16
|
-
issues eg :
|
17
|
-
issues = ['--zd_size', '--zd_font_size', '--size', '--size_'];
|
18
|
-
input :
|
19
|
-
--zd_size
|
20
|
-
output :
|
21
|
-
true
|
22
|
-
comment :
|
23
|
-
do not execute when --zd_size comes as prop
|
24
|
-
*/
|
25
|
-
|
26
|
-
exports.ignoreVals = ignoreVals;
|
27
|
-
|
28
|
-
function extractVariableName(val) {
|
29
|
-
return val.replace(/calc\((.+)\)/gi, '$1').replace(/var\((.+)\)/gi, '$1').replace('-1', '').replace('*', '').replace('\n', '').trim();
|
30
|
-
}
|
31
|
-
|
32
|
-
function isIgnoreValuePresent(ignoreVals, prop) {
|
33
|
-
return ignoreVals.some(ignoreVal => prop && prop.includes(ignoreVal)); // let present = false;
|
34
|
-
// return ignoreVals.forEach(issue => {
|
35
|
-
// if (prop && prop.includes(issue)) {
|
36
|
-
// present = true;
|
37
|
-
// }
|
38
|
-
// });
|
39
|
-
// return present;
|
40
|
-
}
|
41
|
-
|
42
|
-
function parseCalcValue(calcValue) {
|
43
|
-
// Remove "calc(" and ")" from the string
|
44
|
-
const value = calcValue.replace(/calc\(/gi, '').replace(/\)/gi, '').trim(); // Split the string by "*" or "/"
|
45
|
-
|
46
|
-
const parts = value.split(/[\\/*]/); // Parse the first part as a number
|
47
|
-
|
48
|
-
const num1 = parts[0].trim(); // Parse the second part as a number
|
49
|
-
|
50
|
-
const num2 = parts[1].trim();
|
51
|
-
return {
|
52
|
-
valOne: num1,
|
53
|
-
valTwo: num2
|
54
|
-
};
|
55
|
-
}
|
56
|
-
|
57
|
-
function convertToCalc(pxReplacement, value) {
|
58
|
-
const parsedValue = parseFloat(value, 10);
|
59
|
-
const sign = parsedValue < 0 ? '-' : '';
|
60
|
-
const varName = `${parsedValue < 0 ? parsedValue * -1 : parsedValue}`;
|
61
|
-
return `calc( ${pxReplacement.replace('$$', varName)} * ${sign}1 )`;
|
62
|
-
}
|
63
|
-
|
64
|
-
function convertCalcValue(pxReplacement, parsedValue) {
|
65
|
-
Object.keys(parsedValue).forEach(key => {
|
66
|
-
if (pxReplacement && parsedValue[key].includes('px')) {
|
67
|
-
parsedValue[key] = pxReplacement.replace('$$', parsedValue[key].replace('px', ''));
|
68
|
-
}
|
69
|
-
});
|
70
|
-
return parsedValue;
|
71
|
-
}
|
72
|
-
|
73
|
-
function variableConverter(rootOriginal, variables, settingsObject) {
|
74
|
-
rootOriginal.walkRules(rule => {
|
75
|
-
rule.nodes.forEach((decl, index) => {
|
76
|
-
const prevNode = rule.nodes[index - 1];
|
77
|
-
const currentNode = rule.nodes[index];
|
78
|
-
|
79
|
-
if (decl.prop && decl.prop.includes('--')) {
|
80
|
-
if ((0, _classHandling.isThisComment)(prevNode, 'variable:ignore') // prevNode &&
|
81
|
-
// prevNode.type === 'comment' &&
|
82
|
-
// prevNode.text.toLowerCase() === 'variable:ignore'
|
83
|
-
) {
|
84
|
-
return;
|
85
|
-
}
|
86
|
-
|
87
|
-
if (isIgnoreValuePresent(ignoreVals, decl.prop)) {
|
88
|
-
return;
|
89
|
-
}
|
90
|
-
|
91
|
-
if (settingsObject[variables[decl.prop]]) {
|
92
|
-
/* if there is no value for property, set it to default so that undefined doesn't get called as key */
|
93
|
-
if (!variables[decl.prop]) {
|
94
|
-
variables[decl.prop] = 'default';
|
95
|
-
}
|
96
|
-
|
97
|
-
const pxReplacement = settingsObject[variables[decl.prop]].replacements.px;
|
98
|
-
let valArr = decl.value.split(' ');
|
99
|
-
valArr = valArr.filter(x => x.trim() !== '');
|
100
|
-
valArr = valArr.map(x => x.replace(/\r|\t|\n/gi, '')); // single values are considered in the above array and converted below
|
101
|
-
|
102
|
-
valArr.forEach((value, index) => {
|
103
|
-
if (value.includes('px')) {
|
104
|
-
if (value.includes('calc')) {
|
105
|
-
const res = convertCalcValue(pxReplacement, parseCalcValue(value));
|
106
|
-
valArr[index] = `calc( ${res.valOne.trim()} * ${res.valTwo.trim()} )`;
|
107
|
-
return;
|
108
|
-
}
|
109
|
-
|
110
|
-
if (/-(\d+)/gi.test(value)) {
|
111
|
-
valArr[index] = convertToCalc(pxReplacement, value);
|
112
|
-
return;
|
113
|
-
}
|
114
|
-
|
115
|
-
const num = value.replace('px', '');
|
116
|
-
|
117
|
-
if (value) {
|
118
|
-
valArr[index] = pxReplacement.replace('$$', num);
|
119
|
-
}
|
120
|
-
}
|
121
|
-
|
122
|
-
if (value.includes('px')) {
|
123
|
-
const num = value.replace('px', '');
|
124
|
-
valArr[index] = pxReplacement.replace('$$', num);
|
125
|
-
}
|
126
|
-
});
|
127
|
-
currentNode.value = valArr.join(' ');
|
128
|
-
}
|
129
|
-
}
|
130
|
-
});
|
131
|
-
});
|
132
|
-
return rootOriginal;
|
133
|
-
}
|
@@ -1,8 +0,0 @@
|
|
1
|
-
"use strict";
|
2
|
-
|
3
|
-
var _postcss = _interopRequireDefault(require("postcss"));
|
4
|
-
|
5
|
-
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
6
|
-
|
7
|
-
module.exports = _postcss.default.plugin('postcss-empty', () => (root, result) => {// console.log(root.source.input.from, result);
|
8
|
-
});
|
@@ -1,23 +0,0 @@
|
|
1
|
-
"use strict";
|
2
|
-
|
3
|
-
var _postcss = _interopRequireDefault(require("postcss"));
|
4
|
-
|
5
|
-
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
6
|
-
|
7
|
-
module.exports = _postcss.default.plugin('postcss-include-files', opts => {
|
8
|
-
const {
|
9
|
-
plugins
|
10
|
-
} = opts;
|
11
|
-
return (root, result) => {
|
12
|
-
const inputFile = root.source.input.file;
|
13
|
-
const includeFile = opts.include.some(file => inputFile.indexOf(file) !== -1);
|
14
|
-
|
15
|
-
if (includeFile) {
|
16
|
-
const handler = response => response.messages.forEach(msg => result.messages.push(msg));
|
17
|
-
|
18
|
-
return (0, _postcss.default)(plugins).process(root, {
|
19
|
-
from: undefined
|
20
|
-
}).then(handler);
|
21
|
-
}
|
22
|
-
};
|
23
|
-
});
|
@@ -1,80 +0,0 @@
|
|
1
|
-
"use strict";
|
2
|
-
|
3
|
-
var _postcss = _interopRequireDefault(require("postcss"));
|
4
|
-
|
5
|
-
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
6
|
-
|
7
|
-
function validator(opts) {
|
8
|
-
if (!opts || typeof opts !== 'object') {
|
9
|
-
throw new Error('Always requires argment');
|
10
|
-
}
|
11
|
-
|
12
|
-
const {
|
13
|
-
before,
|
14
|
-
after
|
15
|
-
} = opts;
|
16
|
-
|
17
|
-
if (!before || !after) {
|
18
|
-
throw new Error('Be sure to have "before" and "after" object names');
|
19
|
-
}
|
20
|
-
|
21
|
-
if (!Array.isArray(before) || !Array.isArray(after)) {
|
22
|
-
throw new Error('Objects "before" and "after" must be of type Array');
|
23
|
-
}
|
24
|
-
|
25
|
-
if (before.length !== after.length) {
|
26
|
-
throw new Error('Length of before and after options must be the same');
|
27
|
-
}
|
28
|
-
|
29
|
-
if (before.length === 0) {
|
30
|
-
throw new Error('Array length is 1 or more');
|
31
|
-
}
|
32
|
-
|
33
|
-
before.forEach((beforeOpt, idx) => {
|
34
|
-
const afterOpt = after[idx];
|
35
|
-
|
36
|
-
switch (true) {
|
37
|
-
case typeof beforeOpt === 'string':
|
38
|
-
{
|
39
|
-
if (!typeof afterOpt === 'string') {
|
40
|
-
throw new Error(`The after option ${afterOpt} must be a string. If you want to apply the replace callback function, then use a RegExp for the before option`);
|
41
|
-
}
|
42
|
-
|
43
|
-
break;
|
44
|
-
}
|
45
|
-
|
46
|
-
case beforeOpt instanceof RegExp:
|
47
|
-
{
|
48
|
-
if (!typeof afterOpt === 'string' && !typeof afterOpt === 'function') {
|
49
|
-
throw new Error(`The after option ${afterOpt} must be either a string, or a function`);
|
50
|
-
}
|
51
|
-
|
52
|
-
break;
|
53
|
-
}
|
54
|
-
|
55
|
-
default:
|
56
|
-
throw new Error(`The before option ${beforeOpt} must be either a string, or a RegExp`);
|
57
|
-
}
|
58
|
-
});
|
59
|
-
}
|
60
|
-
|
61
|
-
module.exports = _postcss.default.plugin('postcss-selector-replace-new', opts => {
|
62
|
-
validator(opts);
|
63
|
-
const {
|
64
|
-
before,
|
65
|
-
after
|
66
|
-
} = opts;
|
67
|
-
return root => {
|
68
|
-
root.walkRules(rule => {
|
69
|
-
before.forEach((beforeOpt, idx) => {
|
70
|
-
const afterOpt = after[idx];
|
71
|
-
|
72
|
-
if (typeof beforeOpt === 'string') {
|
73
|
-
rule.selector = rule.selector.split(beforeOpt).join(afterOpt);
|
74
|
-
} else {
|
75
|
-
rule.selector = rule.selector.replace(beforeOpt, afterOpt);
|
76
|
-
}
|
77
|
-
});
|
78
|
-
});
|
79
|
-
};
|
80
|
-
});
|
@@ -1,28 +0,0 @@
|
|
1
|
-
"use strict";
|
2
|
-
|
3
|
-
let settings1 = {
|
4
|
-
selectorReplace: {
|
5
|
-
before: [':root', 'data-mode', 'data-theme'],
|
6
|
-
after: [':global .zohodesk_controlpanel,:global .wms-mainui,:global .wms-hysearch, :global .mcf1ee8b17_overlay,:global .wms-hvalign, :global .KB_Editor_UploadImage,:global .zdeskEditor_popup, :global .ze_dd, :global .__baseZC_Container__', 'data-desk-mode', 'data-desk-theme']
|
7
|
-
}
|
8
|
-
};
|
9
|
-
let settings2 = {
|
10
|
-
selectorReplace: {
|
11
|
-
before: [':root', 'data-'],
|
12
|
-
after: [':global .zohodesk_controlpanel,:global .wms-mainui,:global .wms-hysearch, :global .mcf1ee8b17_overlay,:global .wms-hvalign, :global .KB_Editor_UploadImage,:global .zdeskEditor_popup, :global .ze_dd, :global .__baseZC_Container__', 'test-']
|
13
|
-
}
|
14
|
-
}; //error case
|
15
|
-
|
16
|
-
let settings3 = {
|
17
|
-
selectorReplace: {
|
18
|
-
before: [':root', 'data-'],
|
19
|
-
after: [':global .zohodesk_controlpanel,:global .wms-mainui,:global .wms-hysearch, :global .mcf1ee8b17_overlay,:global .wms-hvalign, :global .KB_Editor_UploadImage,:global .zdeskEditor_popup, :global .ze_dd, :global .__baseZC_Container__']
|
20
|
-
}
|
21
|
-
}; //error case
|
22
|
-
|
23
|
-
let settings4 = {
|
24
|
-
selectorReplace: {
|
25
|
-
before: [':root'],
|
26
|
-
after: [':global .zohodesk_controlpanel,:global .wms-mainui,:global .wms-hysearch, :global .mcf1ee8b17_overlay,:global .wms-hvalign, :global .KB_Editor_UploadImage,:global .zdeskEditor_popup, :global .ze_dd, :global .__baseZC_Container__', 'test-']
|
27
|
-
}
|
28
|
-
}; // here conversion happens for data from one index to another
|
@@ -1,43 +0,0 @@
|
|
1
|
-
"use strict";
|
2
|
-
|
3
|
-
var _postcss = _interopRequireDefault(require("postcss"));
|
4
|
-
|
5
|
-
var _ValueReplacer = _interopRequireDefault(require("../ValueReplacer"));
|
6
|
-
|
7
|
-
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
8
|
-
|
9
|
-
/* eslint-disable no-use-before-define */
|
10
|
-
describe('postcss value replacer tests', () => {
|
11
|
-
it('is creating value replaced code', () => {
|
12
|
-
const cssInputStr = `.abc{ cursor : text }`;
|
13
|
-
const cssOutputStr = `.abc{ cursor : --textCursor }`;
|
14
|
-
const cssOptions = [{
|
15
|
-
props: ['font', 'font-family', 'cursor'],
|
16
|
-
values: {
|
17
|
-
'zdf-': 'zd-react-app-',
|
18
|
-
'^text$': '--textCursor'
|
19
|
-
}
|
20
|
-
}];
|
21
|
-
const result = runValueReplacerForCssString(cssInputStr, cssOptions);
|
22
|
-
expect(result.css).toEqual(cssOutputStr);
|
23
|
-
});
|
24
|
-
});
|
25
|
-
describe('postcss value replacer tests', () => {
|
26
|
-
it('is creating value replaced code', () => {
|
27
|
-
const cssInputStr = `.def{ cursor : var(--textBoxCursor) }`;
|
28
|
-
const cssOutputStr = `.def{ cursor : var(--textBoxCursor) }`;
|
29
|
-
const cssOptions = [{
|
30
|
-
props: ['font', 'font-family', 'cursor'],
|
31
|
-
values: {
|
32
|
-
'zdf-': 'zd-react-app-',
|
33
|
-
'^text$': '--textCursor'
|
34
|
-
}
|
35
|
-
}];
|
36
|
-
const result = runValueReplacerForCssString(cssInputStr, cssOptions);
|
37
|
-
expect(result.css).toEqual(cssOutputStr);
|
38
|
-
});
|
39
|
-
});
|
40
|
-
|
41
|
-
function runValueReplacerForCssString(cssInputStr, cssOptions) {
|
42
|
-
return (0, _postcss.default)([(0, _ValueReplacer.default)(cssOptions)]).process(cssInputStr);
|
43
|
-
}
|
@@ -1,61 +0,0 @@
|
|
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[0] === '.'; // 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
|
-
}
|