@zohodesk/react-cli 0.0.1-exp.164.2 → 0.0.1-exp.168.1
Sign up to get free protection for your applications and to get access to all the features.
- package/.prettierrc +5 -0
- package/README.md +77 -1
- package/bin/cli.js +19 -15
- package/cert/Tsicsezwild-22-23.crt +37 -0
- package/cert/Tsicsezwild-22-23.key +27 -0
- package/docs/CustomChunks.md +26 -0
- package/docs/DevStart.md +18 -0
- package/docs/InstallNode.md +28 -0
- package/docs/TODOS.md +10 -0
- package/docs/ValueReplacer.md +60 -0
- package/docs/warnings_while_install.txt +35 -0
- package/lib/common/splitChunks.js +57 -10
- package/lib/common/testPattern.js +69 -0
- package/lib/common/valueReplacer.js +55 -0
- package/lib/configs/jest.config.js +6 -1
- package/lib/configs/webpack.dev.config.js +9 -15
- package/lib/configs/webpack.docs.config.js +32 -35
- package/lib/configs/webpack.impact.config.js +5 -13
- package/lib/configs/webpack.prod.config.js +4 -3
- package/lib/loaderUtils/configsAssetsLoaders.js +88 -0
- package/lib/loaderUtils/getCSSLoaders.js +17 -13
- package/lib/postcss-plugins/ValueReplacer.js +46 -0
- package/lib/schemas/index.js +34 -3
- package/lib/servers/{devBulid.js → devBuild.js} +7 -3
- package/lib/servers/getCliPath.js +8 -2
- package/lib/servers/httpsOptions.js +2 -3
- package/lib/servers/nowatchserver.js +2 -2
- package/lib/servers/server.js +20 -5
- package/lib/utils/repoClone.js +5 -2
- package/lib/utils/rtl.js +19 -2
- package/lib/utils/useExitCleanup.js +55 -0
- package/npm8.md +9 -0
- package/package.json +2 -1
- package/postpublish.js +6 -0
- package/cert/cert.pem +0 -37
- package/cert/key.pem +0 -27
- package/cert/passphrase.pem +0 -1
- package/eslint/NOTES.md +0 -3
- package/eslint/a23.c +0 -16
- package/eslint/a28.c +0 -25
- package/eslint/a29.c +0 -25
- package/eslint/a30.c +0 -29
- package/eslint/a31.c +0 -23
- package/eslint/a35.c +0 -23
- package/eslint/a36.c +0 -18
- package/eslint/a37.c +0 -25
- package/eslint/a38.c +0 -28
- package/eslint/a39.c +0 -17
- package/eslint/a40.c +0 -32
- package/eslint/mockapi.html +0 -18
- package/eslint/mockapi.md +0 -5
@@ -12,10 +12,13 @@ var _loaderUtils = require("../loaderUtils");
|
|
12
12
|
|
13
13
|
var _libAlias = require("./libAlias");
|
14
14
|
|
15
|
+
var _configsAssetsLoaders = require("../loaderUtils/configsAssetsLoaders");
|
16
|
+
|
15
17
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
16
18
|
|
17
19
|
let options = (0, _utils.getOptions)();
|
18
20
|
let {
|
21
|
+
unstableDepsInverse,
|
19
22
|
app: {
|
20
23
|
folder,
|
21
24
|
context,
|
@@ -26,6 +29,8 @@ let {
|
|
26
29
|
cssUniqueness,
|
27
30
|
seperateCssModules,
|
28
31
|
changeRuntimeChunkChar,
|
32
|
+
// we are going to use this for fonts file name collide in issue in devmode
|
33
|
+
enableChunkHash,
|
29
34
|
cssHashSelectors,
|
30
35
|
classNamePrefix,
|
31
36
|
selectorReplace,
|
@@ -48,6 +53,7 @@ let output = {
|
|
48
53
|
publicPath: `${[serverUrl, contextURL].filter(a => a).join('/')}/`,
|
49
54
|
jsonpFunction: `${context}Jsonp`
|
50
55
|
};
|
56
|
+
const nameTemplate = (0, _configsAssetsLoaders.createNameTemplate)(enableChunkHash);
|
51
57
|
|
52
58
|
if (crossorigin) {
|
53
59
|
output.crossOriginLoading = 'anonymous';
|
@@ -96,19 +102,7 @@ module.exports = {
|
|
96
102
|
} : null, {
|
97
103
|
test: seperateCssModules ? /\.module\.css$/ : /(\.module)?\.css$/,
|
98
104
|
use: (0, _loaderUtils.getCSSLoaders)(hasRTL, rtlExclude, null, cssUniqueness, selectorReplace, cssHashSelectors, classNamePrefix)
|
99
|
-
}, {
|
100
|
-
test: /\.jpe?g$|\.gif$|\.png$/,
|
101
|
-
use: ['url-loader?limit=1000&name=./images/[name].[ext]']
|
102
|
-
}, {
|
103
|
-
test: /\.woff2|\.woff$|\.ttf$|\.eot$/,
|
104
|
-
use: ['url-loader?limit=1000&name=./fonts/[name].[ext]']
|
105
|
-
}, {
|
106
|
-
test: /\.svg$/,
|
107
|
-
use: ['url-loader?limit=1&name=./fonts/[name].[ext]']
|
108
|
-
}, {
|
109
|
-
test: /\.ogg$/,
|
110
|
-
use: ['file-loader?name=./fonts/[name].[ext]']
|
111
|
-
}, {
|
105
|
+
}, (0, _configsAssetsLoaders.configImageLoader)(nameTemplate), (0, _configsAssetsLoaders.configFontLoader)(nameTemplate), (0, _configsAssetsLoaders.configSVGLoader)(nameTemplate), (0, _configsAssetsLoaders.configAudioLoader)(nameTemplate), {
|
112
106
|
test: /\.tmpl$/,
|
113
107
|
use: [{
|
114
108
|
loader: 'html-loader',
|
@@ -131,10 +125,10 @@ module.exports = {
|
|
131
125
|
ZC: '$ZC'
|
132
126
|
},
|
133
127
|
resolve: {
|
134
|
-
modules: [_path.default.resolve(__dirname, '..', '..', 'node_modules'), 'node_modules'],
|
128
|
+
modules: unstableDepsInverse ? ['node_modules', _path.default.resolve(__dirname, '..', '..', 'node_modules')] : [_path.default.resolve(__dirname, '..', '..', 'node_modules'), 'node_modules'],
|
135
129
|
alias: disableES5Transpile ? _libAlias.libAlias : {}
|
136
130
|
},
|
137
131
|
resolveLoader: {
|
138
|
-
modules: [_path.default.resolve(__dirname, '..', '..', 'node_modules'), 'node_modules']
|
132
|
+
modules: unstableDepsInverse ? ['node_modules', _path.default.resolve(__dirname, '..', '..', 'node_modules')] : [_path.default.resolve(__dirname, '..', '..', 'node_modules'), 'node_modules']
|
139
133
|
}
|
140
134
|
};
|
@@ -8,12 +8,19 @@ var _pluginUtils = require("../pluginUtils");
|
|
8
8
|
|
9
9
|
var _loaderUtils = require("../loaderUtils");
|
10
10
|
|
11
|
+
var _libAlias = require("./libAlias");
|
12
|
+
|
13
|
+
var _configsAssetsLoaders = require("../loaderUtils/configsAssetsLoaders");
|
14
|
+
|
11
15
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
12
16
|
|
13
17
|
let options = (0, _utils.getOptions)();
|
14
18
|
let {
|
19
|
+
unstableDepsInverse,
|
15
20
|
docs: {
|
16
21
|
componentFolder,
|
22
|
+
disableES5Transpile,
|
23
|
+
enableChunkHash,
|
17
24
|
cssUniqueness,
|
18
25
|
hasRTL,
|
19
26
|
rtlExclude,
|
@@ -25,72 +32,61 @@ let {
|
|
25
32
|
}
|
26
33
|
} = options;
|
27
34
|
let appPath = process.cwd();
|
35
|
+
const nameTemplate = (0, _configsAssetsLoaders.createNameTemplate)(enableChunkHash);
|
28
36
|
|
29
37
|
module.exports = isSSTest => ({
|
30
38
|
entry: {
|
31
|
-
main: [_path.default.resolve(__dirname,
|
32
|
-
vendor: [
|
39
|
+
main: [_path.default.resolve(__dirname, '..', 'hooks', 'docsProptypeHook.js'), _path.default.join(appPath, componentFolder, 'index.js')],
|
40
|
+
vendor: ['react', 'react-dom', 'redux', 'react-redux']
|
33
41
|
},
|
34
|
-
devtool:
|
35
|
-
mode:
|
42
|
+
devtool: 'none',
|
43
|
+
mode: 'development',
|
36
44
|
output: {
|
37
|
-
path: _path.default.join(appPath,
|
38
|
-
filename:
|
39
|
-
publicPath:
|
40
|
-
library:
|
41
|
-
libraryTarget:
|
45
|
+
path: _path.default.join(appPath, 'build'),
|
46
|
+
filename: 'js/[name].js',
|
47
|
+
publicPath: '/docs/',
|
48
|
+
library: 'Component',
|
49
|
+
libraryTarget: 'umd'
|
42
50
|
},
|
43
51
|
plugins: (0, _pluginUtils.getDocsPlugins)(isSSTest, options),
|
44
52
|
module: {
|
45
53
|
rules: [{
|
46
54
|
test: /\.js$/,
|
47
55
|
use: [{
|
48
|
-
loader:
|
56
|
+
loader: 'babel-loader',
|
49
57
|
options: {
|
50
|
-
presets: [[require.resolve(
|
58
|
+
presets: [[require.resolve('@babel/preset-env'), {
|
51
59
|
modules: false
|
52
|
-
}], require.resolve(
|
53
|
-
plugins: [[require.resolve(
|
60
|
+
}], require.resolve('@babel/preset-react')],
|
61
|
+
plugins: [[require.resolve('@babel/plugin-transform-runtime'), {
|
54
62
|
helpers: true,
|
55
63
|
regenerator: false
|
56
|
-
}], require.resolve(
|
64
|
+
}], require.resolve('@babel/plugin-syntax-dynamic-import'), require.resolve('@babel/plugin-syntax-object-rest-spread')],
|
57
65
|
cacheDirectory: true
|
58
66
|
}
|
59
67
|
}],
|
60
68
|
include: _path.default.join(appPath, folder)
|
61
69
|
}, {
|
62
70
|
test: /\.docs\.js$/,
|
63
|
-
use: require.resolve(
|
71
|
+
use: require.resolve('../loaders/docsLoader.js'),
|
64
72
|
include: _path.default.join(appPath, folder),
|
65
73
|
exclude: /node_modules/
|
66
74
|
}, {
|
67
75
|
test: /(\.module)?\.css$/,
|
68
76
|
use: (0, _loaderUtils.getCSSLoaders)(hasRTL, rtlExclude, false, cssUniqueness, null, cssHashSelectors, classNamePrefix)
|
69
|
-
}, {
|
70
|
-
test: /\.jpe?g$|\.gif$|\.png$/,
|
71
|
-
use: ["url-loader?limit=1000&name=./images/[name].[ext]"]
|
72
|
-
}, {
|
73
|
-
test: /\.woff2|\.woff$|\.ttf$|\.eot$/,
|
74
|
-
use: ["url-loader?limit=1000&name=./fonts/[name].[ext]"]
|
75
|
-
}, {
|
76
|
-
test: /\.svg$/,
|
77
|
-
use: ["url-loader?limit=1&name=./fonts/[name].[ext]"]
|
78
|
-
}, {
|
77
|
+
}, (0, _configsAssetsLoaders.configImageLoader)(nameTemplate), (0, _configsAssetsLoaders.configFontLoader)(nameTemplate), (0, _configsAssetsLoaders.configSVGLoader)(nameTemplate), (0, _configsAssetsLoaders.configAudioLoader)(nameTemplate), {
|
79
78
|
test: /\.html$/,
|
80
79
|
use: {
|
81
|
-
loader:
|
80
|
+
loader: 'html-loader',
|
82
81
|
options: {
|
83
|
-
attrs: [
|
84
|
-
interpolate:
|
82
|
+
attrs: [':data-src'],
|
83
|
+
interpolate: 'require'
|
85
84
|
}
|
86
85
|
}
|
87
|
-
}, {
|
88
|
-
test: /\.ogg$/,
|
89
|
-
use: ["file-loader?name=./fonts/[name].[ext]"]
|
90
86
|
}, {
|
91
87
|
test: /\.tmpl$/,
|
92
88
|
use: [{
|
93
|
-
loader:
|
89
|
+
loader: 'html-loader',
|
94
90
|
options: {
|
95
91
|
minimize: {
|
96
92
|
removeComments: true,
|
@@ -104,12 +100,13 @@ module.exports = isSSTest => ({
|
|
104
100
|
}]
|
105
101
|
},
|
106
102
|
externals: {
|
107
|
-
ZC:
|
103
|
+
ZC: '$ZC'
|
108
104
|
},
|
109
105
|
resolve: {
|
110
|
-
modules: [_path.default.resolve(__dirname,
|
106
|
+
modules: unstableDepsInverse ? ['node_modules', _path.default.resolve(__dirname, '..', '..', 'node_modules')] : [_path.default.resolve(__dirname, '..', '..', 'node_modules'), 'node_modules'],
|
107
|
+
alias: disableES5Transpile ? _libAlias.libAlias : {}
|
111
108
|
},
|
112
109
|
resolveLoader: {
|
113
|
-
modules: [_path.default.resolve(__dirname,
|
110
|
+
modules: unstableDepsInverse ? ['node_modules', _path.default.resolve(__dirname, '..', '..', 'node_modules')] : [_path.default.resolve(__dirname, '..', '..', 'node_modules'), 'node_modules']
|
114
111
|
}
|
115
112
|
});
|
@@ -8,6 +8,8 @@ var _loaderUtils = require("../loaderUtils");
|
|
8
8
|
|
9
9
|
var _getLibraryImactPlugins = _interopRequireDefault(require("../pluginUtils/getLibraryImactPlugins"));
|
10
10
|
|
11
|
+
var _configsAssetsLoaders = require("../loaderUtils/configsAssetsLoaders");
|
12
|
+
|
11
13
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
12
14
|
|
13
15
|
let options = (0, _utils.getOptions)();
|
@@ -18,6 +20,7 @@ let {
|
|
18
20
|
hasRTL,
|
19
21
|
rtlExclude,
|
20
22
|
cssHashSelectors,
|
23
|
+
enableChunkHash,
|
21
24
|
classNamePrefix
|
22
25
|
},
|
23
26
|
app: {
|
@@ -25,6 +28,7 @@ let {
|
|
25
28
|
}
|
26
29
|
} = options;
|
27
30
|
let appPath = process.cwd();
|
31
|
+
const nameTemplate = (0, _configsAssetsLoaders.createNameTemplate)(enableChunkHash);
|
28
32
|
module.exports = {
|
29
33
|
entry: {
|
30
34
|
main: [_path.default.resolve(__dirname, '..', 'hooks', 'docsProptypeHook.js'), _path.default.join(appPath, componentFolder, 'index.js')],
|
@@ -65,16 +69,7 @@ module.exports = {
|
|
65
69
|
}, {
|
66
70
|
test: /(\.module)?\.css$/,
|
67
71
|
use: (0, _loaderUtils.getCSSLoaders)(hasRTL, rtlExclude, false, cssUniqueness, null, cssHashSelectors, classNamePrefix)
|
68
|
-
}, {
|
69
|
-
test: /\.jpe?g$|\.gif$|\.png$/,
|
70
|
-
use: ['url-loader?limit=1000&name=./images/[name].[ext]']
|
71
|
-
}, {
|
72
|
-
test: /\.woff2|\.woff$|\.ttf$|\.eot$/,
|
73
|
-
use: ['url-loader?limit=1000&name=./fonts/[name].[ext]']
|
74
|
-
}, {
|
75
|
-
test: /\.svg$/,
|
76
|
-
use: ['url-loader?limit=1&name=./fonts/[name].[ext]']
|
77
|
-
}, {
|
72
|
+
}, (0, _configsAssetsLoaders.configImageLoader)(nameTemplate), (0, _configsAssetsLoaders.configFontLoader)(nameTemplate), (0, _configsAssetsLoaders.configSVGLoader)(nameTemplate), (0, _configsAssetsLoaders.configAudioLoader)(nameTemplate), {
|
78
73
|
test: /\.html$/,
|
79
74
|
use: {
|
80
75
|
loader: 'html-loader',
|
@@ -83,9 +78,6 @@ module.exports = {
|
|
83
78
|
interpolate: 'require'
|
84
79
|
}
|
85
80
|
}
|
86
|
-
}, {
|
87
|
-
test: /\.ogg$/,
|
88
|
-
use: ['file-loader?name=./fonts/[name].[ext]']
|
89
81
|
}, {
|
90
82
|
test: /\.tmpl$/,
|
91
83
|
use: [{
|
@@ -17,6 +17,7 @@ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { de
|
|
17
17
|
// import TerserPlugin from 'terser-webpack-plugin';
|
18
18
|
let options = (0, _utils.getOptions)();
|
19
19
|
let {
|
20
|
+
unstableDepsInverse,
|
20
21
|
app: {
|
21
22
|
folder,
|
22
23
|
context,
|
@@ -80,7 +81,7 @@ module.exports = {
|
|
80
81
|
concatenateModules: true,
|
81
82
|
minimize: true,
|
82
83
|
// by default if minimize: true in webpack minimize then webpack automaticaly add TerserPlugin,
|
83
|
-
// So we are overrideing it.
|
84
|
+
// So we are overrideing it.
|
84
85
|
// minimizer: [
|
85
86
|
// new TerserPlugin({
|
86
87
|
// cache: true,
|
@@ -208,10 +209,10 @@ module.exports = {
|
|
208
209
|
ZC: '$ZC'
|
209
210
|
},
|
210
211
|
resolve: {
|
211
|
-
modules: [_path.default.resolve(__dirname, '..', '..', 'node_modules'), 'node_modules'],
|
212
|
+
modules: unstableDepsInverse ? ['node_modules', _path.default.resolve(__dirname, '..', '..', 'node_modules')] : [_path.default.resolve(__dirname, '..', '..', 'node_modules'), 'node_modules'],
|
212
213
|
alias: disableES5Transpile ? _libAlias.libAlias : {}
|
213
214
|
},
|
214
215
|
resolveLoader: {
|
215
|
-
modules: [_path.default.resolve(__dirname, '..', '..', 'node_modules'), 'node_modules']
|
216
|
+
modules: unstableDepsInverse ? ['node_modules', _path.default.resolve(__dirname, '..', '..', 'node_modules')] : [_path.default.resolve(__dirname, '..', '..', 'node_modules'), 'node_modules']
|
216
217
|
}
|
217
218
|
};
|
@@ -0,0 +1,88 @@
|
|
1
|
+
"use strict";
|
2
|
+
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
4
|
+
value: true
|
5
|
+
});
|
6
|
+
exports.configAudioLoader = configAudioLoader;
|
7
|
+
exports.configFontLoader = configFontLoader;
|
8
|
+
exports.configImageLoader = configImageLoader;
|
9
|
+
exports.configSVGLoader = configSVGLoader;
|
10
|
+
exports.createNameTemplate = createNameTemplate;
|
11
|
+
// function getLoaderOptionQueryString(params) {
|
12
|
+
const ImageExtRegex = /\.jpe?g$|\.gif$|\.png$/;
|
13
|
+
const FontExtRegex = /\.woff2|\.woff$|\.ttf$|\.eot$/;
|
14
|
+
const SVGExtRegex = /\.svg$/;
|
15
|
+
const AudioExtRegex = /\.ogg$/;
|
16
|
+
|
17
|
+
function createLoaderOptionQueryString(loaderName, nameTemplate, limit = 1000) {
|
18
|
+
return `${loaderName}?limit=${limit}&name=${nameTemplate}`;
|
19
|
+
}
|
20
|
+
|
21
|
+
function configImageLoader(nameTemplate) {
|
22
|
+
return {
|
23
|
+
test: ImageExtRegex,
|
24
|
+
use: createLoaderOptionQueryString('url-loader', `./images/${nameTemplate}`)
|
25
|
+
};
|
26
|
+
}
|
27
|
+
|
28
|
+
function configFontLoader(nameTemplate) {
|
29
|
+
return {
|
30
|
+
test: FontExtRegex,
|
31
|
+
use: createLoaderOptionQueryString('url-loader', `./fonts/${nameTemplate}`)
|
32
|
+
};
|
33
|
+
}
|
34
|
+
|
35
|
+
function configSVGLoader(nameTemplate) {
|
36
|
+
return {
|
37
|
+
test: SVGExtRegex,
|
38
|
+
use: createLoaderOptionQueryString('url-loader', `./fonts/${nameTemplate}`, 1)
|
39
|
+
};
|
40
|
+
}
|
41
|
+
|
42
|
+
function configAudioLoader(nameTemplate) {
|
43
|
+
return {
|
44
|
+
test: AudioExtRegex,
|
45
|
+
use: createLoaderOptionQueryString('file-loader', `./fonts/${nameTemplate}`, 1)
|
46
|
+
};
|
47
|
+
}
|
48
|
+
|
49
|
+
function createNameTemplate(enableChunkHash) {
|
50
|
+
const ext = `${enableChunkHash ? '.[hash:20]' : ''}.[ext]`;
|
51
|
+
return `[name]${ext}`;
|
52
|
+
}
|
53
|
+
/*
|
54
|
+
export function createImageAndFontsAndSVGLoaders(enableChunkHash) {
|
55
|
+
const nameTemplate = createNameTemplate(enableChunkHash);
|
56
|
+
return [
|
57
|
+
configImageLoader(nameTemplate),
|
58
|
+
configFontLoader(nameTemplate),
|
59
|
+
configSVGLoader(nameTemplate),
|
60
|
+
configAudioLoader(nameTemplate)
|
61
|
+
];
|
62
|
+
}
|
63
|
+
*/
|
64
|
+
|
65
|
+
/*
|
66
|
+
export function createLoaderOptionObject(
|
67
|
+
loaderName,
|
68
|
+
nameTemplate,
|
69
|
+
fallback,
|
70
|
+
limit = 1000
|
71
|
+
) {
|
72
|
+
return {
|
73
|
+
loader: loaderName,
|
74
|
+
options: {
|
75
|
+
limit,
|
76
|
+
name: nameTemplate,
|
77
|
+
fallback
|
78
|
+
}
|
79
|
+
};
|
80
|
+
}
|
81
|
+
|
82
|
+
function configLoaderObject(filter, loaderAndOptions) {
|
83
|
+
return {
|
84
|
+
test: filter,
|
85
|
+
use: loaderAndOptions
|
86
|
+
};
|
87
|
+
}
|
88
|
+
*/
|
@@ -20,6 +20,9 @@ let getCSSLoaders = (hasRTL, rtlExclude, classNameBlob, cssUniqueness, selectorR
|
|
20
20
|
const {
|
21
21
|
devCssFileBountry
|
22
22
|
} = options.app;
|
23
|
+
const {
|
24
|
+
valueReplacer
|
25
|
+
} = options.css;
|
23
26
|
const {
|
24
27
|
cssSelectorZipPath
|
25
28
|
} = options.impactService;
|
@@ -36,6 +39,18 @@ let getCSSLoaders = (hasRTL, rtlExclude, classNameBlob, cssUniqueness, selectorR
|
|
36
39
|
cssLoaderOptions.modules.getLocalIdent = (0, _cssClassNameGenerate.default)(cssUniqueness, cssHashSelectors, classNamePrefix);
|
37
40
|
}
|
38
41
|
|
42
|
+
const postcssPlugins = [valueReplacer && require('../postcss-plugins/ValueReplacer')(valueReplacer), selectorReplace && require('postcss-selector-replace')(selectorReplace), hasRTL && require('../postcss-plugins/ExcludeRTLPlugin')({
|
43
|
+
ignore: rtlExcludeLocal,
|
44
|
+
plugins: [require('@zohodesk/postcss-rtl')({
|
45
|
+
addPrefixToSelector: function addPrefixToSelector(selector, prefix) {
|
46
|
+
if (prefix === '[dir]') {
|
47
|
+
return selector;
|
48
|
+
}
|
49
|
+
|
50
|
+
return `${prefix} ${selector}`; // Make selectors like [dir=rtl] > .selector
|
51
|
+
}
|
52
|
+
})]
|
53
|
+
})].filter(Boolean);
|
39
54
|
return [cssSelectorZipPath && {
|
40
55
|
loader: require.resolve('../loaders/selectorMappingLoader')
|
41
56
|
}, {
|
@@ -51,23 +66,12 @@ let getCSSLoaders = (hasRTL, rtlExclude, classNameBlob, cssUniqueness, selectorR
|
|
51
66
|
options: {
|
52
67
|
devCssFileBountry
|
53
68
|
}
|
54
|
-
},
|
69
|
+
}, postcssPlugins.length > 0 ? {
|
55
70
|
loader: 'postcss-loader',
|
56
71
|
options: {
|
57
72
|
ident: 'postcss',
|
58
73
|
plugins: function () {
|
59
|
-
return
|
60
|
-
ignore: rtlExcludeLocal,
|
61
|
-
plugins: [require('@zohodesk/postcss-rtl')({
|
62
|
-
addPrefixToSelector: function addPrefixToSelector(selector, prefix) {
|
63
|
-
if (prefix === '[dir]') {
|
64
|
-
return selector;
|
65
|
-
}
|
66
|
-
|
67
|
-
return `${prefix} ${selector}`; // Make selectors like [dir=rtl] > .selector
|
68
|
-
}
|
69
|
-
})]
|
70
|
-
})].filter(Boolean);
|
74
|
+
return postcssPlugins;
|
71
75
|
}
|
72
76
|
}
|
73
77
|
} : null].filter(Boolean);
|
@@ -0,0 +1,46 @@
|
|
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.plugin('postcss-value-replacer', opts => {
|
8
|
+
// const { plugins } = opts;
|
9
|
+
// return (root, result) => {
|
10
|
+
// const inputFile = root.source.input.file;
|
11
|
+
// let isIgnoredFile= opts.ignore.some(file => inputFile.indexOf(file)!==-1);
|
12
|
+
// if (!isIgnoredFile) {
|
13
|
+
// const handler = response =>
|
14
|
+
// response.messages.forEach(msg => result.messages.push(msg));
|
15
|
+
// return postcss(plugins)
|
16
|
+
// .process(root, { from: undefined })
|
17
|
+
// .then(handler);
|
18
|
+
// }
|
19
|
+
// };
|
20
|
+
// });
|
21
|
+
// export default
|
22
|
+
module.exports = _postcss.default.plugin('postcss-value-replacer', (valueReplacer = {}) => // Work with options here
|
23
|
+
root => {
|
24
|
+
root.walkDecls(decl => {
|
25
|
+
valueReplacer.forEach(obj => {
|
26
|
+
if (obj.props.indexOf(decl.prop) !== -1) {
|
27
|
+
let ks = Object.keys(obj.values).sort((a, b) => b.length - a.length);
|
28
|
+
ks.forEach(k => {
|
29
|
+
decl.value = decl.value.replace(k, obj.values[k]);
|
30
|
+
}); //decl.value = obj.values[decl.value];
|
31
|
+
}
|
32
|
+
}); //console.log({root, roots:root+""}, root+"")
|
33
|
+
// Transform CSS AST here
|
34
|
+
}); // root.walkDecls(decl => {
|
35
|
+
// valueReplacer.forEach(obj => {
|
36
|
+
// if (
|
37
|
+
// obj.props.indexOf(decl.prop) !== -1 &&
|
38
|
+
// obj.values[decl.value] !== undefined
|
39
|
+
// ) {
|
40
|
+
// decl.value = obj.values[decl.value];
|
41
|
+
// }
|
42
|
+
// });
|
43
|
+
// //console.log({root, roots:root+""}, root+"")
|
44
|
+
// // Transform CSS AST here
|
45
|
+
// });
|
46
|
+
});
|
package/lib/schemas/index.js
CHANGED
@@ -14,6 +14,11 @@ var _getCurrentBranch = _interopRequireDefault(require("../utils/getCurrentBranc
|
|
14
14
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
15
15
|
|
16
16
|
var _default = {
|
17
|
+
cliRootPath: null,
|
18
|
+
unstableDepsInverse: {
|
19
|
+
value: false,
|
20
|
+
cli: 'unstable_deps_inverse'
|
21
|
+
},
|
17
22
|
sslCertURL: {
|
18
23
|
value: null,
|
19
24
|
cli: 'ssl_cert_url'
|
@@ -44,16 +49,33 @@ var _default = {
|
|
44
49
|
},
|
45
50
|
css: {
|
46
51
|
enableRTLSplit: false,
|
52
|
+
valueReplacer: null,
|
53
|
+
//valueReplacer: [
|
54
|
+
// {
|
55
|
+
// props: ['font', 'font-family'],
|
56
|
+
// values: {
|
57
|
+
// 'zdfonts-rCallBar': 'zdfonts-rCallBar01',
|
58
|
+
// 'zdfonts-rCall': 'zdfonts-rCallBar02'
|
59
|
+
// }
|
60
|
+
// // ,suffix: '0'
|
61
|
+
// }
|
62
|
+
// ],
|
47
63
|
templateLabel: '{{--dir}}',
|
48
64
|
disableMiniFiySelector: false,
|
49
65
|
dirVarName: 'document.dir'
|
50
66
|
},
|
51
67
|
efc: {
|
52
|
-
hasEFC:
|
68
|
+
hasEFC: {
|
69
|
+
value: false,
|
70
|
+
cli: 'enable_efc'
|
71
|
+
},
|
53
72
|
createSDkFile: false,
|
54
73
|
nameScope: 'ZOHODESK',
|
55
74
|
version: 'default',
|
56
|
-
outputFile:
|
75
|
+
outputFile: {
|
76
|
+
value: 'efc-sdk-[version].js',
|
77
|
+
cli: 'efc_output_file'
|
78
|
+
},
|
57
79
|
templateFilePath: '',
|
58
80
|
localeAttr: 'data-efc-locale',
|
59
81
|
localeDefaultValue: 'en_US',
|
@@ -137,7 +159,10 @@ var _default = {
|
|
137
159
|
disableES5Transpile: false,
|
138
160
|
isReactMig: false,
|
139
161
|
hasWidget: false,
|
140
|
-
hasEFC:
|
162
|
+
hasEFC: {
|
163
|
+
value: false,
|
164
|
+
cli: 'enable_efc'
|
165
|
+
},
|
141
166
|
enableChunkHash: {
|
142
167
|
value: false,
|
143
168
|
cli: 'hash_enable'
|
@@ -245,7 +270,9 @@ var _default = {
|
|
245
270
|
value: true,
|
246
271
|
cli: 'css_unique'
|
247
272
|
},
|
273
|
+
enableChunkHash: false,
|
248
274
|
folder: 'src',
|
275
|
+
disableES5Transpile: false,
|
249
276
|
hasRTL: false,
|
250
277
|
rtlExclude: [],
|
251
278
|
cssHashSelectors: {
|
@@ -542,6 +569,10 @@ var _default = {
|
|
542
569
|
value: null,
|
543
570
|
cli: 'clone_revision'
|
544
571
|
},
|
572
|
+
shallowClone: {
|
573
|
+
value: false,
|
574
|
+
cli: 'shallow_clone'
|
575
|
+
},
|
545
576
|
projectName: {
|
546
577
|
value: null,
|
547
578
|
cli: 'clone_proj_name'
|
@@ -18,6 +18,9 @@ var _getCliPath = require("./getCliPath");
|
|
18
18
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
19
19
|
|
20
20
|
const options = (0, _utils.getOptions)(); // const args = process.argv.slice(3);
|
21
|
+
// NOTE: need to discuss about in below codes,
|
22
|
+
// when we run webpack the usable options that comes for npm run not working as automatical
|
23
|
+
// we are use this option always --disable_watch=true reason for now no need for
|
21
24
|
|
22
25
|
const {
|
23
26
|
app: {
|
@@ -61,8 +64,9 @@ const startTime = Date.now(); // const result = spawnSync(
|
|
61
64
|
// ),
|
62
65
|
// { stdio: 'inherit' }
|
63
66
|
// );
|
67
|
+
// --disable_watch=true
|
64
68
|
|
65
|
-
const result = execSyncDefalut(`${webpack} --config ${require.resolve('../configs/webpack.dev.config.js')}`);
|
69
|
+
const result = execSyncDefalut(`${webpack} --config ${require.resolve('../configs/webpack.dev.config.js')} ${process.argv.slice(2).map(o => o.replace(/(.*?)=(.*)/, '$1="$2"')).join(' ')} `);
|
66
70
|
result && console.log(result);
|
67
71
|
|
68
72
|
if (result && result.stderr) {
|
@@ -83,8 +87,8 @@ if (zipname) {
|
|
83
87
|
} else {
|
84
88
|
console.log('zip file created', cssSelectorZipPath);
|
85
89
|
}
|
86
|
-
} // npm run start --app:domain=tsi --impact:cssbountry="{$@&&@$}" --disable-watch --dev-cache --cssselector_zip=css-source-map.zip
|
87
|
-
// npm run start --app_domain=tsi --impact_cssbountry="{$@&&@$}" --disable-watch --dev-cache --cssselector_zip=css-source-map.zip
|
90
|
+
} // npm run start --app:domain=tsi --impact:cssbountry="{$@&&@$}" --disable-watch --dev-cache --cssselector_zip=css-source-map.zip
|
91
|
+
// npm run start --app_domain=tsi --impact_cssbountry="{$@&&@$}" --disable-watch --dev-cache --cssselector_zip=css-source-map.zip
|
88
92
|
|
89
93
|
|
90
94
|
console.log(`compailation done in ${Date.now() - startTime}ms`);
|
@@ -9,16 +9,22 @@ var _path = _interopRequireDefault(require("path"));
|
|
9
9
|
|
10
10
|
var _os = require("os");
|
11
11
|
|
12
|
+
var _fs = require("fs");
|
13
|
+
|
12
14
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
13
15
|
|
14
16
|
let appPath = process.cwd();
|
15
17
|
const isNodeModuleUnderAppFolder = __dirname.indexOf(appPath) !== -1;
|
16
18
|
let isWindows = (0, _os.platform)().toLowerCase() === 'win32';
|
17
19
|
|
18
|
-
const _getCliPath = !isNodeModuleUnderAppFolder ? libName =>
|
20
|
+
const _getCliPath = !isNodeModuleUnderAppFolder ? libName => {
|
21
|
+
const cliPath = _path.default.join(__dirname, '..', '..', 'node_modules', '.bin', libName);
|
22
|
+
|
23
|
+
return (0, _fs.existsSync)(cliPath) ? cliPath : libName;
|
24
|
+
} : libName => libName;
|
19
25
|
|
20
26
|
const suffixExt = isWindows ? '.cmd' : '';
|
21
27
|
|
22
28
|
function getCliPath(libName) {
|
23
|
-
return _getCliPath(libName
|
29
|
+
return _getCliPath(libName + suffixExt);
|
24
30
|
}
|
@@ -12,8 +12,7 @@ var _path = _interopRequireDefault(require("path"));
|
|
12
12
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
13
13
|
|
14
14
|
const httpsOptions = {
|
15
|
-
key: _fs.default.readFileSync(_path.default.join(__dirname, '../../cert/key
|
16
|
-
cert: _fs.default.readFileSync(_path.default.join(__dirname, '../../cert/
|
17
|
-
passphrase: _fs.default.readFileSync(_path.default.join(__dirname, '../../cert/passphrase.pem')).toString()
|
15
|
+
key: _fs.default.readFileSync(_path.default.join(__dirname, '../../cert/Tsicsezwild-22-23.key')),
|
16
|
+
cert: _fs.default.readFileSync(_path.default.join(__dirname, '../../cert/Tsicsezwild-22-23.crt'))
|
18
17
|
};
|
19
18
|
exports.httpsOptions = httpsOptions;
|
@@ -14,7 +14,7 @@ var _utils = require("../utils");
|
|
14
14
|
|
15
15
|
var _httpsOptions = require("./httpsOptions");
|
16
16
|
|
17
|
-
var
|
17
|
+
var _devBuild = require("./devBuild");
|
18
18
|
|
19
19
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
20
20
|
|
@@ -42,7 +42,7 @@ const {
|
|
42
42
|
zipname,
|
43
43
|
cssSelectorZipPath,
|
44
44
|
outputFolderLocation
|
45
|
-
} = (0,
|
45
|
+
} = (0, _devBuild.getPaths)();
|
46
46
|
const app = (0, _express.default)();
|
47
47
|
|
48
48
|
if (hasMock) {
|