@zohodesk/react-cli 1.1.14-kubernetes → 1.1.15
Sign up to get free protection for your applications and to get access to all the features.
- package/.vscode/settings.json +25 -0
- package/README.md +294 -16
- package/bin/cli.js +30 -55
- package/docs/ComposeMinification.md +13 -0
- package/docs/CustomChunks.md +12 -9
- package/docs/MarkdownParser.md +18 -0
- package/docs/ReactLive.md +14 -0
- package/docs/SelectorWeight.md +3 -0
- package/docs/ValueReplacer.md +27 -0
- package/docs/VariableConversion.md +6 -1
- package/docs/patternFiltering.md +57 -0
- package/lib/common/buildEs.js +12 -0
- package/lib/common/runPreProcess.js +71 -0
- package/lib/common/splitChunks.js +65 -45
- package/lib/common/testPattern.js +9 -11
- package/lib/common/valueReplacer.js +1 -3
- package/lib/configs/resolvers.js +16 -5
- package/lib/configs/webpack.css.umd.config.js +3 -2
- package/lib/configs/webpack.dev.config.js +15 -5
- package/lib/configs/webpack.docs.config.js +17 -5
- package/lib/configs/webpack.impact.config.js +11 -4
- package/lib/configs/webpack.prod.config.js +15 -5
- package/lib/constants.js +3 -3
- package/lib/deprecationLogger.js +40 -0
- package/lib/loaderUtils/getCSSLoaders.js +98 -49
- package/lib/loaderUtils/tests/windowsModification.test.js +10 -0
- package/lib/loaderUtils/windowsModification.js +6 -1
- package/lib/loaders/__test__/markdownLoader.spec.js +145 -0
- package/lib/loaders/composeLoader.js +298 -0
- package/lib/loaders/docsLoader.js +18 -7
- package/lib/loaders/markdownLoader.js +71 -0
- package/lib/loaders/reactLiveConvertor.js +105 -0
- package/lib/loaders/selectorMappingLoader.js +9 -9
- package/lib/logger.js +27 -0
- package/lib/pluginUtils/getDevPlugins.js +25 -6
- package/lib/pluginUtils/getProdPlugins.js +32 -5
- 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/EFCTemplatePlugin.js +10 -12
- package/lib/plugins/EfcResourceCleanupPlugin.js +43 -0
- package/lib/plugins/I18NInjectIntoIndexPlugin.js +8 -9
- package/lib/plugins/I18nSplitPlugin/I18nDebugPlugin.js +2 -3
- package/lib/plugins/I18nSplitPlugin/I18nKeysIdentifer.js +2 -7
- package/lib/plugins/I18nSplitPlugin/index.js +1 -1
- package/lib/plugins/I18nSplitPlugin/utils/propertiesUtils.js +8 -8
- package/lib/plugins/{UglifyCSSPlugin.js → MinifyPlugin.js} +3 -3
- package/lib/plugins/ReportGeneratePlugin.js +8 -6
- package/lib/plugins/ResourceHintsPlugin.js +13 -3
- package/lib/plugins/SelectorPlugin.js +77 -37
- package/lib/plugins/StatsPlugin.js +82 -0
- package/lib/plugins/UnusedFilesFindPlugin.js +7 -5
- package/lib/plugins/VariableConversionCollector.js +40 -101
- package/lib/plugins/index.js +7 -7
- package/lib/plugins/utils/classHandling.js +35 -0
- package/lib/plugins/utils/fileHandling.js +92 -0
- package/lib/plugins/utils/tests/fileHandling.test.js +30 -0
- package/lib/plugins/variableConvertorUtils.js +133 -0
- package/lib/postcss-plugins/EmptyPlugin.js +8 -0
- package/lib/postcss-plugins/ExcludePlugin.js +1 -1
- package/lib/postcss-plugins/IncludePlugin.js +23 -0
- package/lib/postcss-plugins/RTLSplitPlugin.js +4 -10
- package/lib/postcss-plugins/SelectorReplace.js +80 -0
- package/lib/postcss-plugins/ValueReplacer.js +8 -29
- package/lib/postcss-plugins/__test__/selectorReplace.test.js +28 -0
- package/lib/postcss-plugins/__test__/valueReplacer.spec.js +43 -0
- package/lib/postcss-plugins/hoverActivePlugin.js +0 -6
- package/lib/postcss-plugins/variableModificationPlugin/ErrorHandler.js +0 -1
- package/lib/postcss-plugins/variableModificationPlugin/index.js +94 -38
- package/lib/schemas/index.js +95 -18
- package/lib/servers/devBuild.js +13 -11
- package/lib/servers/getCliPath.js +3 -5
- package/lib/servers/httpsOptions.js +12 -13
- package/lib/servers/nowatchserver.js +62 -55
- package/lib/servers/requireLocalOrGlobal.js +61 -0
- package/lib/servers/server.js +53 -52
- package/lib/utils/cssClassNameGenerate.js +70 -13
- package/lib/utils/deprecationSupport.js +134 -0
- package/lib/utils/getOptions.js +35 -28
- package/lib/utils/getServerURL.js +1 -9
- package/lib/utils/index.js +14 -12
- 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/selectorReplacer.js +47 -0
- package/lib/utils/switchBranch.js +4 -2
- package/lib/utils/variableConverter.js +104 -0
- package/npm-shrinkwrap.json +33485 -0
- package/package.json +5 -3
- 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/plugins/composeCommonPlugin.js +0 -30
- package/lib/postcss-plugins/variableModifier.js +0 -244
@@ -0,0 +1,57 @@
|
|
1
|
+
# Pattern filtering
|
2
|
+
|
3
|
+
As replacement for exclude we now have patterns in place of exclude to include or exclude a file based on its name in package.json.
|
4
|
+
|
5
|
+
|
6
|
+
# Example for patterns :
|
7
|
+
|
8
|
+
**Old System** :
|
9
|
+
To exclude `node_modules` folder from convertion for the `cssVariableReplacement` plugin, we used to have :
|
10
|
+
|
11
|
+
`react-cli > app > exclude > cssVariableReplacement` as ['node_modules'] in `package.json`
|
12
|
+
|
13
|
+
Example :
|
14
|
+
|
15
|
+
"exclude": {
|
16
|
+
"cssVariableReplacement": [
|
17
|
+
"node_modules"
|
18
|
+
]
|
19
|
+
},
|
20
|
+
|
21
|
+
**New System** :
|
22
|
+
|
23
|
+
To include all files for convertion for the `valueReplacer` plugin, we now have :
|
24
|
+
|
25
|
+
`react-cli > app > patterns > valueReplacer` as ['*'] in `package.json`
|
26
|
+
|
27
|
+
To include `src` files for convertion for the `cssVariableReplacement` plugin, we now have :
|
28
|
+
|
29
|
+
`react-cli > app > patterns > hoverActive` as ['src'] in `package.json`
|
30
|
+
|
31
|
+
To exclude `node_modules` files for convertion for the `hoverActive` plugin, we now have :
|
32
|
+
|
33
|
+
`react-cli > app > patterns > cssVariableReplacement` as ['!node_modules'] in `package.json`
|
34
|
+
Here the `!` denotes that the folder structure/file is not to be converted.
|
35
|
+
|
36
|
+
Example :
|
37
|
+
|
38
|
+
"patterns": {
|
39
|
+
"valueReplacer": [
|
40
|
+
"*"
|
41
|
+
],
|
42
|
+
"hoverActive": [
|
43
|
+
"src"
|
44
|
+
],
|
45
|
+
"cssVariableReplacement": [
|
46
|
+
"!node_modules"
|
47
|
+
],
|
48
|
+
},
|
49
|
+
|
50
|
+
Note :
|
51
|
+
`patterns` also added support for cssUniqueness to be applied to selective files.
|
52
|
+
|
53
|
+
"patterns" : {
|
54
|
+
"cssUniqueness": [
|
55
|
+
"*"
|
56
|
+
],
|
57
|
+
}
|
@@ -0,0 +1,71 @@
|
|
1
|
+
"use strict";
|
2
|
+
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
4
|
+
value: true
|
5
|
+
});
|
6
|
+
exports.runPreProcess = runPreProcess;
|
7
|
+
|
8
|
+
var _path = _interopRequireWildcard(require("path"));
|
9
|
+
|
10
|
+
var _fs = require("fs");
|
11
|
+
|
12
|
+
var _child_process = require("child_process");
|
13
|
+
|
14
|
+
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); }
|
15
|
+
|
16
|
+
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; }
|
17
|
+
|
18
|
+
function runPreProcess({
|
19
|
+
options,
|
20
|
+
option,
|
21
|
+
nodemon,
|
22
|
+
spawnSync
|
23
|
+
}) {
|
24
|
+
const {
|
25
|
+
preprocess
|
26
|
+
} = options;
|
27
|
+
const preprocessorPath = preprocess.runner ? _path.default.join(process.cwd(), preprocess.runner) : '';
|
28
|
+
const preprocessCli = preprocess.stopNodemon ? 'node' : nodemon;
|
29
|
+
|
30
|
+
if (preprocessorPath && (0, _fs.existsSync)(preprocessorPath)) {
|
31
|
+
const preprocessorDirPath = (0, _path.dirname)(preprocessorPath);
|
32
|
+
const watchOptions = preprocessCli === nodemon ? ['--watch', preprocessorDirPath] : []; // eslint-disable-next-line default-case
|
33
|
+
|
34
|
+
switch (option) {
|
35
|
+
case 'start':
|
36
|
+
case 'docs':
|
37
|
+
(0, _child_process.spawn)(preprocessCli, [preprocessorPath, ...watchOptions], {
|
38
|
+
stdio: 'inherit',
|
39
|
+
cwd: preprocessorDirPath
|
40
|
+
}); // NOTE: it's ok if we not close this here
|
41
|
+
// Because when node server stops this program will be closed So this nodemon will be killed as well
|
42
|
+
|
43
|
+
break;
|
44
|
+
|
45
|
+
case 'nowatchstart':
|
46
|
+
case 'devbuild':
|
47
|
+
case 'build:library:es':
|
48
|
+
case 'build:component:es':
|
49
|
+
case 'build:library:cmjs':
|
50
|
+
case 'build:component:cmjs':
|
51
|
+
spawnSync('node', [preprocessorPath], {
|
52
|
+
stdio: 'inherit',
|
53
|
+
cwd: preprocessorPath.slice(0, preprocessorPath.lastIndexOf('/') + 1)
|
54
|
+
});
|
55
|
+
break;
|
56
|
+
|
57
|
+
case 'preprocessor':
|
58
|
+
{
|
59
|
+
const result = spawnSync(preprocessCli, [preprocessorPath, ...watchOptions], {
|
60
|
+
stdio: 'inherit',
|
61
|
+
cwd: preprocessorDirPath
|
62
|
+
});
|
63
|
+
process.exit(result.status);
|
64
|
+
break;
|
65
|
+
}
|
66
|
+
}
|
67
|
+
} else if (option === 'preprocess') {
|
68
|
+
console.error(`preProcessor not exists ${preprocessorPath}`);
|
69
|
+
process.exit(0);
|
70
|
+
}
|
71
|
+
}
|
@@ -15,35 +15,53 @@ var _testPattern = require("./testPattern");
|
|
15
15
|
|
16
16
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
17
17
|
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
18
|
+
const isWindows = _os.default.platform().toLowerCase() === 'win32';
|
19
|
+
const ps = _path.default.sep;
|
20
|
+
const options = (0, _utils.getOptions)();
|
21
|
+
const {
|
22
22
|
app: {
|
23
23
|
vendorExclude,
|
24
24
|
customChunks,
|
25
|
-
vendorInclude
|
25
|
+
vendorInclude,
|
26
|
+
customChunksBaseConfig
|
26
27
|
}
|
27
28
|
} = options;
|
29
|
+
const reactBundleIncludeList = ['react', 'react-dom', 'react-redux', 'react-transition-group', 'scheduler', 'prop-types'];
|
30
|
+
const vendorExcludeList = ['script-loader', 'raw-loader', ...reactBundleIncludeList, ...vendorExclude.map(vendorPath => vendorPath.replace(/[/\\]/g, _path.default.sep))];
|
31
|
+
const vendorIncludeList = [...vendorInclude].map(vendorPath => vendorPath.replace(/[/\\]/g, _path.default.sep));
|
28
32
|
|
29
|
-
|
30
|
-
|
33
|
+
const isVendor = function isVendor(module) {
|
34
|
+
const {
|
31
35
|
userRequest
|
32
36
|
} = module;
|
33
|
-
|
34
|
-
excludeList = [...excludeList, ...vendorExclude];
|
35
|
-
return userRequest && (vendorInclude.some(item => userRequest.indexOf(item) !== -1) || userRequest.indexOf('node_modules') >= 0 && userRequest.endsWith('.css') === false && userRequest.endsWith('publicPathConfig.js') === false && excludeList.every(item => userRequest.indexOf(`node_modules${ps}${item}${ps}`) === -1));
|
37
|
+
return userRequest && (vendorIncludeList.some(item => userRequest.indexOf(item) !== -1) || userRequest.indexOf('node_modules') >= 0 && userRequest.endsWith('.css') === false && userRequest.endsWith('publicPathConfig.js') === false && vendorExcludeList.every(item => userRequest.indexOf(`node_modules${ps}${item}${ps}`) === -1));
|
36
38
|
};
|
37
39
|
|
38
|
-
|
39
|
-
|
40
|
+
const isReact = module => {
|
41
|
+
const {
|
40
42
|
userRequest
|
41
43
|
} = module;
|
42
|
-
|
43
|
-
return userRequest && reactBundle.some(pkg => userRequest.indexOf(`node_modules${ps}${pkg}${ps}`) >= 0);
|
44
|
+
return userRequest && reactBundleIncludeList.some(pkg => userRequest.indexOf(`node_modules${ps}${pkg}${ps}`) >= 0);
|
44
45
|
};
|
45
46
|
|
46
|
-
|
47
|
+
function rulesMatcher(pattern) {
|
48
|
+
if (typeof pattern === 'function') {
|
49
|
+
return pattern;
|
50
|
+
}
|
51
|
+
|
52
|
+
if (Array.isArray(pattern)) {
|
53
|
+
return ({
|
54
|
+
userRequest
|
55
|
+
}) => (0, _testPattern.testPattern)(userRequest, pattern);
|
56
|
+
}
|
57
|
+
|
58
|
+
return new RegExp(isWindows ? pattern.replace(/\//g, '\\') : pattern);
|
59
|
+
}
|
60
|
+
|
61
|
+
const baseSplitChunkConfig = Object.assign({
|
62
|
+
minSize: 15000
|
63
|
+
}, customChunksBaseConfig);
|
64
|
+
const specificCacheGroupConfig = {
|
47
65
|
'react.vendor': {
|
48
66
|
name: 'react.vendor',
|
49
67
|
chunks: 'all',
|
@@ -63,45 +81,35 @@ let defaultChunks = {
|
|
63
81
|
priority: -10
|
64
82
|
}
|
65
83
|
};
|
66
|
-
|
84
|
+
const customChunksConfig = {};
|
67
85
|
customChunks.map((obj, index) => ({
|
68
86
|
name: obj.name,
|
69
|
-
|
87
|
+
chunks: obj.chunks || 'all',
|
70
88
|
minChunks: obj.minChunks || obj.size || 2,
|
71
|
-
|
72
|
-
// includeDepenency: obj.includeDepenency || false,
|
89
|
+
pattern: obj.pattern,
|
73
90
|
priority: obj.priority || -10 * (index + 2),
|
74
|
-
enforce: obj.enforce
|
75
|
-
maxSize: obj.maxSize,
|
76
|
-
// || 0,
|
91
|
+
enforce: obj.enforce,
|
77
92
|
minSize: obj.minSize,
|
78
93
|
// || 20000,
|
79
|
-
|
80
|
-
|
94
|
+
maxSize: obj.maxSize,
|
95
|
+
// || 0,
|
96
|
+
reuseExistingChunk: obj.reuseExistingChunk,
|
97
|
+
cacheGroupName: obj.cacheGroupName || obj.name
|
98
|
+
})).forEach(({
|
81
99
|
name,
|
82
|
-
|
100
|
+
chunks = 'all',
|
83
101
|
minChunks,
|
84
|
-
|
102
|
+
pattern,
|
85
103
|
priority,
|
86
|
-
// includeDepenency,
|
87
104
|
enforce,
|
88
105
|
minSize,
|
89
106
|
maxSize,
|
90
|
-
|
107
|
+
reuseExistingChunk,
|
108
|
+
cacheGroupName
|
91
109
|
}) => {
|
92
|
-
|
93
|
-
|
94
|
-
test: rules ? m => {
|
95
|
-
const {
|
96
|
-
userRequest
|
97
|
-
} = m;
|
98
|
-
return (0, _testPattern.testPattern)(userRequest, rules); // return (
|
99
|
-
// pkgs.some(p => isRelated(userRequest, p)) ||
|
100
|
-
// (includeDepenency && isDependency(m, pkgs))
|
101
|
-
// );
|
102
|
-
} : new RegExp(isWindows ? pattern.replace(/\//g, '\\') : pattern),
|
110
|
+
const obj = {
|
111
|
+
test: rulesMatcher(pattern),
|
103
112
|
chunks,
|
104
|
-
enforce,
|
105
113
|
minChunks,
|
106
114
|
priority
|
107
115
|
};
|
@@ -114,13 +122,25 @@ customChunks.map((obj, index) => ({
|
|
114
122
|
obj.maxSize = maxSize;
|
115
123
|
}
|
116
124
|
|
117
|
-
|
125
|
+
if (enforce !== false) {
|
126
|
+
obj.enforce = true;
|
127
|
+
}
|
128
|
+
|
129
|
+
if (name !== undefined) {
|
130
|
+
obj.name = name;
|
131
|
+
}
|
132
|
+
|
133
|
+
if (reuseExistingChunk !== undefined) {
|
134
|
+
obj.reuseExistingChunk = reuseExistingChunk;
|
135
|
+
}
|
136
|
+
|
137
|
+
customChunksConfig[cacheGroupName] = obj;
|
118
138
|
});
|
119
|
-
|
120
|
-
minSize: 12000,
|
139
|
+
const splitChunkConfig = Object.assign({}, baseSplitChunkConfig, {
|
121
140
|
cacheGroups: Object.assign({
|
122
141
|
default: false,
|
123
142
|
vendors: false
|
124
|
-
},
|
125
|
-
};
|
143
|
+
}, specificCacheGroupConfig, customChunksConfig)
|
144
|
+
});
|
145
|
+
var _default = splitChunkConfig;
|
126
146
|
exports.default = _default;
|
@@ -13,25 +13,25 @@ var _path = require("path");
|
|
13
13
|
const isWindows = _path.sep !== '/'; // this function will return true if pattern matched
|
14
14
|
|
15
15
|
function _testPattern(req, pattern) {
|
16
|
-
let
|
16
|
+
let modifiedPattern = pattern;
|
17
17
|
|
18
|
-
if (/[*.$^]/.test(
|
18
|
+
if (/[*.$^]/.test(modifiedPattern)) {
|
19
19
|
if (isWindows) {
|
20
|
-
//
|
21
|
-
|
20
|
+
// modifiedPattern = pattern.replace(/\//g, ps.replace(/\\/g, '\\\\'));
|
21
|
+
modifiedPattern = modifiedPattern.replace(/\//g, '\\\\');
|
22
22
|
}
|
23
23
|
|
24
|
-
|
25
|
-
const re = new RegExp(
|
24
|
+
modifiedPattern = modifiedPattern.replace(/\./g, '\\.').replace(/\*/g, '.*');
|
25
|
+
const re = new RegExp(modifiedPattern);
|
26
26
|
return re.test(req);
|
27
27
|
}
|
28
28
|
|
29
29
|
if (isWindows) {
|
30
|
-
//
|
31
|
-
|
30
|
+
// modifiedPattern = pattern.replace(/\//g, ps.replace(/\\/g, '\\\\'));
|
31
|
+
modifiedPattern = modifiedPattern.replace(/\//g, '\\');
|
32
32
|
}
|
33
33
|
|
34
|
-
return req.indexOf(
|
34
|
+
return req.indexOf(modifiedPattern) !== -1;
|
35
35
|
}
|
36
36
|
|
37
37
|
function testPattern(req, pattern) {
|
@@ -62,8 +62,6 @@ const isRelatedPackage = (req, item) => isRelated(req, `node_modules${_path.sep}
|
|
62
62
|
exports.isRelatedPackage = isRelatedPackage;
|
63
63
|
|
64
64
|
function isDependency(m, excludeList) {
|
65
|
-
// let reasons = m.reasons.map(r => r.module.userRequest);
|
66
|
-
// m.reasons.some(r => !r.module || !r.module.userRequest) && console.log(m.reasons);
|
67
65
|
return m.reasons.some(r => excludeList.some(item => r.module && isRelated(r.module.userRequest, item)));
|
68
66
|
} // export function queryHandler(conditions, pattern) {
|
69
67
|
// }
|
@@ -32,11 +32,9 @@ if (!_fs.default.existsSync(dist)) {
|
|
32
32
|
}
|
33
33
|
|
34
34
|
(0, _folderIterator.default)(src, dist, docopy ? false : ['.css'], false, (fromPath, toPath) => {
|
35
|
-
|
36
|
-
let css = _fs.default.readFileSync(fromPath);
|
35
|
+
const css = _fs.default.readFileSync(fromPath);
|
37
36
|
|
38
37
|
if (docopy && !fromPath.endsWith('.css')) {
|
39
|
-
//console.log(toPath,'....');
|
40
38
|
_fs.default.writeFileSync(toPath, css);
|
41
39
|
|
42
40
|
return;
|
package/lib/configs/resolvers.js
CHANGED
@@ -8,6 +8,10 @@ exports.moduleResolver = moduleResolver;
|
|
8
8
|
|
9
9
|
var _constants = require("../constants");
|
10
10
|
|
11
|
+
var _logger = require("../logger");
|
12
|
+
|
13
|
+
var _requireLocalOrGlobal = require("../servers/requireLocalOrGlobal");
|
14
|
+
|
11
15
|
var _libAlias = require("./libAlias");
|
12
16
|
|
13
17
|
var _client_packages_group = require("@zohodesk/client_packages_group");
|
@@ -17,12 +21,19 @@ function moduleResolver(options) {
|
|
17
21
|
moduleResolvePath,
|
18
22
|
disableES5Transpile
|
19
23
|
} = options.app;
|
20
|
-
|
21
|
-
|
22
|
-
|
24
|
+
let required = moduleResolvePath && (0, _requireLocalOrGlobal.requireLocal)(moduleResolvePath);
|
25
|
+
|
26
|
+
if (!required) {
|
27
|
+
required = (0, _requireLocalOrGlobal.requireGlobal)('@zohodesk/client_packages_group');
|
28
|
+
|
29
|
+
if (required) {
|
30
|
+
(0, _logger.messageLogger)('global `@zohodesk/client_packages_group` package taken as client_packages_group');
|
31
|
+
}
|
32
|
+
}
|
23
33
|
|
34
|
+
const nodeModulesPath = required ? required.nodeModulesPath : _client_packages_group.nodeModulesPath;
|
24
35
|
return {
|
25
|
-
modules: [nodeModulesPath, _constants.
|
36
|
+
modules: [nodeModulesPath, _constants.cliNodeModulesPath, 'node_modules'].filter(Boolean),
|
26
37
|
alias: disableES5Transpile ? _libAlias.libAlias : {} // alias: { ...libAlias, ...clientDependenies }
|
27
38
|
|
28
39
|
};
|
@@ -34,7 +45,7 @@ function loaderResolver(options) {
|
|
34
45
|
unstableDepsInverse
|
35
46
|
} = options;
|
36
47
|
return {
|
37
|
-
modules: unstableDepsInverse ? ['node_modules', _constants.
|
48
|
+
modules: unstableDepsInverse ? ['node_modules', _constants.cliNodeModulesPath] : [_constants.cliNodeModulesPath, 'node_modules'] // alias: libAlias
|
38
49
|
|
39
50
|
};
|
40
51
|
}
|
@@ -23,7 +23,8 @@ let {
|
|
23
23
|
folder,
|
24
24
|
publicPath,
|
25
25
|
cssHashSelectors,
|
26
|
-
classNamePrefix
|
26
|
+
classNamePrefix,
|
27
|
+
customClassNamePrefix
|
27
28
|
}
|
28
29
|
},
|
29
30
|
packageVersion
|
@@ -83,7 +84,7 @@ module.exports = {
|
|
83
84
|
loader: 'css-loader',
|
84
85
|
options: {
|
85
86
|
modules: {
|
86
|
-
getLocalIdent: (0, _cssClassNameGenerate.default)(cssUniqueness, cssHashSelectors, classNamePrefix)
|
87
|
+
getLocalIdent: (0, _cssClassNameGenerate.default)(cssUniqueness, cssHashSelectors, classNamePrefix, customClassNamePrefix)
|
87
88
|
}
|
88
89
|
}
|
89
90
|
}]
|
@@ -25,10 +25,12 @@ const {
|
|
25
25
|
outputFolder,
|
26
26
|
plugins,
|
27
27
|
exclude,
|
28
|
+
patterns,
|
28
29
|
mediaQueryHoverActiveString,
|
29
30
|
cssVariableReplacementConfig,
|
30
31
|
selectorWeightConfig,
|
31
32
|
cssUniqueness,
|
33
|
+
customClassNamePrefix,
|
32
34
|
seperateCssModules,
|
33
35
|
changeRuntimeChunkChar,
|
34
36
|
// we are going to use this for fonts file name collide in issue in devmode
|
@@ -38,7 +40,9 @@ const {
|
|
38
40
|
selectorReplace,
|
39
41
|
devConsoleExculde,
|
40
42
|
sourcemap,
|
41
|
-
crossorigin
|
43
|
+
crossorigin,
|
44
|
+
postCssPluginOrder,
|
45
|
+
externals
|
42
46
|
}
|
43
47
|
} = options;
|
44
48
|
const {
|
@@ -102,26 +106,32 @@ module.exports = {
|
|
102
106
|
use: (0, _loaderUtils.getCSSLoaders)({
|
103
107
|
plugins,
|
104
108
|
exclude,
|
109
|
+
patterns,
|
105
110
|
mediaQueryHoverActiveString,
|
106
111
|
cssVariableReplacementConfig,
|
107
112
|
selectorWeightConfig,
|
113
|
+
customClassNamePrefix,
|
108
114
|
classNameBlob: '[local]',
|
109
115
|
cssUniqueness: false,
|
110
|
-
selectorReplace: null
|
116
|
+
selectorReplace: null,
|
117
|
+
postCssPluginOrder
|
111
118
|
})
|
112
119
|
} : null, {
|
113
120
|
test: seperateCssModules ? /\.module\.css$/ : /(\.module)?\.css$/,
|
114
121
|
use: (0, _loaderUtils.getCSSLoaders)({
|
115
122
|
plugins,
|
116
123
|
exclude,
|
124
|
+
patterns,
|
117
125
|
mediaQueryHoverActiveString,
|
118
126
|
cssVariableReplacementConfig,
|
119
127
|
selectorWeightConfig,
|
120
128
|
classNameBlob: null,
|
121
129
|
cssUniqueness,
|
130
|
+
customClassNamePrefix,
|
122
131
|
selectorReplace,
|
123
132
|
cssHashSelectors,
|
124
|
-
classNamePrefix
|
133
|
+
classNamePrefix,
|
134
|
+
postCssPluginOrder
|
125
135
|
})
|
126
136
|
}, (0, _configsAssetsLoaders.configImageLoader)(nameTemplate), (0, _configsAssetsLoaders.configFontLoader)(nameTemplate), (0, _configsAssetsLoaders.configSVGLoader)(nameTemplate), (0, _configsAssetsLoaders.configVideoLoader)(nameTemplate), (0, _configsAssetsLoaders.configAudioLoader)(nameTemplate), {
|
127
137
|
test: /\.tmpl$/,
|
@@ -142,9 +152,9 @@ module.exports = {
|
|
142
152
|
}
|
143
153
|
}].filter(Boolean)
|
144
154
|
},
|
145
|
-
externals: {
|
155
|
+
externals: Object.assign({
|
146
156
|
ZC: '$ZC'
|
147
|
-
},
|
157
|
+
}, externals),
|
148
158
|
resolve: (0, _resolvers.moduleResolver)(options),
|
149
159
|
resolveLoader: (0, _resolvers.loaderResolver)(options)
|
150
160
|
};
|
@@ -20,13 +20,18 @@ const {
|
|
20
20
|
componentFolder,
|
21
21
|
enableChunkHash,
|
22
22
|
cssUniqueness,
|
23
|
+
customClassNamePrefix,
|
23
24
|
plugins,
|
24
25
|
exclude,
|
26
|
+
patterns,
|
25
27
|
mediaQueryHoverActiveString,
|
26
28
|
cssVariableReplacementConfig,
|
27
29
|
selectorWeightConfig,
|
28
30
|
cssHashSelectors,
|
29
|
-
classNamePrefix
|
31
|
+
classNamePrefix,
|
32
|
+
selectorReplace,
|
33
|
+
postCssPluginOrder,
|
34
|
+
externals
|
30
35
|
},
|
31
36
|
app: {
|
32
37
|
folder
|
@@ -77,14 +82,17 @@ module.exports = isSSTest => ({
|
|
77
82
|
use: (0, _loaderUtils.getCSSLoaders)({
|
78
83
|
plugins,
|
79
84
|
exclude,
|
85
|
+
patterns,
|
80
86
|
mediaQueryHoverActiveString,
|
81
87
|
cssVariableReplacementConfig,
|
82
88
|
selectorWeightConfig,
|
83
89
|
classNameBlob: false,
|
84
90
|
cssUniqueness,
|
85
|
-
|
91
|
+
customClassNamePrefix,
|
92
|
+
selectorReplace,
|
86
93
|
cssHashSelectors,
|
87
|
-
classNamePrefix
|
94
|
+
classNamePrefix,
|
95
|
+
postCssPluginOrder
|
88
96
|
})
|
89
97
|
}, (0, _configsAssetsLoaders.configImageLoader)(nameTemplate), (0, _configsAssetsLoaders.configFontLoader)(nameTemplate), (0, _configsAssetsLoaders.configSVGLoader)(nameTemplate), (0, _configsAssetsLoaders.configAudioLoader)(nameTemplate), (0, _configsAssetsLoaders.configVideoLoader)(nameTemplate), {
|
90
98
|
test: /\.html$/,
|
@@ -95,6 +103,10 @@ module.exports = isSSTest => ({
|
|
95
103
|
interpolate: 'require'
|
96
104
|
}
|
97
105
|
}
|
106
|
+
}, {
|
107
|
+
test: /\.mjs$/,
|
108
|
+
include: /node_modules/,
|
109
|
+
type: 'javascript/auto'
|
98
110
|
}, {
|
99
111
|
test: /\.tmpl$/,
|
100
112
|
use: [{
|
@@ -111,9 +123,9 @@ module.exports = isSSTest => ({
|
|
111
123
|
}]
|
112
124
|
}]
|
113
125
|
},
|
114
|
-
externals: {
|
126
|
+
externals: Object.assign({
|
115
127
|
ZC: '$ZC'
|
116
|
-
},
|
128
|
+
}, externals),
|
117
129
|
resolve: (0, _resolvers.moduleResolver)(options),
|
118
130
|
resolveLoader: (0, _resolvers.loaderResolver)(options)
|
119
131
|
});
|
@@ -19,14 +19,18 @@ const {
|
|
19
19
|
docs: {
|
20
20
|
componentFolder,
|
21
21
|
cssUniqueness,
|
22
|
+
customClassNamePrefix,
|
22
23
|
plugins,
|
23
24
|
exclude,
|
25
|
+
patterns,
|
24
26
|
mediaQueryHoverActiveString,
|
25
27
|
cssVariableReplacementConfig,
|
26
28
|
selectorWeightConfig,
|
27
29
|
cssHashSelectors,
|
28
30
|
enableChunkHash,
|
29
|
-
classNamePrefix
|
31
|
+
classNamePrefix,
|
32
|
+
postCssPluginOrder,
|
33
|
+
externals
|
30
34
|
},
|
31
35
|
app: {
|
32
36
|
folder
|
@@ -77,14 +81,17 @@ module.exports = {
|
|
77
81
|
use: (0, _loaderUtils.getCSSLoaders)({
|
78
82
|
plugins,
|
79
83
|
exclude,
|
84
|
+
patterns,
|
80
85
|
mediaQueryHoverActiveString,
|
81
86
|
cssVariableReplacementConfig,
|
82
87
|
selectorWeightConfig,
|
83
88
|
classNameBlob: false,
|
84
89
|
cssUniqueness,
|
90
|
+
customClassNamePrefix,
|
85
91
|
selectorReplace: null,
|
86
92
|
cssHashSelectors,
|
87
|
-
classNamePrefix
|
93
|
+
classNamePrefix,
|
94
|
+
postCssPluginOrder
|
88
95
|
})
|
89
96
|
}, (0, _configsAssetsLoaders.configImageLoader)(nameTemplate), (0, _configsAssetsLoaders.configFontLoader)(nameTemplate), (0, _configsAssetsLoaders.configSVGLoader)(nameTemplate), (0, _configsAssetsLoaders.configAudioLoader)(nameTemplate), (0, _configsAssetsLoaders.configVideoLoader)(nameTemplate), {
|
90
97
|
test: /\.html$/,
|
@@ -112,9 +119,9 @@ module.exports = {
|
|
112
119
|
}]
|
113
120
|
}]
|
114
121
|
},
|
115
|
-
externals: {
|
122
|
+
externals: Object.assign({
|
116
123
|
ZC: '$ZC'
|
117
|
-
},
|
124
|
+
}, externals),
|
118
125
|
resolve: (0, _resolvers.moduleResolver)(options),
|
119
126
|
resolveLoader: (0, _resolvers.loaderResolver)(options)
|
120
127
|
};
|
@@ -29,10 +29,12 @@ const {
|
|
29
29
|
server,
|
30
30
|
plugins,
|
31
31
|
exclude,
|
32
|
+
patterns,
|
32
33
|
mediaQueryHoverActiveString,
|
33
34
|
cssVariableReplacementConfig,
|
34
35
|
selectorWeightConfig,
|
35
36
|
cssUniqueness,
|
37
|
+
customClassNamePrefix,
|
36
38
|
server: {
|
37
39
|
mode
|
38
40
|
},
|
@@ -43,7 +45,9 @@ const {
|
|
43
45
|
selectorReplace,
|
44
46
|
removePropTypes,
|
45
47
|
devConsoleExculde,
|
46
|
-
crossorigin
|
48
|
+
crossorigin,
|
49
|
+
postCssPluginOrder,
|
50
|
+
externals
|
47
51
|
}
|
48
52
|
} = options;
|
49
53
|
let {
|
@@ -153,26 +157,32 @@ module.exports = {
|
|
153
157
|
use: (0, _loaderUtils.getCSSLoaders)({
|
154
158
|
plugins,
|
155
159
|
exclude,
|
160
|
+
patterns,
|
156
161
|
cssVariableReplacementConfig,
|
157
162
|
selectorWeightConfig,
|
158
163
|
mediaQueryHoverActiveString,
|
159
164
|
classNameBlob: '[local]',
|
160
165
|
cssUniqueness: false,
|
161
|
-
|
166
|
+
customClassNamePrefix,
|
167
|
+
selectorReplace: null,
|
168
|
+
postCssPluginOrder
|
162
169
|
})
|
163
170
|
} : null, {
|
164
171
|
test: seperateCssModules ? /\.module\.css$/ : /\.css$/,
|
165
172
|
use: (0, _loaderUtils.getCSSLoaders)({
|
166
173
|
plugins,
|
167
174
|
exclude,
|
175
|
+
patterns,
|
168
176
|
mediaQueryHoverActiveString,
|
169
177
|
cssVariableReplacementConfig,
|
170
178
|
selectorWeightConfig,
|
171
179
|
classNameBlob: false,
|
172
180
|
cssUniqueness,
|
181
|
+
customClassNamePrefix,
|
173
182
|
selectorReplace,
|
174
183
|
cssHashSelectors,
|
175
|
-
classNamePrefix
|
184
|
+
classNamePrefix,
|
185
|
+
postCssPluginOrder
|
176
186
|
})
|
177
187
|
}, {
|
178
188
|
test: /\.jpe?g$|\.gif$|\.png$/,
|
@@ -231,9 +241,9 @@ module.exports = {
|
|
231
241
|
}
|
232
242
|
}].filter(Boolean)
|
233
243
|
},
|
234
|
-
externals: {
|
244
|
+
externals: Object.assign({
|
235
245
|
ZC: '$ZC'
|
236
|
-
},
|
246
|
+
}, externals),
|
237
247
|
resolve: (0, _resolvers.moduleResolver)(options),
|
238
248
|
resolveLoader: (0, _resolvers.loaderResolver)(options)
|
239
249
|
};
|