@zohodesk/react-cli 0.0.1-exp.169.1 → 0.0.1-exp.175.0
Sign up to get free protection for your applications and to get access to all the features.
- package/.eslintrc.js +1 -0
- package/{CHANGELOG.md → CHANGELOG-fz.md} +0 -0
- package/Changelog.md +1019 -0
- package/README.md +17 -936
- package/docs/VariableConversion.md +678 -0
- package/lib/configs/jest.config.js +8 -10
- package/lib/configs/libAlias.js +10 -3
- package/lib/configs/resolvers.js +38 -0
- package/lib/configs/webpack.dev.config.js +19 -26
- package/lib/configs/webpack.docs.config.js +12 -19
- package/lib/configs/webpack.impact.config.js +13 -15
- package/lib/configs/webpack.prod.config.js +24 -28
- package/lib/constants.js +31 -0
- package/lib/jest/preProcessors/cssPreprocessor.js +14 -7
- package/lib/loaderUtils/getCSSLoaders.js +45 -8
- package/lib/pluginUtils/configHtmlWebpackPlugins.js +59 -0
- package/lib/pluginUtils/getDevPlugins.js +14 -34
- package/lib/pluginUtils/getProdPlugins.js +24 -42
- package/lib/postcss-plugins/{ExcludeRTLPlugin.js → ExcludePlugin.js} +1 -1
- package/lib/postcss-plugins/hoverActivePlugin.js +51 -27
- package/lib/postcss-plugins/variableModificationPlugin/ErrorHandler.js +37 -0
- package/lib/postcss-plugins/variableModificationPlugin/index.js +248 -0
- package/lib/postcss-plugins/variableModifier.js +244 -0
- package/lib/schemas/index.js +50 -10
- package/lib/servers/docsServerCore.js +13 -12
- package/lib/servers/getCliPath.js +1 -1
- package/lib/servers/httpsOptions.js +40 -9
- package/lib/servers/nowatchserver.js +12 -11
- package/lib/servers/server.js +14 -13
- package/lib/utils/getOptions.js +42 -14
- package/package.json +5 -34
- package/postpublish.js +6 -4
- package/templates/docs/css/style.css +1 -1
- package/templates/docs/index.html +9 -1
- package/cert/Tsicsezwild-22-23.crt +0 -37
- package/cert/Tsicsezwild-22-23.key +0 -27
package/lib/configs/libAlias.js
CHANGED
@@ -3,7 +3,7 @@
|
|
3
3
|
Object.defineProperty(exports, "__esModule", {
|
4
4
|
value: true
|
5
5
|
});
|
6
|
-
exports.libAlias = void 0;
|
6
|
+
exports.libAlias = exports.jestModuleNameMapper = void 0;
|
7
7
|
// the reason for alias at the time was code tree shaking
|
8
8
|
// tree shaking was most compactable with ES module system
|
9
9
|
// FIXME: But there is a posiblity when these package does not have lib,
|
@@ -27,5 +27,12 @@ const libAlias = {
|
|
27
27
|
'@zohodesk/timetracker/lib': '@zohodesk/timetracker/es',
|
28
28
|
'@zohodesk/variables/lib': '@zohodesk/variables/es',
|
29
29
|
'@zohodesk/virtualizer/lib': '@zohodesk/virtualizer/es'
|
30
|
-
};
|
31
|
-
|
30
|
+
}; // '^@root(.*)$': '<rootDir>/src$1',
|
31
|
+
// '^@components(.*)$': '<rootDir>/src/components$1',
|
32
|
+
|
33
|
+
exports.libAlias = libAlias;
|
34
|
+
const jestModuleNameMapper = Object.keys(libAlias).reduce((previousValue, key) => {
|
35
|
+
previousValue[`^${key}(.*)$`] = `${libAlias[key]}$1`;
|
36
|
+
return previousValue;
|
37
|
+
}, {});
|
38
|
+
exports.jestModuleNameMapper = jestModuleNameMapper;
|
@@ -0,0 +1,38 @@
|
|
1
|
+
"use strict";
|
2
|
+
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
4
|
+
value: true
|
5
|
+
});
|
6
|
+
exports.loaderResolver = loaderResolver;
|
7
|
+
exports.moduleResolver = moduleResolver;
|
8
|
+
|
9
|
+
var _constants = require("../constants");
|
10
|
+
|
11
|
+
var _libAlias = require("./libAlias");
|
12
|
+
|
13
|
+
function moduleResolver(options) {
|
14
|
+
const {
|
15
|
+
moduleResolvePath,
|
16
|
+
disableES5Transpile
|
17
|
+
} = options.app;
|
18
|
+
const nodeModulesPath = moduleResolvePath ? require(require.resolve(moduleResolvePath, {
|
19
|
+
paths: [options.cwd]
|
20
|
+
})).nodeModulesPath : ''; // const {unstableDepsInverse} = options;
|
21
|
+
|
22
|
+
return {
|
23
|
+
modules: [nodeModulesPath, 'node_modules'].filter(Boolean),
|
24
|
+
alias: disableES5Transpile ? _libAlias.libAlias : {} // alias: { ...libAlias, ...clientDependenies }
|
25
|
+
|
26
|
+
};
|
27
|
+
}
|
28
|
+
|
29
|
+
function loaderResolver(options) {
|
30
|
+
// const unstableDepsInverse = false;
|
31
|
+
const {
|
32
|
+
unstableDepsInverse
|
33
|
+
} = options;
|
34
|
+
return {
|
35
|
+
modules: unstableDepsInverse ? ['node_modules', _constants.cliNodemodulesPath] : [_constants.cliNodemodulesPath, 'node_modules'] // alias: libAlias
|
36
|
+
|
37
|
+
};
|
38
|
+
}
|
@@ -10,24 +10,23 @@ var _pluginUtils = require("../pluginUtils");
|
|
10
10
|
|
11
11
|
var _loaderUtils = require("../loaderUtils");
|
12
12
|
|
13
|
-
var _libAlias = require("./libAlias");
|
14
|
-
|
15
13
|
var _configsAssetsLoaders = require("../loaderUtils/configsAssetsLoaders");
|
16
14
|
|
15
|
+
var _resolvers = require("./resolvers");
|
16
|
+
|
17
17
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
18
18
|
|
19
|
-
|
20
|
-
|
21
|
-
unstableDepsInverse,
|
19
|
+
const options = (0, _utils.getOptions)();
|
20
|
+
const {
|
22
21
|
app: {
|
23
22
|
folder,
|
24
23
|
context,
|
25
24
|
server,
|
26
25
|
outputFolder,
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
26
|
+
plugins,
|
27
|
+
exclude,
|
28
|
+
mediaQueryHoverActiveString,
|
29
|
+
cssVariableReplacementConfig,
|
31
30
|
cssUniqueness,
|
32
31
|
seperateCssModules,
|
33
32
|
changeRuntimeChunkChar,
|
@@ -36,19 +35,18 @@ let {
|
|
36
35
|
cssHashSelectors,
|
37
36
|
classNamePrefix,
|
38
37
|
selectorReplace,
|
39
|
-
disableES5Transpile,
|
40
38
|
devConsoleExculde,
|
41
39
|
sourcemap,
|
42
40
|
crossorigin
|
43
41
|
}
|
44
42
|
} = options;
|
45
|
-
|
43
|
+
const {
|
46
44
|
disableContextURL
|
47
45
|
} = server;
|
48
|
-
|
49
|
-
|
50
|
-
|
51
|
-
|
46
|
+
const appPath = process.cwd();
|
47
|
+
const contextURL = disableContextURL ? '' : context;
|
48
|
+
const serverUrl = (0, _utils.getServerURL)(server, 'https');
|
49
|
+
const output = {
|
52
50
|
path: _path.default.join(appPath, outputFolder),
|
53
51
|
filename: 'js/[name].js',
|
54
52
|
chunkFilename: 'js/[name].js',
|
@@ -87,9 +85,9 @@ module.exports = {
|
|
87
85
|
test: /\.js$/,
|
88
86
|
use: (0, _loaderUtils.getDevJsLoaders)(options),
|
89
87
|
include: module => {
|
90
|
-
|
88
|
+
const srcPath = _path.default.join(appPath, folder);
|
91
89
|
|
92
|
-
|
90
|
+
const depsPath = _path.default.join(appPath, 'node_modules', '@zohodesk');
|
93
91
|
|
94
92
|
if (module.includes(srcPath) || devConsoleExculde && module.includes(depsPath)) {
|
95
93
|
return true;
|
@@ -100,10 +98,10 @@ module.exports = {
|
|
100
98
|
}, seperateCssModules ? {
|
101
99
|
test: /\.css$/,
|
102
100
|
exclude: /\.module\.css$/,
|
103
|
-
use: (0, _loaderUtils.getCSSLoaders)(
|
101
|
+
use: (0, _loaderUtils.getCSSLoaders)(plugins, exclude, mediaQueryHoverActiveString, cssVariableReplacementConfig, '[local]', false, null)
|
104
102
|
} : null, {
|
105
103
|
test: seperateCssModules ? /\.module\.css$/ : /(\.module)?\.css$/,
|
106
|
-
use: (0, _loaderUtils.getCSSLoaders)(
|
104
|
+
use: (0, _loaderUtils.getCSSLoaders)(plugins, exclude, mediaQueryHoverActiveString, cssVariableReplacementConfig, null, cssUniqueness, selectorReplace, cssHashSelectors, classNamePrefix)
|
107
105
|
}, (0, _configsAssetsLoaders.configImageLoader)(nameTemplate), (0, _configsAssetsLoaders.configFontLoader)(nameTemplate), (0, _configsAssetsLoaders.configSVGLoader)(nameTemplate), (0, _configsAssetsLoaders.configVideoLoader)(nameTemplate), (0, _configsAssetsLoaders.configAudioLoader)(nameTemplate), {
|
108
106
|
test: /\.tmpl$/,
|
109
107
|
use: [{
|
@@ -126,11 +124,6 @@ module.exports = {
|
|
126
124
|
externals: {
|
127
125
|
ZC: '$ZC'
|
128
126
|
},
|
129
|
-
resolve:
|
130
|
-
|
131
|
-
alias: disableES5Transpile ? _libAlias.libAlias : {}
|
132
|
-
},
|
133
|
-
resolveLoader: {
|
134
|
-
modules: unstableDepsInverse ? ['node_modules', _path.default.resolve(__dirname, '..', '..', 'node_modules')] : [_path.default.resolve(__dirname, '..', '..', 'node_modules'), 'node_modules']
|
135
|
-
}
|
127
|
+
resolve: (0, _resolvers.moduleResolver)(options),
|
128
|
+
resolveLoader: (0, _resolvers.loaderResolver)(options)
|
136
129
|
};
|
@@ -8,24 +8,22 @@ var _pluginUtils = require("../pluginUtils");
|
|
8
8
|
|
9
9
|
var _loaderUtils = require("../loaderUtils");
|
10
10
|
|
11
|
-
var _libAlias = require("./libAlias");
|
12
|
-
|
13
11
|
var _configsAssetsLoaders = require("../loaderUtils/configsAssetsLoaders");
|
14
12
|
|
13
|
+
var _resolvers = require("./resolvers");
|
14
|
+
|
15
15
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
16
16
|
|
17
|
-
|
18
|
-
|
19
|
-
unstableDepsInverse,
|
17
|
+
const options = (0, _utils.getOptions)();
|
18
|
+
const {
|
20
19
|
docs: {
|
21
20
|
componentFolder,
|
22
|
-
disableES5Transpile,
|
23
21
|
enableChunkHash,
|
24
22
|
cssUniqueness,
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
23
|
+
plugins,
|
24
|
+
exclude,
|
25
|
+
mediaQueryHoverActiveString,
|
26
|
+
cssVariableReplacementConfig,
|
29
27
|
cssHashSelectors,
|
30
28
|
classNamePrefix
|
31
29
|
},
|
@@ -33,7 +31,7 @@ let {
|
|
33
31
|
folder
|
34
32
|
}
|
35
33
|
} = options;
|
36
|
-
|
34
|
+
const appPath = process.cwd();
|
37
35
|
const nameTemplate = (0, _configsAssetsLoaders.createNameTemplate)(enableChunkHash);
|
38
36
|
|
39
37
|
module.exports = isSSTest => ({
|
@@ -75,7 +73,7 @@ module.exports = isSSTest => ({
|
|
75
73
|
exclude: /node_modules/
|
76
74
|
}, {
|
77
75
|
test: /(\.module)?\.css$/,
|
78
|
-
use: (0, _loaderUtils.getCSSLoaders)(
|
76
|
+
use: (0, _loaderUtils.getCSSLoaders)(plugins, exclude, mediaQueryHoverActiveString, cssVariableReplacementConfig, false, cssUniqueness, null, cssHashSelectors, classNamePrefix)
|
79
77
|
}, (0, _configsAssetsLoaders.configImageLoader)(nameTemplate), (0, _configsAssetsLoaders.configFontLoader)(nameTemplate), (0, _configsAssetsLoaders.configSVGLoader)(nameTemplate), (0, _configsAssetsLoaders.configAudioLoader)(nameTemplate), (0, _configsAssetsLoaders.configVideoLoader)(nameTemplate), {
|
80
78
|
test: /\.html$/,
|
81
79
|
use: {
|
@@ -104,11 +102,6 @@ module.exports = isSSTest => ({
|
|
104
102
|
externals: {
|
105
103
|
ZC: '$ZC'
|
106
104
|
},
|
107
|
-
resolve:
|
108
|
-
|
109
|
-
alias: disableES5Transpile ? _libAlias.libAlias : {}
|
110
|
-
},
|
111
|
-
resolveLoader: {
|
112
|
-
modules: unstableDepsInverse ? ['node_modules', _path.default.resolve(__dirname, '..', '..', 'node_modules')] : [_path.default.resolve(__dirname, '..', '..', 'node_modules'), 'node_modules']
|
113
|
-
}
|
105
|
+
resolve: (0, _resolvers.moduleResolver)(options),
|
106
|
+
resolveLoader: (0, _resolvers.loaderResolver)(options)
|
114
107
|
});
|
@@ -10,17 +10,19 @@ var _getLibraryImactPlugins = _interopRequireDefault(require("../pluginUtils/get
|
|
10
10
|
|
11
11
|
var _configsAssetsLoaders = require("../loaderUtils/configsAssetsLoaders");
|
12
12
|
|
13
|
+
var _resolvers = require("./resolvers");
|
14
|
+
|
13
15
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
14
16
|
|
15
|
-
|
16
|
-
|
17
|
+
const options = (0, _utils.getOptions)();
|
18
|
+
const {
|
17
19
|
docs: {
|
18
20
|
componentFolder,
|
19
21
|
cssUniqueness,
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
22
|
+
plugins,
|
23
|
+
exclude,
|
24
|
+
mediaQueryHoverActiveString,
|
25
|
+
cssVariableReplacementConfig,
|
24
26
|
cssHashSelectors,
|
25
27
|
enableChunkHash,
|
26
28
|
classNamePrefix
|
@@ -29,7 +31,7 @@ let {
|
|
29
31
|
folder
|
30
32
|
}
|
31
33
|
} = options;
|
32
|
-
|
34
|
+
const appPath = process.cwd();
|
33
35
|
const nameTemplate = (0, _configsAssetsLoaders.createNameTemplate)(enableChunkHash);
|
34
36
|
module.exports = {
|
35
37
|
entry: {
|
@@ -38,6 +40,7 @@ module.exports = {
|
|
38
40
|
},
|
39
41
|
devtool: 'none',
|
40
42
|
mode: 'development',
|
43
|
+
stats: 'errors-only',
|
41
44
|
output: {
|
42
45
|
path: _path.default.join(appPath, 'build'),
|
43
46
|
filename: 'js/[name].js',
|
@@ -70,7 +73,7 @@ module.exports = {
|
|
70
73
|
exclude: /node_modules/
|
71
74
|
}, {
|
72
75
|
test: /(\.module)?\.css$/,
|
73
|
-
use: (0, _loaderUtils.getCSSLoaders)(
|
76
|
+
use: (0, _loaderUtils.getCSSLoaders)(plugins, exclude, mediaQueryHoverActiveString, cssVariableReplacementConfig, false, cssUniqueness, null, cssHashSelectors, classNamePrefix)
|
74
77
|
}, (0, _configsAssetsLoaders.configImageLoader)(nameTemplate), (0, _configsAssetsLoaders.configFontLoader)(nameTemplate), (0, _configsAssetsLoaders.configSVGLoader)(nameTemplate), (0, _configsAssetsLoaders.configAudioLoader)(nameTemplate), (0, _configsAssetsLoaders.configVideoLoader)(nameTemplate), {
|
75
78
|
test: /\.html$/,
|
76
79
|
use: {
|
@@ -100,11 +103,6 @@ module.exports = {
|
|
100
103
|
externals: {
|
101
104
|
ZC: '$ZC'
|
102
105
|
},
|
103
|
-
resolve:
|
104
|
-
|
105
|
-
},
|
106
|
-
resolveLoader: {
|
107
|
-
modules: [_path.default.resolve(__dirname, '..', '..', 'node_modules'), 'node_modules']
|
108
|
-
},
|
109
|
-
stats: 'errors-only'
|
106
|
+
resolve: (0, _resolvers.moduleResolver)(options),
|
107
|
+
resolveLoader: (0, _resolvers.loaderResolver)(options)
|
110
108
|
};
|
@@ -10,29 +10,27 @@ var _pluginUtils = require("../pluginUtils");
|
|
10
10
|
|
11
11
|
var _loaderUtils = require("../loaderUtils");
|
12
12
|
|
13
|
-
var _libAlias = require("./libAlias");
|
14
|
-
|
15
13
|
var _configsAssetsLoaders = require("../loaderUtils/configsAssetsLoaders");
|
16
14
|
|
15
|
+
var _resolvers = require("./resolvers");
|
16
|
+
|
17
17
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
18
18
|
|
19
19
|
// import TerserPlugin from 'terser-webpack-plugin';
|
20
|
-
|
21
|
-
|
22
|
-
unstableDepsInverse,
|
20
|
+
const options = (0, _utils.getOptions)();
|
21
|
+
const {
|
23
22
|
app: {
|
24
23
|
folder,
|
25
24
|
context,
|
26
|
-
enableChunkHash,
|
27
25
|
outputFolder,
|
28
26
|
disableES5Transpile,
|
29
27
|
removeAttribute,
|
30
28
|
enableSMap,
|
31
29
|
server,
|
32
|
-
|
33
|
-
|
34
|
-
|
35
|
-
|
30
|
+
plugins,
|
31
|
+
exclude,
|
32
|
+
mediaQueryHoverActiveString,
|
33
|
+
cssVariableReplacementConfig,
|
36
34
|
cssUniqueness,
|
37
35
|
server: {
|
38
36
|
mode
|
@@ -47,10 +45,13 @@ let {
|
|
47
45
|
crossorigin
|
48
46
|
}
|
49
47
|
} = options;
|
50
|
-
let
|
51
|
-
|
48
|
+
let {
|
49
|
+
enableChunkHash
|
50
|
+
} = options.app;
|
51
|
+
const appPath = process.cwd();
|
52
|
+
const isDevelopment = mode === 'prod' || mode === 'dev' || mode === 'dev-no-warn';
|
52
53
|
enableChunkHash = !isDevelopment && enableChunkHash;
|
53
|
-
|
54
|
+
const output = {
|
54
55
|
path: _path.default.resolve(appPath, outputFolder),
|
55
56
|
filename: enableChunkHash ? 'js/[name].[chunkhash:20]_.js' : 'js/[name]_.js',
|
56
57
|
chunkFilename: enableChunkHash ? 'js/[name].[chunkhash:20]_.js' : 'js/[name]_.js',
|
@@ -63,15 +64,15 @@ if (crossorigin) {
|
|
63
64
|
}
|
64
65
|
|
65
66
|
if (isDevelopment) {
|
66
|
-
|
67
|
+
const {
|
67
68
|
disableContextURL
|
68
69
|
} = server;
|
69
|
-
|
70
|
-
|
70
|
+
const contextURL = disableContextURL ? '' : context;
|
71
|
+
const serverUrl = (0, _utils.getServerURL)(server, 'https');
|
71
72
|
output.publicPath = `${[serverUrl, contextURL].filter(a => a).join('/')}/`;
|
72
73
|
}
|
73
74
|
|
74
|
-
|
75
|
+
const shouldRemovePropTypes = !isDevelopment && removePropTypes;
|
75
76
|
module.exports = {
|
76
77
|
entry: (0, _common.getEntries)(options, 'production'),
|
77
78
|
devtool: isDevelopment ? 'cheap-module-source-map' : enableSMap ? 'hidden-source-map' : 'none',
|
@@ -135,9 +136,9 @@ module.exports = {
|
|
135
136
|
}].filter(Boolean),
|
136
137
|
// include: path.join(appPath, folder)
|
137
138
|
include: module => {
|
138
|
-
|
139
|
+
const srcPath = _path.default.join(appPath, folder);
|
139
140
|
|
140
|
-
|
141
|
+
const depsPath = _path.default.join(appPath, 'node_modules', '@zohodesk');
|
141
142
|
|
142
143
|
if (module.includes(srcPath) || devConsoleExculde && module.includes(depsPath)) {
|
143
144
|
return true;
|
@@ -148,10 +149,10 @@ module.exports = {
|
|
148
149
|
}, seperateCssModules ? {
|
149
150
|
test: /\.css$/,
|
150
151
|
exclude: /\.module\.css$/,
|
151
|
-
use: (0, _loaderUtils.getCSSLoaders)(
|
152
|
+
use: (0, _loaderUtils.getCSSLoaders)(plugins, exclude, cssVariableReplacementConfig, mediaQueryHoverActiveString, '[local]', false, null)
|
152
153
|
} : null, {
|
153
154
|
test: seperateCssModules ? /\.module\.css$/ : /\.css$/,
|
154
|
-
use: (0, _loaderUtils.getCSSLoaders)(
|
155
|
+
use: (0, _loaderUtils.getCSSLoaders)(plugins, exclude, mediaQueryHoverActiveString, cssVariableReplacementConfig, false, cssUniqueness, selectorReplace, cssHashSelectors, classNamePrefix)
|
155
156
|
}, {
|
156
157
|
test: /\.jpe?g$|\.gif$|\.png$/,
|
157
158
|
use: [{
|
@@ -212,11 +213,6 @@ module.exports = {
|
|
212
213
|
externals: {
|
213
214
|
ZC: '$ZC'
|
214
215
|
},
|
215
|
-
resolve:
|
216
|
-
|
217
|
-
alias: disableES5Transpile ? _libAlias.libAlias : {}
|
218
|
-
},
|
219
|
-
resolveLoader: {
|
220
|
-
modules: unstableDepsInverse ? ['node_modules', _path.default.resolve(__dirname, '..', '..', 'node_modules')] : [_path.default.resolve(__dirname, '..', '..', 'node_modules'), 'node_modules']
|
221
|
-
}
|
216
|
+
resolve: (0, _resolvers.moduleResolver)(options),
|
217
|
+
resolveLoader: (0, _resolvers.loaderResolver)(options)
|
222
218
|
};
|
package/lib/constants.js
ADDED
@@ -0,0 +1,31 @@
|
|
1
|
+
"use strict";
|
2
|
+
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
4
|
+
value: true
|
5
|
+
});
|
6
|
+
exports.cliRootPath = exports.cliNodemodulesPath = exports.appPath = exports.CONFIG_ROOT = exports.BASE_CONFIG_KEY = void 0;
|
7
|
+
|
8
|
+
var _path = _interopRequireDefault(require("path"));
|
9
|
+
|
10
|
+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
11
|
+
|
12
|
+
const BASE_CONFIG_KEY = 'react-cli';
|
13
|
+
exports.BASE_CONFIG_KEY = BASE_CONFIG_KEY;
|
14
|
+
|
15
|
+
const cliRootPath = _path.default.resolve(__dirname, '..');
|
16
|
+
|
17
|
+
exports.cliRootPath = cliRootPath;
|
18
|
+
const CONFIG_ROOT = 'react-cli';
|
19
|
+
exports.CONFIG_ROOT = CONFIG_ROOT;
|
20
|
+
|
21
|
+
const cliNodemodulesPath = _path.default.resolve(cliRootPath, 'node_modules'); // export const babelrcPath = join(cliRootPath, '.babelrc');
|
22
|
+
|
23
|
+
|
24
|
+
exports.cliNodemodulesPath = cliNodemodulesPath;
|
25
|
+
const appPath = process.cwd(); // export const appInitialHTMLTemplatePath = path.join(
|
26
|
+
// process.cwd(),
|
27
|
+
// 'src',
|
28
|
+
// 'index.html'
|
29
|
+
// );
|
30
|
+
|
31
|
+
exports.appPath = appPath;
|
@@ -6,23 +6,30 @@ var _postcssHashClassname = _interopRequireDefault(require("postcss-hash-classna
|
|
6
6
|
|
7
7
|
var _fs = _interopRequireDefault(require("fs"));
|
8
8
|
|
9
|
+
var _utils = require("../../utils");
|
10
|
+
|
9
11
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
10
12
|
|
11
13
|
let count = 0;
|
14
|
+
const options = (0, _utils.getOptions)();
|
15
|
+
const {
|
16
|
+
classnameFormat
|
17
|
+
} = options.test;
|
12
18
|
module.exports = {
|
13
19
|
process: function (src) {
|
14
20
|
count++;
|
15
|
-
|
21
|
+
const opts = {
|
16
22
|
hashType: 'md5',
|
17
|
-
digestType: 'base32'
|
23
|
+
digestType: 'base32',
|
24
|
+
maxLength: 6,
|
25
|
+
type: '.json',
|
26
|
+
classnameFormat: classnameFormat,
|
27
|
+
outputName: `jsonFile_test_${count}`
|
18
28
|
};
|
19
|
-
|
20
|
-
opts.type = '.json';
|
21
|
-
opts.outputName = `jsonFile_test_${count}`;
|
22
|
-
let processor = (0, _postcss.default)([(0, _postcssHashClassname.default)(opts)]);
|
29
|
+
const processor = (0, _postcss.default)([(0, _postcssHashClassname.default)(opts)]);
|
23
30
|
processor.process(src).css;
|
24
31
|
|
25
|
-
|
32
|
+
const jsonMap = _fs.default.readFileSync(`jsonFile_test_${count}.json`, 'UTF-8');
|
26
33
|
|
27
34
|
_fs.default.unlinkSync(`jsonFile_test_${count}.json`);
|
28
35
|
|
@@ -13,10 +13,27 @@ var _utils = require("../utils");
|
|
13
13
|
|
14
14
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
15
15
|
|
16
|
-
|
17
|
-
let isWin = process.platform === 'win32';
|
16
|
+
const fs = require('fs');
|
18
17
|
|
19
|
-
|
18
|
+
const options = (0, _utils.getOptions)();
|
19
|
+
const isWin = process.platform === 'win32';
|
20
|
+
|
21
|
+
function windowsModification(array) {
|
22
|
+
return isWin ? array.map(r => r.replace(/\//g, '\\')) : array;
|
23
|
+
}
|
24
|
+
|
25
|
+
function excludeEmptyCheckPlugin({
|
26
|
+
enable,
|
27
|
+
ignore,
|
28
|
+
plugins
|
29
|
+
}) {
|
30
|
+
return enable ? ignore.length === 0 ? plugins : [require('../postcss-plugins/ExcludePlugin')({
|
31
|
+
ignore,
|
32
|
+
plugins
|
33
|
+
})] : [];
|
34
|
+
}
|
35
|
+
|
36
|
+
const getCSSLoaders = (plugins, exclude, mediaQueryHoverActiveString, cssVariableReplacementConfig, classNameBlob, cssUniqueness, selectorReplace, cssHashSelectors, classNamePrefix) => {
|
20
37
|
const {
|
21
38
|
devCssFileBountry
|
22
39
|
} = options.app;
|
@@ -26,8 +43,11 @@ let getCSSLoaders = (hasRTL, combinerMq, rtlExclude, hoverActive, classNameBlob,
|
|
26
43
|
const {
|
27
44
|
cssSelectorZipPath
|
28
45
|
} = options.impactService;
|
29
|
-
|
30
|
-
|
46
|
+
const rtlExcludeLocal = windowsModification(exclude.rtl);
|
47
|
+
const hoverActiveExcludeLocal = windowsModification(exclude.hoverActive);
|
48
|
+
const combinerMediaQueryExcludeLocal = windowsModification(exclude.combinerMediaQuery);
|
49
|
+
const cssVariableReplacementExcludeLocal = windowsModification(exclude.cssVariableReplacement);
|
50
|
+
const cssLoaderOptions = {
|
31
51
|
// importLoaders: hasRTL||hoverActive ? 1 : 0,
|
32
52
|
importLoaders: 1,
|
33
53
|
modules: {},
|
@@ -40,7 +60,13 @@ let getCSSLoaders = (hasRTL, combinerMq, rtlExclude, hoverActive, classNameBlob,
|
|
40
60
|
cssLoaderOptions.modules.getLocalIdent = (0, _cssClassNameGenerate.default)(cssUniqueness, cssHashSelectors, classNamePrefix);
|
41
61
|
}
|
42
62
|
|
43
|
-
const postcssPlugins = [valueReplacer && require('../postcss-plugins/ValueReplacer')(valueReplacer), selectorReplace && require('postcss-selector-replace')(selectorReplace),
|
63
|
+
const postcssPlugins = [valueReplacer && require('../postcss-plugins/ValueReplacer')(valueReplacer), selectorReplace && require('postcss-selector-replace')(selectorReplace), // ...excludeEmptyCheckPlugin({
|
64
|
+
// enable: true,
|
65
|
+
// ignore: [],
|
66
|
+
// plugins: [require('../postcss-plugins/variablePropertiesCollector').default()]
|
67
|
+
// }),
|
68
|
+
...excludeEmptyCheckPlugin({
|
69
|
+
enable: plugins.hasRTL,
|
44
70
|
ignore: rtlExcludeLocal,
|
45
71
|
plugins: [require('@zohodesk/postcss-rtl')({
|
46
72
|
addPrefixToSelector: function addPrefixToSelector(selector, prefix) {
|
@@ -51,8 +77,19 @@ let getCSSLoaders = (hasRTL, combinerMq, rtlExclude, hoverActive, classNameBlob,
|
|
51
77
|
return `${prefix} ${selector}`; // Make selectors like [dir=rtl] > .selector
|
52
78
|
}
|
53
79
|
})]
|
54
|
-
}),
|
55
|
-
|
80
|
+
}), ...excludeEmptyCheckPlugin({
|
81
|
+
enable: plugins.combinerMediaQuery,
|
82
|
+
ignore: combinerMediaQueryExcludeLocal,
|
83
|
+
plugins: [require('postcss-combine-media-query')]
|
84
|
+
}), ...excludeEmptyCheckPlugin({
|
85
|
+
enable: plugins.hoverActive,
|
86
|
+
ignore: hoverActiveExcludeLocal,
|
87
|
+
plugins: [require('../postcss-plugins/hoverActivePlugin')(mediaQueryHoverActiveString)]
|
88
|
+
}), ...excludeEmptyCheckPlugin({
|
89
|
+
enable: plugins.cssVariableReplacement,
|
90
|
+
ignore: cssVariableReplacementExcludeLocal,
|
91
|
+
plugins: [fs.existsSync(cssVariableReplacementConfig) && require('../postcss-plugins/variableModificationPlugin/index')(cssVariableReplacementConfig)]
|
92
|
+
})].filter(Boolean);
|
56
93
|
return [cssSelectorZipPath && {
|
57
94
|
loader: require.resolve('../loaders/selectorMappingLoader')
|
58
95
|
}, {
|
@@ -0,0 +1,59 @@
|
|
1
|
+
"use strict";
|
2
|
+
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
4
|
+
value: true
|
5
|
+
});
|
6
|
+
exports.configHtmlWebpackPlugins = configHtmlWebpackPlugins;
|
7
|
+
|
8
|
+
var _path = _interopRequireDefault(require("path"));
|
9
|
+
|
10
|
+
var _htmlWebpackPlugin = _interopRequireDefault(require("html-webpack-plugin"));
|
11
|
+
|
12
|
+
var _htmlWebpackInjectAttributesPlugin = _interopRequireDefault(require("html-webpack-inject-attributes-plugin"));
|
13
|
+
|
14
|
+
var _common = require("../common");
|
15
|
+
|
16
|
+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
17
|
+
|
18
|
+
const defaultHTMLMiniFyOption = {
|
19
|
+
collapseWhitespace: true,
|
20
|
+
minifyCSS: true,
|
21
|
+
minifyJS: true,
|
22
|
+
keepClosingSlash: true,
|
23
|
+
removeComments: false,
|
24
|
+
removeRedundantAttributes: true,
|
25
|
+
removeScriptTypeAttributes: true,
|
26
|
+
removeStyleLinkTypeAttributes: true,
|
27
|
+
useShortDoctype: true
|
28
|
+
};
|
29
|
+
|
30
|
+
function configHtmlWebpackPlugins(plugins, {
|
31
|
+
enableChunkHash = false,
|
32
|
+
folder,
|
33
|
+
inject,
|
34
|
+
crossorigin,
|
35
|
+
hasEFC,
|
36
|
+
minify: minifyHtmlOptions = false
|
37
|
+
}) {
|
38
|
+
const optionsHtmlWebpack = {
|
39
|
+
chunksSortMode: 'none',
|
40
|
+
filename: enableChunkHash ? 'index.[templatehash:20].html' : 'index.html',
|
41
|
+
template: _path.default.join(process.cwd(), folder, 'index.html'),
|
42
|
+
minify: minifyHtmlOptions === true ? defaultHTMLMiniFyOption : minifyHtmlOptions === null ? false : minifyHtmlOptions,
|
43
|
+
// : typeof minifyHtmlOptions === 'object'
|
44
|
+
// ? minifyHtmlOptions
|
45
|
+
// : minifyHtmlOptions,,
|
46
|
+
templateParameters: _common.templateParameters,
|
47
|
+
scriptLoading: 'defer',
|
48
|
+
inject: inject
|
49
|
+
};
|
50
|
+
|
51
|
+
if (hasEFC) {
|
52
|
+
optionsHtmlWebpack.excludeChunks = ['efc', 'widget'];
|
53
|
+
}
|
54
|
+
|
55
|
+
plugins.push(new _htmlWebpackPlugin.default(optionsHtmlWebpack));
|
56
|
+
crossorigin && plugins.push(new _htmlWebpackInjectAttributesPlugin.default({
|
57
|
+
crossorigin: 'anonymous'
|
58
|
+
}));
|
59
|
+
}
|