@zohodesk/react-cli 1.0.0 → 1.0.1-exp.1
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/.eslintignore +7 -7
- package/.eslintrc.js +180 -180
- package/.prettierrc +6 -6
- package/Changelog.md +1019 -1019
- package/README.md +1152 -1152
- package/bin/cli.js +483 -483
- 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 +6 -6
- package/docs/TODOS.md +10 -10
- package/docs/ValueReplacer.md +60 -60
- package/docs/VariableConversion.md +724 -724
- package/docs/warnings_while_install.txt +35 -35
- package/files/eslintrc.js +62 -62
- package/files/prettierrc.js +3 -3
- package/lib/configs/webpack.css.umd.config.js +4 -4
- package/lib/loaderUtils/configsAssetsLoaders.js +33 -33
- package/lib/loaders/workerLoader.js +9 -9
- package/lib/pluginUtils/getDevPlugins.js +8 -7
- package/lib/pluginUtils/getProdPlugins.js +5 -5
- package/lib/plugins/EFCPlugin.md +6 -6
- package/lib/plugins/I18NInjectIntoIndexPlugin.js +4 -4
- package/lib/plugins/I18nSplitPlugin/I18nDownlodLogic.js +38 -38
- package/lib/plugins/I18nSplitPlugin/I18nFilesEmitter.js +30 -30
- package/lib/plugins/I18nSplitPlugin/I18nKeysIdentifer.js +8 -8
- 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/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 +71 -25
- package/lib/plugins/ServiceWorkerPlugin.js +9 -9
- package/lib/plugins/TPHashMappingPlugin.js +4 -4
- package/lib/plugins/VariableConversionCollector.js +54 -54
- package/lib/plugins/cssoPlugin.js +37 -0
- package/lib/plugins/utils/checkPattern.js +57 -0
- package/lib/plugins/utils/classHandling.js +28 -0
- package/lib/plugins/utils/fileHandling.js +122 -0
- package/lib/postcss-plugins/IncludePlugin.js +24 -0
- package/lib/postcss-plugins/RTLSplitPlugin.js +10 -10
- 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 -3
- package/lib/postcss-plugins/variableModificationPlugin/index.js +23 -1
- 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/resultSchema.json +73 -73
- package/npm8.md +9 -9
- package/package.json +121 -121
- 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/result.json +0 -1
- package/unittest/index.html +0 -37
|
@@ -51,11 +51,11 @@ class ServiceWorkerPlugin {
|
|
|
51
51
|
if (err) {
|
|
52
52
|
throw new Error(err);
|
|
53
53
|
} else {
|
|
54
|
-
/* const extractedChunks = compilation.chunks.filter(chunk => {
|
|
55
|
-
if ('canBeInitial' in chunk) {
|
|
56
|
-
return chunk.canBeInitial();
|
|
57
|
-
}
|
|
58
|
-
return chunk.isInitial();
|
|
54
|
+
/* const extractedChunks = compilation.chunks.filter(chunk => {
|
|
55
|
+
if ('canBeInitial' in chunk) {
|
|
56
|
+
return chunk.canBeInitial();
|
|
57
|
+
}
|
|
58
|
+
return chunk.isInitial();
|
|
59
59
|
}); */
|
|
60
60
|
// let [js, css, , , i18nPublicPath] = this.publicPaths;
|
|
61
61
|
// let initialChunkUrls = [];
|
|
@@ -64,10 +64,10 @@ class ServiceWorkerPlugin {
|
|
|
64
64
|
let entrypoint = compilation.entrypoints.get('main');
|
|
65
65
|
let initialChunkUrls = entrypoint.getFiles();
|
|
66
66
|
const cssDirTemplate = '@dir@';
|
|
67
|
-
/**
|
|
68
|
-
* NOTE:
|
|
69
|
-
* if chunkSplitEnable is false means,
|
|
70
|
-
* serviceWorker will get i18n files path for html
|
|
67
|
+
/**
|
|
68
|
+
* NOTE:
|
|
69
|
+
* if chunkSplitEnable is false means,
|
|
70
|
+
* serviceWorker will get i18n files path for html
|
|
71
71
|
*/
|
|
72
72
|
|
|
73
73
|
let initalI18nAssets = chunkSplitEnable ? entrypoint.chunks.filter(chunk => _I18nKeysIdentifer.default.isChunkHasI18n(chunk)).map(chunk => (0, _getI18nFileUrlPathTemplate.getI18nFileUrlPathTemplate)(compilation, chunk, this.i18nFileNameTemplate, '@locale@')) : [];
|
|
@@ -15,10 +15,10 @@ var _crypto = _interopRequireDefault(require("crypto"));
|
|
|
15
15
|
|
|
16
16
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
17
17
|
|
|
18
|
-
/**
|
|
19
|
-
* Plugin that generates hash for the provided list of third party files
|
|
20
|
-
* Map the provided key with the file hash and add it to the list of exisiting global constants.
|
|
21
|
-
* Plugin in turn uses the defineplugin to generate global constants.
|
|
18
|
+
/**
|
|
19
|
+
* Plugin that generates hash for the provided list of third party files
|
|
20
|
+
* Map the provided key with the file hash and add it to the list of exisiting global constants.
|
|
21
|
+
* Plugin in turn uses the defineplugin to generate global constants.
|
|
22
22
|
*/
|
|
23
23
|
class TPHashMappingPlugin {
|
|
24
24
|
constructor(options) {
|
|
@@ -26,15 +26,15 @@ const {
|
|
|
26
26
|
const supportedProps = ['font-size', 'margin', 'margin-top', 'margin-bottom', 'margin-left', 'margin-right', 'padding', 'padding-top', 'padding-bottom', 'padding-left', 'padding-right', '^top', '^right', '^bottom', '^left', '^width', 'min-width', 'max-width', '^height', 'min-height', 'max-height', 'text-indent', 'clip', 'flex-basis', 'row-gap', 'gap', 'column-gap', 'flex']; // const avoidProps = [];
|
|
27
27
|
// -- is issue IO --
|
|
28
28
|
|
|
29
|
-
/*
|
|
30
|
-
issues eg :
|
|
31
|
-
issues = ['--zd_size', '--zd_font_size', '--size', '--size_'];
|
|
32
|
-
input :
|
|
33
|
-
--zd_size
|
|
34
|
-
output :
|
|
35
|
-
true
|
|
36
|
-
comment :
|
|
37
|
-
do not execute when --zd_size comes as prop
|
|
29
|
+
/*
|
|
30
|
+
issues eg :
|
|
31
|
+
issues = ['--zd_size', '--zd_font_size', '--size', '--size_'];
|
|
32
|
+
input :
|
|
33
|
+
--zd_size
|
|
34
|
+
output :
|
|
35
|
+
true
|
|
36
|
+
comment :
|
|
37
|
+
do not execute when --zd_size comes as prop
|
|
38
38
|
*/
|
|
39
39
|
|
|
40
40
|
function isIgnoreValuePresent(ignoreVals, prop) {
|
|
@@ -47,14 +47,14 @@ function isIgnoreValuePresent(ignoreVals, prop) {
|
|
|
47
47
|
return present;
|
|
48
48
|
} // -- to convert the hyphen values to values --
|
|
49
49
|
|
|
50
|
-
/*
|
|
51
|
-
input :
|
|
52
|
-
var(--zdt_uploadlist_default_width)
|
|
53
|
-
output :
|
|
54
|
-
--zdt_uploadlist_default_width
|
|
55
|
-
|
|
56
|
-
comment :
|
|
57
|
-
to make the variable object using the output as key and decl.prop such as font-size as value
|
|
50
|
+
/*
|
|
51
|
+
input :
|
|
52
|
+
var(--zdt_uploadlist_default_width)
|
|
53
|
+
output :
|
|
54
|
+
--zdt_uploadlist_default_width
|
|
55
|
+
|
|
56
|
+
comment :
|
|
57
|
+
to make the variable object using the output as key and decl.prop such as font-size as value
|
|
58
58
|
*/
|
|
59
59
|
|
|
60
60
|
|
|
@@ -154,13 +154,13 @@ class VariableConversionCollector {
|
|
|
154
154
|
}
|
|
155
155
|
};
|
|
156
156
|
}
|
|
157
|
-
/*
|
|
158
|
-
purpose of tap : to create a variable object such as:
|
|
159
|
-
{
|
|
160
|
-
--zdt_uploadlist_default_width : width,
|
|
161
|
-
--zdt_uploadlist_default_height : height,
|
|
162
|
-
}
|
|
163
|
-
which will help in the conversion further
|
|
157
|
+
/*
|
|
158
|
+
purpose of tap : to create a variable object such as:
|
|
159
|
+
{
|
|
160
|
+
--zdt_uploadlist_default_width : width,
|
|
161
|
+
--zdt_uploadlist_default_height : height,
|
|
162
|
+
}
|
|
163
|
+
which will help in the conversion further
|
|
164
164
|
*/
|
|
165
165
|
|
|
166
166
|
|
|
@@ -216,19 +216,19 @@ class VariableConversionCollector {
|
|
|
216
216
|
});
|
|
217
217
|
});
|
|
218
218
|
});
|
|
219
|
-
/*
|
|
220
|
-
current value example:
|
|
221
|
-
{
|
|
222
|
-
--zdt_uploadlist_default_width : --zd_upload_width,
|
|
223
|
-
--zd_upload_width : width
|
|
224
|
-
}
|
|
225
|
-
expected value :
|
|
226
|
-
{
|
|
227
|
-
--zdt_uploadlist_default_width : width,
|
|
228
|
-
--zd_upload_width : width
|
|
229
|
-
}
|
|
230
|
-
|
|
231
|
-
conversion is done in the while loop below
|
|
219
|
+
/*
|
|
220
|
+
current value example:
|
|
221
|
+
{
|
|
222
|
+
--zdt_uploadlist_default_width : --zd_upload_width,
|
|
223
|
+
--zd_upload_width : width
|
|
224
|
+
}
|
|
225
|
+
expected value :
|
|
226
|
+
{
|
|
227
|
+
--zdt_uploadlist_default_width : width,
|
|
228
|
+
--zd_upload_width : width
|
|
229
|
+
}
|
|
230
|
+
|
|
231
|
+
conversion is done in the while loop below
|
|
232
232
|
*/
|
|
233
233
|
|
|
234
234
|
Object.keys(variables).forEach(key => {
|
|
@@ -240,17 +240,17 @@ class VariableConversionCollector {
|
|
|
240
240
|
});
|
|
241
241
|
}); // -- conversion for the root using rootConvertor --
|
|
242
242
|
|
|
243
|
-
/*
|
|
244
|
-
input :
|
|
245
|
-
.a{
|
|
246
|
-
padding : 20px
|
|
247
|
-
}
|
|
248
|
-
output :
|
|
249
|
-
// on settingObject file :
|
|
250
|
-
{ padding : { replacements : { px : 'zd_size$$' }}}
|
|
251
|
-
.a{
|
|
252
|
-
padding : zd_size20;
|
|
253
|
-
}
|
|
243
|
+
/*
|
|
244
|
+
input :
|
|
245
|
+
.a{
|
|
246
|
+
padding : 20px
|
|
247
|
+
}
|
|
248
|
+
output :
|
|
249
|
+
// on settingObject file :
|
|
250
|
+
{ padding : { replacements : { px : 'zd_size$$' }}}
|
|
251
|
+
.a{
|
|
252
|
+
padding : zd_size20;
|
|
253
|
+
}
|
|
254
254
|
*/
|
|
255
255
|
|
|
256
256
|
compilation.hooks.optimizeModules.tap('VariableConversionCollector', modules => {
|
|
@@ -262,12 +262,12 @@ class VariableConversionCollector {
|
|
|
262
262
|
});
|
|
263
263
|
});
|
|
264
264
|
});
|
|
265
|
-
/*
|
|
266
|
-
purpose of tap : to display the errors encountered so far
|
|
267
|
-
input :
|
|
268
|
-
all css files
|
|
269
|
-
output :
|
|
270
|
-
all errors that are present in the errTable arr
|
|
265
|
+
/*
|
|
266
|
+
purpose of tap : to display the errors encountered so far
|
|
267
|
+
input :
|
|
268
|
+
all css files
|
|
269
|
+
output :
|
|
270
|
+
all errors that are present in the errTable arr
|
|
271
271
|
*/
|
|
272
272
|
|
|
273
273
|
compiler.hooks.afterEmit.tap('error-display', () => {
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.default = void 0;
|
|
7
|
+
|
|
8
|
+
var _webpackSources = require("webpack-sources");
|
|
9
|
+
|
|
10
|
+
var _csso = require("csso");
|
|
11
|
+
|
|
12
|
+
class cssoPlugin {
|
|
13
|
+
apply(compiler) {
|
|
14
|
+
compiler.hooks.emit.tap('cssoPlugin', compilation => {
|
|
15
|
+
Object.keys(compilation.assets).forEach(filename => {
|
|
16
|
+
if (/\.css$/.test(filename)) {
|
|
17
|
+
// console.log(filename, ' processed!');
|
|
18
|
+
try {
|
|
19
|
+
let asset = compilation.assets[filename].source();
|
|
20
|
+
|
|
21
|
+
if (typeof asset !== 'string') {
|
|
22
|
+
asset = asset.toString();
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
const result = (0, _csso.minify)(asset).css;
|
|
26
|
+
compilation.assets[filename] = new _webpackSources.RawSource(result);
|
|
27
|
+
} catch (e) {
|
|
28
|
+
compilation.errors.push(e);
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
});
|
|
32
|
+
});
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
exports.default = cssoPlugin;
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.checkPattern = checkPattern;
|
|
7
|
+
exports.negateArray = negateArray;
|
|
8
|
+
|
|
9
|
+
function checkPattern(filename, pattern) {
|
|
10
|
+
let isMatching = false;
|
|
11
|
+
|
|
12
|
+
if (pattern === '*') {
|
|
13
|
+
// console.log('case 3');
|
|
14
|
+
isMatching = true;
|
|
15
|
+
} else if (/^!/gi.test(pattern) && filename.includes(pattern)) {
|
|
16
|
+
// console.log('case 1');
|
|
17
|
+
isMatching = false;
|
|
18
|
+
} else if (!/^!/gi.test(pattern) && filename.includes(pattern)) {
|
|
19
|
+
// console.log('case 2');
|
|
20
|
+
isMatching = true;
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
return isMatching;
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
function negateArray(arr) {
|
|
27
|
+
const temp = [...arr];
|
|
28
|
+
temp.forEach((x, index) => {
|
|
29
|
+
if (/^!/gi.test(x)) {
|
|
30
|
+
arr[index] = x.substring(1);
|
|
31
|
+
} else {
|
|
32
|
+
arr[index] = `!${x}`;
|
|
33
|
+
}
|
|
34
|
+
});
|
|
35
|
+
return temp;
|
|
36
|
+
} // const pattern1 = ["*","src/","src/**/avatar","!src/components",];
|
|
37
|
+
// const examplesInputs1 = [
|
|
38
|
+
// "D:/Mywork/desk_client_app/src/components/component.css",
|
|
39
|
+
// "D:/Mywork/desk_client_app/src/components/avatar/avatar.css",
|
|
40
|
+
// "D:/Mywork/desk_client_app/src/components/teamavatar/avatar.css",
|
|
41
|
+
// "D:/Mywork/desk_client_app/src/container/teamavatar/avatar.css",
|
|
42
|
+
// "D:/Mywork/desk_client_app/deskapp/container/teamavatar/avatar.css",
|
|
43
|
+
// ]
|
|
44
|
+
// const pattern2 = ["src/","!src/components","src/components/avatar"];
|
|
45
|
+
// const examplesInputs2 = [
|
|
46
|
+
// "D:/Mywork/desk_client_app/src/components/component.css",
|
|
47
|
+
// "D:/Mywork/desk_client_app/src/components/avatar/avatar.css",
|
|
48
|
+
// "D:/Mywork/desk_client_app/src/components/teamavatar/avatar.css",
|
|
49
|
+
// "D:/Mywork/desk_client_app/src/container/teamavatar/avatar.css",
|
|
50
|
+
// "D:/Mywork/desk_client_app/deskapp/container/teamavatar/avatar.css",
|
|
51
|
+
// ]
|
|
52
|
+
// console.log(checkPattern('filename', ["*","src/","!src/components","src/components/avatar"]))
|
|
53
|
+
// console.log(checkPattern(filename, pattern))
|
|
54
|
+
// console.log(checkPattern(filename, pattern))
|
|
55
|
+
// console.log(checkPattern(filename, pattern))
|
|
56
|
+
// console.log(checkPattern(filename, pattern))
|
|
57
|
+
// console.log(checkPattern(filename, pattern))
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.hasPrevNodeIgnore = hasPrevNodeIgnore;
|
|
7
|
+
exports.isAtRule = isAtRule;
|
|
8
|
+
exports.isInsideMediaQuery = isInsideMediaQuery;
|
|
9
|
+
|
|
10
|
+
function hasPrevNodeIgnore(index, prevNode, ignoreComment) {
|
|
11
|
+
return index !== 0 && prevNode.type && prevNode.type === 'comment' && prevNode.text.toLowerCase() === ignoreComment;
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
function isAtRule(rule) {
|
|
15
|
+
return rule.parent && rule.parent.type === 'atrule';
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
function isInsideMediaQuery(rule) {
|
|
19
|
+
let mediaQuery = false;
|
|
20
|
+
|
|
21
|
+
if (isAtRule(rule)) {
|
|
22
|
+
if (rule.parent.name === 'media') {
|
|
23
|
+
mediaQuery = true;
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
return mediaQuery;
|
|
28
|
+
}
|
|
@@ -0,0 +1,122 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.filterFile = filterFile;
|
|
7
|
+
exports.ignoreFile = ignoreFile;
|
|
8
|
+
|
|
9
|
+
var _windowsModification = require("../../loaderUtils/windowsModification");
|
|
10
|
+
|
|
11
|
+
var _checkPattern = require("./checkPattern");
|
|
12
|
+
|
|
13
|
+
const ignore = require('ignore');
|
|
14
|
+
|
|
15
|
+
function ignoreFile(excludeArr, filename) {
|
|
16
|
+
let ignore = false;
|
|
17
|
+
excludeArr.forEach(exclStr => {
|
|
18
|
+
if (filename.includes(exclStr)) {
|
|
19
|
+
ignore = true;
|
|
20
|
+
}
|
|
21
|
+
});
|
|
22
|
+
return ignore;
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
function checkFile(filename, arr) {
|
|
26
|
+
let include = false;
|
|
27
|
+
arr.forEach(val => {
|
|
28
|
+
if (val.includes('*')) {
|
|
29
|
+
return true;
|
|
30
|
+
}
|
|
31
|
+
});
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
function filterFile(filename, filterObject, plugins) {
|
|
35
|
+
// plugins.forEach(x => console.log(x.postcssPlugin));
|
|
36
|
+
// let acceptedPlugins = Object.keys()
|
|
37
|
+
let aliasNames = {
|
|
38
|
+
valueReplacer: 'postcss-value-replacer',
|
|
39
|
+
selectorReplace: 'postcss-selector-symbol-replace',
|
|
40
|
+
hasRTL: 'postcss-rtl',
|
|
41
|
+
combinerMediaQuery: 'postcss-combine-media-query',
|
|
42
|
+
hoverActive: 'postcss-mobile-hover',
|
|
43
|
+
cssVariableReplacement: 'postcss-variable-report' // hoverActive
|
|
44
|
+
// combinerMediaQuery
|
|
45
|
+
// rtl
|
|
46
|
+
// cssVariableReplacement
|
|
47
|
+
// selectorWeight
|
|
48
|
+
|
|
49
|
+
};
|
|
50
|
+
const finalPlugins = [];
|
|
51
|
+
Object.keys(filterObject).forEach(key => {
|
|
52
|
+
// console.log(key, filterObject[key], aliasNames);
|
|
53
|
+
// console.log(key);
|
|
54
|
+
plugins.forEach(x => {
|
|
55
|
+
let include = false;
|
|
56
|
+
|
|
57
|
+
if (aliasNames[key] === x.postcssPlugin) {
|
|
58
|
+
const includeVals = filterObject[key].filter(x => !/^!/gi.test(x));
|
|
59
|
+
const excludeVals = filterObject[key].filter(x => /^!/gi.test(x)); // console.log(includeVals, excludeVals);
|
|
60
|
+
// filterObject[key] = windowsModification(filterObject[key]);
|
|
61
|
+
// filterObject[key].forEach(pattern => {
|
|
62
|
+
// // console.log(x.postcssPlugin);
|
|
63
|
+
// // console.log(pattern);
|
|
64
|
+
// // console.log(
|
|
65
|
+
// // /^!/gi.test(pattern),
|
|
66
|
+
// // filename.includes(pattern),
|
|
67
|
+
// // filename,
|
|
68
|
+
// // pattern
|
|
69
|
+
// // );
|
|
70
|
+
// // include = checkPattern(filename, pattern);
|
|
71
|
+
// // if (pattern === '*') {
|
|
72
|
+
// // // console.log('case 3');
|
|
73
|
+
// // include = true;
|
|
74
|
+
// // } else if (/^!/gi.test(pattern) && filename.includes(pattern)) {
|
|
75
|
+
// // // console.log('case 1');
|
|
76
|
+
// // include = false;
|
|
77
|
+
// // } else if (!/^!/gi.test(pattern) && filename.includes(pattern)) {
|
|
78
|
+
// // // console.log('case 2');
|
|
79
|
+
// // include = true;
|
|
80
|
+
// // }
|
|
81
|
+
// });
|
|
82
|
+
|
|
83
|
+
let rootDir = 'supportapp';
|
|
84
|
+
const regex = `^(.+?)${rootDir}?\\\\`; // rootDir = rootDir.replace('/', '\\');
|
|
85
|
+
// console.log(regex, new RegExp(regex, 'gi'), filename.replace(new RegExp(regex, 'gi'), ''));
|
|
86
|
+
|
|
87
|
+
const newFilename = filename.replace(new RegExp(regex, 'gi'), ''); // console.log(negateArray(filterObject[key]));
|
|
88
|
+
// console.log(filterObject[key]);
|
|
89
|
+
|
|
90
|
+
const ig = ignore().add(filterObject[key]); // console.log(x.postcssPlugin, new RegExp(regex, 'gi'));
|
|
91
|
+
// console.log(filterObject[key]);
|
|
92
|
+
// if (!ig.ignores(newFilename)) {
|
|
93
|
+
// finalPlugins.push(x);
|
|
94
|
+
// }
|
|
95
|
+
// console.log(ig);
|
|
96
|
+
// console.log([filename].filter(filePathFilter({ include: includeVals, exclude: excludeVals })));
|
|
97
|
+
// if (ig.ignores(newFilename)) {
|
|
98
|
+
// console.log(ig.ignores(newFilename), newFilename);
|
|
99
|
+
// console.log('include this file', x.postcssPlugin);
|
|
100
|
+
// }
|
|
101
|
+
// console.log(x.postcssPlugin, filename, filterObject[key], include);
|
|
102
|
+
// if (include) {
|
|
103
|
+
// console.log('included: ', finalPlugins);
|
|
104
|
+
// console.log(filename);
|
|
105
|
+
// console.log('-------------------------------------------------------------------------------------------------')
|
|
106
|
+
// finalPlugins.push(x);
|
|
107
|
+
// }
|
|
108
|
+
}
|
|
109
|
+
});
|
|
110
|
+
}); // if (include) {
|
|
111
|
+
// console.log('before: ', plugins);
|
|
112
|
+
// console.log('after: ');
|
|
113
|
+
// console.log(finalPlugins);
|
|
114
|
+
// }
|
|
115
|
+
// console.log(filename);
|
|
116
|
+
// console.log(finalPlugins);
|
|
117
|
+
// console.log(
|
|
118
|
+
// '-------------------------------------------------------------------------------------------------'
|
|
119
|
+
// );
|
|
120
|
+
|
|
121
|
+
return finalPlugins; // console.log(filename, filterObject);
|
|
122
|
+
}
|
|
@@ -0,0 +1,24 @@
|
|
|
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
|
+
// console.log(inputFile);
|
|
17
|
+
const handler = response => response.messages.forEach(msg => result.messages.push(msg));
|
|
18
|
+
|
|
19
|
+
return (0, _postcss.default)(plugins).process(root, {
|
|
20
|
+
from: undefined
|
|
21
|
+
}).then(handler);
|
|
22
|
+
}
|
|
23
|
+
};
|
|
24
|
+
});
|
|
@@ -38,11 +38,11 @@ function selectorMinifySameDir(selector, direction) {
|
|
|
38
38
|
const regex = getRegex(direction);
|
|
39
39
|
return selector.replace(regex, '').trim();
|
|
40
40
|
}
|
|
41
|
-
/**
|
|
42
|
-
* this funtion will remove given rule,
|
|
43
|
-
* if given selector and it's previous sibiling rule selector are same
|
|
44
|
-
* current rule properties will move to previous sibiling rule.
|
|
45
|
-
* @param {Rule} rule current rule
|
|
41
|
+
/**
|
|
42
|
+
* this funtion will remove given rule,
|
|
43
|
+
* if given selector and it's previous sibiling rule selector are same
|
|
44
|
+
* current rule properties will move to previous sibiling rule.
|
|
45
|
+
* @param {Rule} rule current rule
|
|
46
46
|
*/
|
|
47
47
|
|
|
48
48
|
|
|
@@ -57,11 +57,11 @@ function mergeIfSameSelector(rule) {
|
|
|
57
57
|
rule.remove();
|
|
58
58
|
}
|
|
59
59
|
}
|
|
60
|
-
/**
|
|
61
|
-
* this funtion will remove given rule,
|
|
62
|
-
* if given selector and it's previous sibiling rule selector are same
|
|
63
|
-
* current rule properties will move to previous sibiling rule.
|
|
64
|
-
* @param {Rule} rule current rule
|
|
60
|
+
/**
|
|
61
|
+
* this funtion will remove given rule,
|
|
62
|
+
* if given selector and it's previous sibiling rule selector are same
|
|
63
|
+
* current rule properties will move to previous sibiling rule.
|
|
64
|
+
* @param {Rule} rule current rule
|
|
65
65
|
*/
|
|
66
66
|
|
|
67
67
|
|
|
@@ -1,39 +1,39 @@
|
|
|
1
|
-
/*Hover_active:ignore*/
|
|
2
|
-
g,a:hover{
|
|
3
|
-
color : red
|
|
4
|
-
}
|
|
5
|
-
/*Hover:ignore*/
|
|
6
|
-
h:hover{
|
|
7
|
-
background : yellow
|
|
8
|
-
}
|
|
9
|
-
|
|
10
|
-
/* Hover_active:ignore */
|
|
11
|
-
g,d+e:hover{
|
|
12
|
-
color : black
|
|
13
|
-
}
|
|
14
|
-
|
|
15
|
-
g,d e:hover{
|
|
16
|
-
color : black
|
|
17
|
-
}
|
|
18
|
-
|
|
19
|
-
@media screen and (max-width:61.25em){
|
|
20
|
-
/* Hover_active:ignore */
|
|
21
|
-
a,b,a:hover, b:hover{
|
|
22
|
-
background-color : blue
|
|
23
|
-
}
|
|
24
|
-
a + b,a:hover + b:hover{
|
|
25
|
-
background-color : blue
|
|
26
|
-
}
|
|
27
|
-
a b:hover{
|
|
28
|
-
background-color : blue
|
|
29
|
-
}
|
|
30
|
-
|
|
31
|
-
.cc:hover {
|
|
32
|
-
color: red;
|
|
33
|
-
}
|
|
34
|
-
|
|
35
|
-
c:hover{
|
|
36
|
-
color : red
|
|
37
|
-
}
|
|
38
|
-
|
|
1
|
+
/*Hover_active:ignore*/
|
|
2
|
+
g,a:hover{
|
|
3
|
+
color : red
|
|
4
|
+
}
|
|
5
|
+
/*Hover:ignore*/
|
|
6
|
+
h:hover{
|
|
7
|
+
background : yellow
|
|
8
|
+
}
|
|
9
|
+
|
|
10
|
+
/* Hover_active:ignore */
|
|
11
|
+
g,d+e:hover{
|
|
12
|
+
color : black
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
g,d e:hover{
|
|
16
|
+
color : black
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
@media screen and (max-width:61.25em){
|
|
20
|
+
/* Hover_active:ignore */
|
|
21
|
+
a,b,a:hover, b:hover{
|
|
22
|
+
background-color : blue
|
|
23
|
+
}
|
|
24
|
+
a + b,a:hover + b:hover{
|
|
25
|
+
background-color : blue
|
|
26
|
+
}
|
|
27
|
+
a b:hover{
|
|
28
|
+
background-color : blue
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
.cc:hover {
|
|
32
|
+
color: red;
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
c:hover{
|
|
36
|
+
color : red
|
|
37
|
+
}
|
|
38
|
+
|
|
39
39
|
}
|
|
@@ -1,39 +1,39 @@
|
|
|
1
|
-
/*Hover_active:ignore*/
|
|
2
|
-
g,a:hover{
|
|
3
|
-
color : red
|
|
4
|
-
}
|
|
5
|
-
/*Hover:ignore*/
|
|
6
|
-
h:hover{
|
|
7
|
-
background : yellow
|
|
8
|
-
}
|
|
9
|
-
|
|
10
|
-
/* Hover_active:ignore */
|
|
11
|
-
g,d+e:hover{
|
|
12
|
-
color : black
|
|
13
|
-
}
|
|
14
|
-
|
|
15
|
-
g,d e:hover{
|
|
16
|
-
color : black
|
|
17
|
-
}
|
|
18
|
-
|
|
19
|
-
@media screen and (max-width:61.25em){
|
|
20
|
-
/* Hover_active:ignore */
|
|
21
|
-
a,b,a:hover, b:hover{
|
|
22
|
-
background-color : blue
|
|
23
|
-
}
|
|
24
|
-
a + b,a:hover + b:hover{
|
|
25
|
-
background-color : blue
|
|
26
|
-
}
|
|
27
|
-
a b:hover{
|
|
28
|
-
background-color : blue
|
|
29
|
-
}
|
|
30
|
-
|
|
31
|
-
.cc:hover {
|
|
32
|
-
color: red;
|
|
33
|
-
}
|
|
34
|
-
|
|
35
|
-
c:hover{
|
|
36
|
-
color : red
|
|
37
|
-
}
|
|
38
|
-
|
|
1
|
+
/*Hover_active:ignore*/
|
|
2
|
+
g,a:hover{
|
|
3
|
+
color : red
|
|
4
|
+
}
|
|
5
|
+
/*Hover:ignore*/
|
|
6
|
+
h:hover{
|
|
7
|
+
background : yellow
|
|
8
|
+
}
|
|
9
|
+
|
|
10
|
+
/* Hover_active:ignore */
|
|
11
|
+
g,d+e:hover{
|
|
12
|
+
color : black
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
g,d e:hover{
|
|
16
|
+
color : black
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
@media screen and (max-width:61.25em){
|
|
20
|
+
/* Hover_active:ignore */
|
|
21
|
+
a,b,a:hover, b:hover{
|
|
22
|
+
background-color : blue
|
|
23
|
+
}
|
|
24
|
+
a + b,a:hover + b:hover{
|
|
25
|
+
background-color : blue
|
|
26
|
+
}
|
|
27
|
+
a b:hover{
|
|
28
|
+
background-color : blue
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
.cc:hover {
|
|
32
|
+
color: red;
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
c:hover{
|
|
36
|
+
color : red
|
|
37
|
+
}
|
|
38
|
+
|
|
39
39
|
}
|
|
@@ -4,9 +4,9 @@ var _postcss = _interopRequireDefault(require("postcss"));
|
|
|
4
4
|
|
|
5
5
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
6
6
|
|
|
7
|
-
/**
|
|
8
|
-
* we have give support for ignore(exclude) comments
|
|
9
|
-
* These are the comments' keyword
|
|
7
|
+
/**
|
|
8
|
+
* we have give support for ignore(exclude) comments
|
|
9
|
+
* These are the comments' keyword
|
|
10
10
|
*/
|
|
11
11
|
const hoverIgnoreQuery = 'Hover:ignore',
|
|
12
12
|
activeIgnoreQuery = 'Active:ignore',
|