@zohodesk/react-cli 0.0.1-exp.176.4 → 0.0.1-exp.178.1
Sign up to get free protection for your applications and to get access to all the features.
- package/{CHANGELOG.md → CHANGELOG-fz.md} +0 -0
- package/Changelog.md +1019 -0
- package/README.md +82 -11
- package/docs/DevServerPort.md +39 -0
- package/docs/VariableConversion.md +22 -8
- package/lib/common/splitChunks.js +1 -34
- package/lib/configs/resolvers.js +40 -0
- package/lib/configs/webpack.dev.config.js +4 -11
- package/lib/configs/webpack.docs.config.js +4 -11
- package/lib/configs/webpack.impact.config.js +5 -7
- package/lib/configs/webpack.prod.config.js +9 -13
- package/lib/constants.js +31 -0
- package/lib/loaderUtils/configsAssetsLoaders.js +1 -1
- package/lib/plugins/VariableConversionCollector.js +154 -54
- package/lib/postcss-plugins/variableModificationPlugin/ErrorHandler.js +4 -2
- package/lib/postcss-plugins/variableModificationPlugin/index.js +2 -1
- package/lib/schemas/index.js +8 -0
- package/lib/servers/docsServerCore.js +13 -12
- package/lib/servers/httpsOptions.js +40 -9
- package/lib/servers/nowatchserver.js +12 -11
- package/lib/servers/server.js +23 -20
- package/lib/utils/cssURLReplacer.js +30 -43
- package/lib/utils/getFileType.js +49 -0
- package/lib/utils/getOptions.js +13 -13
- package/package.json +9 -33
- package/postpublish.js +6 -4
- package/result.json +1 -0
- package/unittest/index.html +37 -0
- package/cert/Tsicsezwild-22-23.crt +0 -37
- package/cert/Tsicsezwild-22-23.key +0 -27
package/lib/servers/server.js
CHANGED
@@ -25,14 +25,15 @@ var _httpsOptions = require("./httpsOptions");
|
|
25
25
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
26
26
|
|
27
27
|
// import fs from 'fs';
|
28
|
-
|
29
|
-
|
28
|
+
const options = (0, _utils.getOptions)();
|
29
|
+
const httpsOptions = (0, _httpsOptions.httpsOptionsWithUserFriendlyError)(options);
|
30
|
+
const {
|
30
31
|
app: {
|
31
32
|
context,
|
32
33
|
server
|
33
34
|
}
|
34
35
|
} = options;
|
35
|
-
|
36
|
+
const {
|
36
37
|
host,
|
37
38
|
port,
|
38
39
|
domain,
|
@@ -41,9 +42,9 @@ let {
|
|
41
42
|
hasMock,
|
42
43
|
mockPort
|
43
44
|
} = server;
|
44
|
-
|
45
|
-
|
46
|
-
|
45
|
+
const isCompatableHttp2 = Number(process.version.substr(1).split('.')[0]) >= 8;
|
46
|
+
const contextURL = disableContextURL ? '' : `/${context}`;
|
47
|
+
const serverUrl = (0, _utils.getServerURL)(server, 'htt' + 'ps');
|
47
48
|
const {
|
48
49
|
writeToDisk
|
49
50
|
} = options.impactService;
|
@@ -72,8 +73,8 @@ if (mode === 'prod') {
|
|
72
73
|
} // console.log({ contextURL });
|
73
74
|
|
74
75
|
|
75
|
-
|
76
|
-
|
76
|
+
const compiler = (0, _webpack.default)(config);
|
77
|
+
const webpackServerOptions = {
|
77
78
|
logLevel: 'error',
|
78
79
|
publicPath: mode === 'prod' ? contextURL === '' ? `${serverUrl}/${contextURL}` : serverUrl + contextURL : config.output.publicPath,
|
79
80
|
headers: options.app.enableDevCache ? {
|
@@ -114,7 +115,7 @@ app.use('/wms/*', (req, res) => {
|
|
114
115
|
res.sendFile(_path.default.join(__dirname, '..', '..', 'templates', 'wms', 'index.html'));
|
115
116
|
});
|
116
117
|
|
117
|
-
const httpsServer = _https.default.createServer(
|
118
|
+
const httpsServer = _https.default.createServer(httpsOptions, app);
|
118
119
|
|
119
120
|
const wss = new _ws.default.Server({
|
120
121
|
server: httpsServer
|
@@ -132,7 +133,7 @@ wss.on('connection', ws => {
|
|
132
133
|
});
|
133
134
|
app.post('/wmsmockapi', (req, res) => {
|
134
135
|
wsPool.forEach(ws => {
|
135
|
-
|
136
|
+
const {
|
136
137
|
body
|
137
138
|
} = req;
|
138
139
|
|
@@ -167,18 +168,20 @@ if (contextURL) {
|
|
167
168
|
app.use('/*', _express.default.static(context));
|
168
169
|
}
|
169
170
|
|
170
|
-
|
171
|
-
|
172
|
-
|
173
|
-
|
171
|
+
if (httpsOptions) {
|
172
|
+
httpsServer.listen(port, err => {
|
173
|
+
if (err) {
|
174
|
+
throw err;
|
175
|
+
}
|
174
176
|
|
175
|
-
|
176
|
-
});
|
177
|
+
(0, _utils.log)(`Listening at ${serverUrl}${contextURL}/`);
|
178
|
+
});
|
179
|
+
}
|
177
180
|
|
178
|
-
if (isCompatableHttp2) {
|
181
|
+
if (isCompatableHttp2 && httpsOptions) {
|
179
182
|
const http2 = require('http2');
|
180
183
|
|
181
|
-
const http2Server = http2.createSecureServer(
|
184
|
+
const http2Server = http2.createSecureServer(httpsOptions); // eslint-disable-next-line no-unused-vars
|
182
185
|
|
183
186
|
http2Server.on('stream', (stream, headers) => {
|
184
187
|
stream.respond({
|
@@ -187,7 +190,7 @@ if (isCompatableHttp2) {
|
|
187
190
|
});
|
188
191
|
stream.end('<h1>Hello World! <br>Working with http2</h1>');
|
189
192
|
});
|
190
|
-
|
193
|
+
const http2Port = Number(port) + 1;
|
191
194
|
http2Server.listen(http2Port, err => {
|
192
195
|
if (err) {
|
193
196
|
throw err;
|
@@ -203,7 +206,7 @@ if (isCompatableHttp2) {
|
|
203
206
|
(0, _utils.log)('Your node version didn\'t adopted http2 support. Kindly update that to 8 LTS or above you can engage the http2');
|
204
207
|
}
|
205
208
|
|
206
|
-
|
209
|
+
const httpPort = Number(port) + (isCompatableHttp2 ? 2 : 1);
|
207
210
|
app.listen(httpPort, err => {
|
208
211
|
if (err) {
|
209
212
|
throw err;
|
@@ -3,19 +3,26 @@
|
|
3
3
|
Object.defineProperty(exports, "__esModule", {
|
4
4
|
value: true
|
5
5
|
});
|
6
|
-
exports.
|
6
|
+
exports.cssUrlReplacer = void 0;
|
7
|
+
Object.defineProperty(exports, "getFileType", {
|
8
|
+
enumerable: true,
|
9
|
+
get: function () {
|
10
|
+
return _getFileType.getFileType;
|
11
|
+
}
|
12
|
+
});
|
13
|
+
exports.getUrls = void 0;
|
7
14
|
|
8
15
|
var _fs = _interopRequireDefault(require("fs"));
|
9
16
|
|
10
|
-
var _path = _interopRequireDefault(require("path"));
|
11
|
-
|
12
17
|
var _crypto = _interopRequireDefault(require("crypto"));
|
13
18
|
|
19
|
+
var _getFileType = require("./getFileType");
|
20
|
+
|
14
21
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
15
22
|
|
16
|
-
|
23
|
+
const urlRegex = /url\(.*?\)/g;
|
17
24
|
|
18
|
-
|
25
|
+
const getHash = (file, isPath = false, needSubStr = true) => {
|
19
26
|
let hash = _crypto.default.createHash('md5');
|
20
27
|
|
21
28
|
if (isPath) {
|
@@ -28,45 +35,25 @@ let getHash = (file, isPath = false, needSubStr = true) => {
|
|
28
35
|
return hash ? needSubStr ? hash.substring(0, 20) : hash : null;
|
29
36
|
};
|
30
37
|
|
31
|
-
|
32
|
-
let {
|
33
|
-
ext
|
34
|
-
} = _path.default.parse(file);
|
35
|
-
|
36
|
-
if (ext === '.gif' || ext === '.png' || ext === '.jpg' || ext === '.jpeg' || ext === '.ico') {
|
37
|
-
return 'image';
|
38
|
-
} else if (ext === '.svg' || ext === '.woff' || ext === '.eot' || ext === '.ttf' || ext === '.woff2') {
|
39
|
-
return 'font';
|
40
|
-
} else if (ext === '.js') {
|
41
|
-
return 'js';
|
42
|
-
} else if (ext === '.css') {
|
43
|
-
return 'css';
|
44
|
-
}
|
45
|
-
|
46
|
-
return null;
|
47
|
-
};
|
48
|
-
|
49
|
-
exports.getFileType = getFileType;
|
50
|
-
|
51
|
-
let formatUrl = str => {
|
38
|
+
const formatUrl = str => {
|
52
39
|
let char = str.includes('"') ? '"' : str.includes('\'') ? '\'' : '(';
|
53
|
-
|
54
|
-
|
40
|
+
const statingIdx = str.indexOf(char) + 1;
|
41
|
+
const substr = str.substring(statingIdx, str.length);
|
55
42
|
char = char === '(' ? ')' : char;
|
56
43
|
return substr.substring(0, substr.indexOf(char));
|
57
44
|
};
|
58
45
|
|
59
|
-
|
60
|
-
|
46
|
+
const getUrls = css => {
|
47
|
+
const urlMatches = css.match(urlRegex);
|
61
48
|
let src = css;
|
62
49
|
|
63
50
|
if (urlMatches) {
|
64
|
-
|
51
|
+
const patterns = {};
|
65
52
|
urlMatches.forEach(pattern => {
|
66
|
-
|
67
|
-
|
53
|
+
const url = formatUrl(pattern);
|
54
|
+
const hash = getHash(url);
|
68
55
|
patterns[url] = hash;
|
69
|
-
|
56
|
+
const regex = new RegExp(pattern.replace(/([<>*()?${}|])/g, '\\$1'), 'g');
|
70
57
|
src = src.replace(regex, hash);
|
71
58
|
});
|
72
59
|
return {
|
@@ -78,12 +65,12 @@ let getUrls = css => {
|
|
78
65
|
|
79
66
|
exports.getUrls = getUrls;
|
80
67
|
|
81
|
-
|
82
|
-
|
68
|
+
const cssUrlReplacer = (css, domains, chunkHash = {}) => {
|
69
|
+
const obj = getUrls(css);
|
83
70
|
let src = css;
|
84
71
|
|
85
72
|
if (obj) {
|
86
|
-
|
73
|
+
const patterns = obj.urls;
|
87
74
|
src = obj.css;
|
88
75
|
Object.keys(patterns).forEach(pattern => {
|
89
76
|
let urlParts = pattern.split('/');
|
@@ -97,20 +84,20 @@ let cssUrlReplacer = (css, domains, chunkHash = {}) => {
|
|
97
84
|
fileName = fileName.replace(/\?.*$/g, '');
|
98
85
|
}
|
99
86
|
|
100
|
-
|
101
|
-
|
102
|
-
|
87
|
+
const hash = patterns[pattern];
|
88
|
+
const filename = fileName.replace(/(\?|#).*?$/g, '');
|
89
|
+
const regex = new RegExp(hash, 'g');
|
103
90
|
let {
|
104
91
|
hashedName
|
105
92
|
} = chunkHash[filename] || fileName;
|
106
93
|
|
107
94
|
if (domains && typeof urlParts[0] === 'string' && !urlParts[0].includes('http')) {
|
108
|
-
|
95
|
+
const {
|
109
96
|
font,
|
110
97
|
image
|
111
98
|
} = domains;
|
112
|
-
|
113
|
-
|
99
|
+
const type = (0, _getFileType.getFileType)(filename);
|
100
|
+
const customPath = type === 'image' ? `${image}/images` : type === 'font' ? `${font}/fonts` : urlParts.join('/');
|
114
101
|
urlParts = customPath.split('/');
|
115
102
|
}
|
116
103
|
|
@@ -0,0 +1,49 @@
|
|
1
|
+
"use strict";
|
2
|
+
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
4
|
+
value: true
|
5
|
+
});
|
6
|
+
exports.getFileType = getFileType;
|
7
|
+
|
8
|
+
var _path = _interopRequireDefault(require("path"));
|
9
|
+
|
10
|
+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
11
|
+
|
12
|
+
/* eslint-disable no-use-before-define */
|
13
|
+
function getFileType(file) {
|
14
|
+
const {
|
15
|
+
ext
|
16
|
+
} = _path.default.parse(file);
|
17
|
+
|
18
|
+
if (isImageFileExt(ext)) {
|
19
|
+
return 'image';
|
20
|
+
} else if (isFontFileExt(ext)) {
|
21
|
+
return 'font';
|
22
|
+
} else if (isVideoFileExt(ext)) {
|
23
|
+
return 'video';
|
24
|
+
} else if (isAudioFileExt(ext)) {
|
25
|
+
return 'audio';
|
26
|
+
} else if (ext === '.js') {
|
27
|
+
return 'js';
|
28
|
+
} else if (ext === '.css') {
|
29
|
+
return 'css';
|
30
|
+
}
|
31
|
+
|
32
|
+
return null;
|
33
|
+
}
|
34
|
+
|
35
|
+
function isImageFileExt(ext) {
|
36
|
+
return ext === '.gif' || ext === '.png' || ext === '.jpg' || ext === '.jpeg' || ext === '.ico';
|
37
|
+
}
|
38
|
+
|
39
|
+
function isFontFileExt(ext) {
|
40
|
+
return ext === '.svg' || ext === '.woff' || ext === '.eot' || ext === '.ttf' || ext === '.woff2';
|
41
|
+
}
|
42
|
+
|
43
|
+
function isVideoFileExt(ext) {
|
44
|
+
return ext === '.mp4';
|
45
|
+
}
|
46
|
+
|
47
|
+
function isAudioFileExt(ext) {
|
48
|
+
return ext === '.ogg';
|
49
|
+
}
|
package/lib/utils/getOptions.js
CHANGED
@@ -26,14 +26,14 @@ const NPM_CONFIG_PREFIX = 'npm_config_'; // TODO: we have to do option parse log
|
|
26
26
|
// // clone:type
|
27
27
|
|
28
28
|
const processEnv = {};
|
29
|
-
|
29
|
+
const keysWithColon = [];
|
30
30
|
Object.keys(process.env).filter(key => key.startsWith(NPM_CONFIG_PREFIX)).forEach(key => {
|
31
|
-
|
31
|
+
const nkey = key.slice(NPM_CONFIG_PREFIX.length);
|
32
32
|
processEnv[nkey] = process.env[key];
|
33
33
|
nkey.includes(':') && keysWithColon.push(nkey);
|
34
34
|
});
|
35
35
|
keysWithColon.forEach(key => {
|
36
|
-
|
36
|
+
const nkey = key.replace(/:/g, '_');
|
37
37
|
|
38
38
|
if (processEnv[nkey]) {
|
39
39
|
throw Error('there is some options conflict', key, nkey);
|
@@ -60,8 +60,8 @@ function getCWD() {
|
|
60
60
|
let cwd = process.cwd();
|
61
61
|
|
62
62
|
try {
|
63
|
-
|
64
|
-
|
63
|
+
const ress = (0, _child_process.execSync)('npm bin').toString();
|
64
|
+
const i = ress.lastIndexOf('node_modules');
|
65
65
|
cwd = i === -1 ? cwd : ress.slice(0, i);
|
66
66
|
} catch (error) {
|
67
67
|
console.log(error);
|
@@ -73,7 +73,7 @@ function getCWD() {
|
|
73
73
|
|
74
74
|
args.forEach(option => {
|
75
75
|
if (/^--./.test(option)) {
|
76
|
-
|
76
|
+
const equIndex = option.indexOf('='); // equIndex = equIndex === -1 ? option.length : equIndex;
|
77
77
|
|
78
78
|
let key = option.slice(2, equIndex);
|
79
79
|
let value = option.slice(equIndex + 1);
|
@@ -88,10 +88,10 @@ args.forEach(option => {
|
|
88
88
|
}
|
89
89
|
});
|
90
90
|
|
91
|
-
|
92
|
-
|
91
|
+
const defaulter = (target, source) => {
|
92
|
+
const defaultObject = {};
|
93
93
|
Object.keys(target).forEach(key => {
|
94
|
-
|
94
|
+
const data = target[key];
|
95
95
|
|
96
96
|
if (data && typeof data === 'object') {
|
97
97
|
if (Array.isArray(data)) {
|
@@ -151,21 +151,21 @@ function deprecationSupport(options) {
|
|
151
151
|
}
|
152
152
|
}
|
153
153
|
|
154
|
-
|
154
|
+
const getOptions = () => {
|
155
155
|
if (global.reactCLIOptions) {
|
156
156
|
return global.reactCLIOptions;
|
157
157
|
}
|
158
158
|
|
159
|
-
|
159
|
+
const appPath = process.cwd();
|
160
160
|
let userSchemas;
|
161
161
|
|
162
|
-
|
162
|
+
const packagePath = _path.default.join(appPath, 'package.json');
|
163
163
|
|
164
164
|
if (_fs.default.existsSync(packagePath)) {
|
165
165
|
userSchemas = require(packagePath)['react-cli'] || {};
|
166
166
|
}
|
167
167
|
|
168
|
-
|
168
|
+
const options = defaulter(_schemas.default, userSchemas || {}); // for future may be for npm 8 edge cases
|
169
169
|
|
170
170
|
options.npmVersion = getNpmVersion();
|
171
171
|
options.cwd = getCWD();
|
package/package.json
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
{
|
2
2
|
"name": "@zohodesk/react-cli",
|
3
|
-
"version": "0.0.1-exp.
|
3
|
+
"version": "0.0.1-exp.178.1",
|
4
4
|
"description": "A CLI tool for build modern web application and libraries",
|
5
5
|
"scripts": {
|
6
6
|
"init": "node ./lib/utils/init.js",
|
@@ -9,6 +9,7 @@
|
|
9
9
|
"start": "babel src -d lib -w --copy-files",
|
10
10
|
"build": "babel src -d lib --copy-files",
|
11
11
|
"prepare": "npm run clean && npm run build",
|
12
|
+
"prepublishOnly": "npm prune now",
|
12
13
|
"lint": "eslint src ./bin/cli.js",
|
13
14
|
"postpublish": "node postpublish.js",
|
14
15
|
"expublish": "npm publish --tag experimental-version"
|
@@ -27,6 +28,9 @@
|
|
27
28
|
"url": "https://git.csez.zohocorpin.com/zohodesk/react-cli/issues"
|
28
29
|
},
|
29
30
|
"homepage": "https://git.csez.zohocorpin.com/zohodesk/react-cli/blob/2.0.0/README.md",
|
31
|
+
"bin": {
|
32
|
+
"react-cli": "bin/cli.js"
|
33
|
+
},
|
30
34
|
"dependencies": {
|
31
35
|
"@babel/cli": "7.10.5",
|
32
36
|
"@babel/core": "7.11.1",
|
@@ -36,10 +40,10 @@
|
|
36
40
|
"@babel/preset-env": "7.11.0",
|
37
41
|
"@babel/preset-react": "7.10.4",
|
38
42
|
"@babel/runtime": "7.11.2",
|
39
|
-
"@zohodesk/
|
43
|
+
"@zohodesk-private/client_dev_cert": "^1.0.0",
|
44
|
+
"@zohodesk/client_packages_group": "1.0.1",
|
40
45
|
"@zohodesk/eslint-plugin-react-performance": "1.0.3",
|
41
46
|
"@zohodesk/eslint-plugin-zsecurity": "0.0.1-beta.4",
|
42
|
-
"@zohodesk/normalizer": "1.0.2",
|
43
47
|
"@zohodesk/postcss-rtl": "1.5.2",
|
44
48
|
"@zohodesk/propertytojson": "1.0.1",
|
45
49
|
"@zohodesk/screenshot-test": "0.0.1-beta.20",
|
@@ -54,9 +58,7 @@
|
|
54
58
|
"case-sensitive-paths-webpack-plugin": "2.3.0",
|
55
59
|
"compression": "1.7.4",
|
56
60
|
"copy-webpack-plugin": "5.1.2",
|
57
|
-
"core-js": "3.6.5",
|
58
61
|
"css-loader": "4.2.1",
|
59
|
-
"debug": "4.3.3",
|
60
62
|
"escodegen": "2.0.0",
|
61
63
|
"eslint": "7.6.0",
|
62
64
|
"eslint-html-reporter": "0.7.4",
|
@@ -67,13 +69,8 @@
|
|
67
69
|
"expect": "26.4.0",
|
68
70
|
"express": "4.17.1",
|
69
71
|
"file-loader": "6.0.0",
|
70
|
-
"fz-i18n": "1.2.0-beta.15",
|
71
|
-
"fz-layout": "1.0.0-beta.8",
|
72
|
-
"fz-permission": "0.0.2",
|
73
72
|
"git-root-dir": "1.0.2",
|
74
73
|
"gitlab": "14.2.2",
|
75
|
-
"history": "4.9.0",
|
76
|
-
"hoist-non-react-statics": "3.3.2",
|
77
74
|
"html-loader": "1.1.0",
|
78
75
|
"html-webpack-inject-attributes-plugin": "1.0.6",
|
79
76
|
"html-webpack-plugin": "4.3.0",
|
@@ -83,9 +80,7 @@
|
|
83
80
|
"loader-utils": "2.0.0",
|
84
81
|
"lodash-webpack-plugin": "0.11.5",
|
85
82
|
"mini-css-extract-plugin": "0.10.0",
|
86
|
-
"
|
87
|
-
"moment-timezone": "0.5.32",
|
88
|
-
"nock": "13.0.4",
|
83
|
+
"nock": "13.2.9",
|
89
84
|
"nodemailer": "6.4.11",
|
90
85
|
"nodemon": "2.0.4",
|
91
86
|
"optimize-js": "1.0.3",
|
@@ -95,29 +90,13 @@
|
|
95
90
|
"postcss-loader": "3.0.0",
|
96
91
|
"postcss-mobile-hover": "1.0.2",
|
97
92
|
"postcss-selector-replace": "1.0.2",
|
98
|
-
"prop-types": "15.7.2",
|
99
|
-
"react": "18.2.0",
|
100
|
-
"react-dom": "18.2.0",
|
101
|
-
"react-error-overlay": "6.0.7",
|
102
|
-
"react-redux": "7.2.1",
|
103
|
-
"react-router": "5.2.0",
|
104
|
-
"react-router-redux": "4.0.8",
|
105
93
|
"react-test-renderer": "16.13.1",
|
106
|
-
"react-transition-group": "2.7.1",
|
107
94
|
"redis": "3.0.2",
|
108
|
-
"redux": "4.0.5",
|
109
|
-
"redux-logger": "3.0.6",
|
110
95
|
"redux-mock-store": "1.5.4",
|
111
|
-
"redux-router-middleware": "1.0.0-beta.22",
|
112
|
-
"redux-thunk": "2.3.0",
|
113
|
-
"reselect": "4.0.0",
|
114
96
|
"rimraf": "3.0.2",
|
115
97
|
"script-loader": "0.7.2",
|
116
|
-
"selectn": "1.1.2",
|
117
|
-
"simple-normalizr": "1.2.5",
|
118
98
|
"uglifycss": "0.0.29",
|
119
99
|
"url-loader": "4.1.0",
|
120
|
-
"velocity-react": "1.4.3",
|
121
100
|
"webpack": "4.44.1",
|
122
101
|
"webpack-bundle-analyzer": "4.5.0",
|
123
102
|
"webpack-cli": "3.3.12",
|
@@ -127,9 +106,6 @@
|
|
127
106
|
"xhr2": "0.2.0",
|
128
107
|
"xmlhttprequest": "1.8.0"
|
129
108
|
},
|
130
|
-
"bin": {
|
131
|
-
"react-cli": "bin/cli.js"
|
132
|
-
},
|
133
109
|
"babel": {
|
134
110
|
"presets": [
|
135
111
|
[
|
@@ -143,4 +119,4 @@
|
|
143
119
|
"@babel/react"
|
144
120
|
]
|
145
121
|
}
|
146
|
-
}
|
122
|
+
}
|
package/postpublish.js
CHANGED
@@ -1,6 +1,8 @@
|
|
1
1
|
const { execSync } = require('child_process');
|
2
|
-
const { version } = require('./package.json');
|
3
|
-
|
2
|
+
const { version, name } = require('./package.json');
|
3
|
+
const tagName = `${name}@${version}`;
|
4
|
+
// const tagName = `${name.replace(/^@/g, "").replace(/\//g, "-")}-v-${version}}@${version}`;
|
5
|
+
console.log(`going to add git tag... ${tagName}`);
|
4
6
|
|
5
|
-
execSync(`git tag -a
|
6
|
-
execSync(`git push origin
|
7
|
+
execSync(`git tag -a ${tagName}`, { stdio: 'inherit' });
|
8
|
+
execSync(`git push origin ${tagName}`, { stdio: 'inherit' });
|
package/result.json
ADDED
@@ -0,0 +1 @@
|
|
1
|
+
{"jobDetails":{"isRunByLocal":true,"hostName":"ZT375-test-mac","platForm":"Darwin","branchName":"ssl_cert_remove"},"tests":{"unitCase":{"isExecuted":"Yes","numberOfSuccess":6,"numberOfFails":0,"numberOfCases":6,"numberOfSuites":1,"endTime":1674574410348,"startTime":1674574406969,"coverageDetail":{"codeCoveragePercentage":89.58,"fileCoveragePercentage":0},"fileDetails":[{"fileName":"/Users/zohodesk-test/work/react-cli/src/common/__test__/getEntries.spec.js","CaseList":{"passedCaseList":["is appSchemas.app.entryFile works properly"],"failedCaseList":[]}},{"fileName":"/Users/zohodesk-test/work/react-cli/src/common/__test__/getEntries.spec.js","CaseList":{"passedCaseList":["is appSchemas.app.entryFile works properly"],"failedCaseList":[]}},{"fileName":"/Users/zohodesk-test/work/react-cli/src/common/__test__/getEntries.spec.js","CaseList":{"passedCaseList":["is appSchemas.app.entryFile works properly"],"failedCaseList":[]}},{"fileName":"/Users/zohodesk-test/work/react-cli/src/common/__test__/getEntries.spec.js","CaseList":{"passedCaseList":["is appSchemas.app.entryFile works properly"],"failedCaseList":[]}},{"fileName":"/Users/zohodesk-test/work/react-cli/src/common/__test__/getEntries.spec.js","CaseList":{"passedCaseList":["is appSchemas.app.entryFile works properly"],"failedCaseList":[]}},{"fileName":"/Users/zohodesk-test/work/react-cli/src/common/__test__/getEntries.spec.js","CaseList":{"passedCaseList":["is appSchemas.app.entryFile works properly"],"failedCaseList":[]}},{"fileName":"/Users/zohodesk-test/work/react-cli/src/common/__test__/getEntries.spec.js","CaseList":{"passedCaseList":["is appSchemas.app.entryFile works properly"],"failedCaseList":[]}},{"fileName":"/Users/zohodesk-test/work/react-cli/src/common/__test__/getEntries.spec.js","CaseList":{"passedCaseList":[],"failedCaseList":["is appSchemas.app.entryFile works properly"]}},{"fileName":"/Users/zohodesk-test/work/react-cli/src/common/__test__/getEntries.spec.js","CaseList":{"passedCaseList":[],"failedCaseList":["is appSchemas.app.entryFile works properly in dev mode","is appSchemas.app.entryFile works properly in prod mode"]}},{"fileName":"/Users/zohodesk-test/work/react-cli/src/common/__test__/getEntries.spec.js","CaseList":{"passedCaseList":[],"failedCaseList":["is appSchemas.app.entryFile works properly in dev mode","is appSchemas.app.entryFile works properly in prod mode"]}},{"fileName":"/Users/zohodesk-test/work/react-cli/src/common/__test__/getEntries.spec.js","CaseList":{"passedCaseList":[],"failedCaseList":["is appSchemas.app.entryFile works properly in dev mode","is appSchemas.app.entryFile works properly in prod mode"]}},{"fileName":"/Users/zohodesk-test/work/react-cli/src/common/__test__/getEntries.spec.js","CaseList":{"passedCaseList":["is appSchemas.app.entryFile works properly in dev mode","is appSchemas.app.entryFile works properly in prod mode"],"failedCaseList":[]}},{"fileName":"/Users/zohodesk-test/work/react-cli/src/common/__test__/getEntries.spec.js","CaseList":{"passedCaseList":["is appSchemas.app.entryFile works properly in dev mode","is appSchemas.app.entryFile works properly in prod mode"],"failedCaseList":["is appSchemas.app.entryFile works properly in dev mode and isReactMig true","is appSchemas.app.entryFile works properly in prod mode and isReactMig true"]}},{"fileName":"/Users/zohodesk-test/work/react-cli/src/common/__test__/getEntries.spec.js","CaseList":{"passedCaseList":["is appSchemas.app.entryFile works properly in dev mode","is appSchemas.app.entryFile works properly in prod mode","is appSchemas.app.entryFile works properly in dev mode and isReactMig true","is appSchemas.app.entryFile works properly in prod mode and isReactMig true"],"failedCaseList":[]}},{"fileName":"/Users/zohodesk-test/work/react-cli/src/common/__test__/getEntries.spec.js","CaseList":{"passedCaseList":["is appSchemas.app.entryFile works properly with default options in dev mode","is appSchemas.app.entryFile works properly with default options in prod mode","is appSchemas.app.entryFile works properly in dev mode","is appSchemas.app.entryFile works properly in prod mode","is appSchemas.app.entryFile works properly in dev mode and isReactMig true","is appSchemas.app.entryFile works properly in prod mode and isReactMig true"],"failedCaseList":[]}}]}}}
|
@@ -0,0 +1,37 @@
|
|
1
|
+
<html>
|
2
|
+
<head>
|
3
|
+
<style>
|
4
|
+
.red{
|
5
|
+
font-weight:bold;
|
6
|
+
color:red;
|
7
|
+
}
|
8
|
+
.green{
|
9
|
+
font-weight:bold;
|
10
|
+
color:green;
|
11
|
+
}
|
12
|
+
table
|
13
|
+
{
|
14
|
+
font-family: arial, sans-serif;
|
15
|
+
border-collapse: collapse;
|
16
|
+
}
|
17
|
+
|
18
|
+
td, th
|
19
|
+
{
|
20
|
+
border: 1px solid #dddddd;
|
21
|
+
padding: 8px;
|
22
|
+
}
|
23
|
+
</style>
|
24
|
+
</head>
|
25
|
+
<body>
|
26
|
+
<table>
|
27
|
+
<tr>
|
28
|
+
<th>Title</th>
|
29
|
+
<th>FullName</th>
|
30
|
+
<th>Test Case Path</th>
|
31
|
+
</tr>
|
32
|
+
|
33
|
+
</table>
|
34
|
+
<br/>COVERAGE <span class="green">89.58%</span> <br/> less than 60% consider failure
|
35
|
+
</body>
|
36
|
+
</html>
|
37
|
+
|
@@ -1,37 +0,0 @@
|
|
1
|
-
-----BEGIN CERTIFICATE-----
|
2
|
-
MIIGXjCCBUagAwIBAgIRAMKJgToWlDYncIf54wIl/K4wDQYJKoZIhvcNAQELBQAw
|
3
|
-
gY8xCzAJBgNVBAYTAkdCMRswGQYDVQQIExJHcmVhdGVyIE1hbmNoZXN0ZXIxEDAO
|
4
|
-
BgNVBAcTB1NhbGZvcmQxGDAWBgNVBAoTD1NlY3RpZ28gTGltaXRlZDE3MDUGA1UE
|
5
|
-
AxMuU2VjdGlnbyBSU0EgRG9tYWluIFZhbGlkYXRpb24gU2VjdXJlIFNlcnZlciBD
|
6
|
-
QTAeFw0yMjA0MjAwMDAwMDBaFw0yMzA0MjAyMzU5NTlaMB4xHDAaBgNVBAMTE2Nz
|
7
|
-
ZXouem9ob2NvcnBpbi5jb20wggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIB
|
8
|
-
AQDaiXIoQmlYF7guFyGcjqmwJ4ksETK7R0QVoald3h0f8nkbqn29fg3MwvmMmnCV
|
9
|
-
27frm0wYaWK7/xIWb0IIxYqGG2OmOFC4lv/jrGa96EH3fHm0DVU+4gFOf+qdvjdt
|
10
|
-
vBdCxWw++dG8KJsbeFcJoF+az/Ei9vhjzgrKtHH62b9aw5i5lpVFbq9bZ0xr3xOx
|
11
|
-
brOpZDk/Af2svICTi15/G+YGM7X5DL7z2tjtX8KZ5cbLIjkQS7chtjmx61Tuwq+f
|
12
|
-
4zk0ge8w9hNkvcYrsueuT/FDyO8wbPphNPJBdGrjLnMT05vedAryYfl7LHe8ib3m
|
13
|
-
T6QQ0afxvkIyOkpjIEiN1E/jAgMBAAGjggMjMIIDHzAfBgNVHSMEGDAWgBSNjF7E
|
14
|
-
VK2K4Xfpm/mbBeG4AY1h4TAdBgNVHQ4EFgQUmkpYbSWtXdFPZfJSz+yW7EA0mjYw
|
15
|
-
DgYDVR0PAQH/BAQDAgWgMAwGA1UdEwEB/wQCMAAwHQYDVR0lBBYwFAYIKwYBBQUH
|
16
|
-
AwEGCCsGAQUFBwMCMEkGA1UdIARCMEAwNAYLKwYBBAGyMQECAgcwJTAjBggrBgEF
|
17
|
-
BQcCARYXaHR0cHM6Ly9zZWN0aWdvLmNvbS9DUFMwCAYGZ4EMAQIBMIGEBggrBgEF
|
18
|
-
BQcBAQR4MHYwTwYIKwYBBQUHMAKGQ2h0dHA6Ly9jcnQuc2VjdGlnby5jb20vU2Vj
|
19
|
-
dGlnb1JTQURvbWFpblZhbGlkYXRpb25TZWN1cmVTZXJ2ZXJDQS5jcnQwIwYIKwYB
|
20
|
-
BQUHMAGGF2h0dHA6Ly9vY3NwLnNlY3RpZ28uY29tMIIBfwYKKwYBBAHWeQIEAgSC
|
21
|
-
AW8EggFrAWkAdwCt9776fP8QyIudPZwePhhqtGcpXc+xDCTKhYY069yCigAAAYBH
|
22
|
-
FYz3AAAEAwBIMEYCIQD0YmMCd5ZPhVwCYdHJFXaB3TeEVtY3GGBmJreCYpxpWwIh
|
23
|
-
AKPLd+IUbrKGjN436yXigPnSHYMhYHjcOIwkJilCKW4kAHYAejKMVNi3LbYg6jjg
|
24
|
-
Uh7phBZwMhOFTTvSK8E6V6NS61IAAAGARxWMsAAABAMARzBFAiEA2QOIvUWLlk5d
|
25
|
-
dCQ+b3rJrhJhhgYu4KReme7QYuopJL8CIEuwHH4Ro9RfFajzZcYfL0tQO1zacBM+
|
26
|
-
yRVvLTF3MbwDAHYA6D7Q2j71BjUy51covIlryQPTy9ERa+zraeF3fW0GvW4AAAGA
|
27
|
-
RxWMjwAABAMARzBFAiAU9r8DFaPKtVJ/uCelx8aYgmawpzthhaOATzfS2jWpNwIh
|
28
|
-
AJsUAAMJb17Vwk4HucoLRN3ve2qm8TzRiGepKIh/r0rdMEsGA1UdEQREMEKCE2Nz
|
29
|
-
ZXouem9ob2NvcnBpbi5jb22CFSouY3Nlei56b2hvY29ycGluLmNvbYIUKi50c2ku
|
30
|
-
em9ob2NvcnBpbi5jb20wDQYJKoZIhvcNAQELBQADggEBADbqEtyp7J47CbCHIZ+A
|
31
|
-
nedURDLTV0G2cR/yHxbbSUfQsJUt8t736JVw4JnRN2Exch32v9LHvEr40O7TL4er
|
32
|
-
OQuEIe7wTkcJ7wZ6bkxgI/ip8y0w2Ips4eVxSmnYYk0AjiyKmn+ujdNZ0yz7qfUE
|
33
|
-
ysgRbsyL4ODlUBdTHjS6vFVtTmDWGE9St/gkQEHPoyGNe7v6+39GJEHW2XKYfuhK
|
34
|
-
//nHcQxvyr2O5dJGlP1q1WIJRJyCp3Srbgso55H/ylmwfJ7ePYgM4GWbWEfSDLHW
|
35
|
-
KOZL2IZgz+oRJikKU4CAvjKvpULK2rSnIs2W11z4KtLqyzTrVmkuJ6MP2rMBQrHu
|
36
|
-
jTs=
|
37
|
-
-----END CERTIFICATE-----
|
@@ -1,27 +0,0 @@
|
|
1
|
-
-----BEGIN RSA PRIVATE KEY-----
|
2
|
-
MIIEowIBAAKCAQEA2olyKEJpWBe4LhchnI6psCeJLBEyu0dEFaGpXd4dH/J5G6p9
|
3
|
-
vX4NzML5jJpwldu365tMGGliu/8SFm9CCMWKhhtjpjhQuJb/46xmvehB93x5tA1V
|
4
|
-
PuIBTn/qnb43bbwXQsVsPvnRvCibG3hXCaBfms/xIvb4Y84KyrRx+tm/WsOYuZaV
|
5
|
-
RW6vW2dMa98TsW6zqWQ5PwH9rLyAk4tefxvmBjO1+Qy+89rY7V/CmeXGyyI5EEu3
|
6
|
-
IbY5setU7sKvn+M5NIHvMPYTZL3GK7Lnrk/xQ8jvMGz6YTTyQXRq4y5zE9Ob3nQK
|
7
|
-
8mH5eyx3vIm95k+kENGn8b5CMjpKYyBIjdRP4wIDAQABAoIBACfOaGpX6nte2rAe
|
8
|
-
i4NKYzNQiEZsHYsKaKbuCv0ro695icDV1dCJ4PaevzjyurY5Tu+OGpbJv2/R/tfy
|
9
|
-
TRtu7BQQch7JXD67VoIAmbhW0YlEdaCr2w64uRc06qXwC4WkALKrZlO0SpVU6iff
|
10
|
-
TC9XNILtBJXjWYxIcCPLKYXRWu8romGJGNvZlabHkMMk1eF/rZvdmlgVj1LCE//A
|
11
|
-
gjYPsiWCDi0ZWOCXNmKq4yNQnAPjHb4nhN/BumXKn9D/wl282FFx6E9Yetg/bvj6
|
12
|
-
f2JN8AST1WwMcPxdnDKC+ZUD0mQqG+w3g47dkaTxc1G5Yot9t0rYujIjbtaFLiWN
|
13
|
-
MEGDtsUCgYEA+TIOItGeaRRPdAfXDKjEw2/UfnNr1S9DyAFP7j3UajR7bDv/wWSG
|
14
|
-
ct0tJnpK/LvnYsvTF1QQ3PV1hNNtu97XdDV6rwuDeVXOfDBH0ctbnqevTw4ShRuG
|
15
|
-
+0qwfychuIy4jG0ZHGFn5adhBhspxGjgYqxJo9fdQBjU0ciH91B6IeUCgYEA4IEU
|
16
|
-
GW9rJoVB86HVdaadq2VmuOdyGa+tLkPh8v47vPGB/vpRlThuuRRc51Oq+SRh7bC7
|
17
|
-
FO4cjOa6VpM9dkeAc2GFPs+uyzzU8yRxeqO3gicvXC1sApaca9uv8Vp3WDacnlsu
|
18
|
-
shVM+RXKLEi8/JHrcr9BCvSlycvZy8t+QUp6LicCgYBE1ocBJ1bTQEESlHfbj2OL
|
19
|
-
eYEBzXCkW4Il5fbmoT3keMr/gzOLgPGDGYY3cuD0IBQzPor5jsd5wnTMVHujwlNS
|
20
|
-
TtOtN0kCY6m+tLeiRMLyeO/8rq5/BrOrB17qQS0XhggVAq5FIMNKtYof3bEUCMSz
|
21
|
-
fVR6Zk9APZvMt9CXiSuz4QKBgFHDMMrCpUd2KLrOKaubbrjJSUv2Hrv0GyJKXrPc
|
22
|
-
m20Il8uA5s1trAWDwQIOmqn58iBayQeqYIOAVETLgwrcp49d6OUjRgmGsheLIjkD
|
23
|
-
/wVLuBfeAwQ+TeGKNN21kNlzqj6R/sOktk/Q+7x9ETb6/cDgnpOa3fZMY5mxFt44
|
24
|
-
fZ7pAoGBAN8ep49qQWxChYfqu75d3dkCcbF6UeWS+mDZ1QDkiJ5hGlDWDAC7EUma
|
25
|
-
jf7c56wBydih+2XKFq2BWxyFcfzzxKJrNeMhGANi/yJ1QrECyrwVWnhP+OFfG5vR
|
26
|
-
O+PzUCwZGet0PHG6r6IuvpGMCdZDYCt+fZSvIRJtmvIrtZWGKQly
|
27
|
-
-----END RSA PRIVATE KEY-----
|