@zohodesk/react-cli 0.0.1-exp.175.1 → 0.0.1-exp.176.11
Sign up to get free protection for your applications and to get access to all the features.
- package/README.md +35 -40
- package/docs/SelectorWeight.md +6 -0
- package/docs/VariableConversion.md +33 -1
- package/lib/babel/cmjs-plugins-presets.js +4 -0
- package/lib/babel/es-plugins-presets.js +4 -0
- package/lib/common/getEntries.js +10 -0
- package/lib/common/getPublicPathConfig.js +6 -0
- package/lib/common/index.js +5 -0
- package/lib/common/splitChunks.js +13 -2
- package/lib/common/sslcertUpdater.js +17 -6
- package/lib/common/templateParameters.js +2 -0
- package/lib/common/testPattern.js +21 -10
- package/lib/common/valueReplacer.js +15 -0
- package/lib/configs/jest.config.js +9 -0
- package/lib/configs/libAlias.js +2 -4
- package/lib/configs/webpack.component.umd.config.js +5 -0
- package/lib/configs/webpack.css.umd.config.js +13 -5
- package/lib/configs/webpack.dev.config.js +36 -2
- package/lib/configs/webpack.docs.config.js +21 -1
- package/lib/configs/webpack.impact.config.js +19 -1
- package/lib/configs/webpack.prod.config.js +37 -3
- package/lib/hooks/docsProptypeHook.js +7 -3
- package/lib/jest/commitedFilesResult.js +45 -3
- package/lib/jest/coverageCollector.js +11 -0
- package/lib/jest/jsonMaker.js +6 -0
- package/lib/jest/preProcessors/cssPreprocessor.js +8 -0
- package/lib/jest/preProcessors/jsPreprocessor.js +2 -0
- package/lib/jest/preProcessors/otherFilesPreprocessor.js +3 -0
- package/lib/jest/result.js +22 -0
- package/lib/jest/run.js +17 -6
- package/lib/jest/setup.js +57 -5
- package/lib/loaderUtils/configsAssetsLoaders.js +11 -1
- package/lib/loaderUtils/getCSSLoaders.js +35 -20
- package/lib/loaderUtils/getDevJsLoaders.js +8 -0
- package/lib/loaderUtils/index.js +3 -0
- package/lib/loaderUtils/windowsModification.js +11 -0
- package/lib/loaders/docsLoader.js +7 -0
- package/lib/loaders/docsPropsLoader.js +7 -3
- package/lib/loaders/fileBountryLoader.js +2 -0
- package/lib/loaders/fileLoader.js +22 -11
- package/lib/loaders/scriptInstrumentLoader.js +13 -5
- package/lib/loaders/selectorMappingLoader.js +25 -7
- package/lib/loaders/workerLoader.js +20 -4
- package/lib/middlewares/HMRMiddleware.js +26 -13
- package/lib/middlewares/SSTMiddleware.js +3 -0
- package/lib/pluginUtils/configHtmlWebpackPlugins.js +9 -3
- package/lib/pluginUtils/getDevPlugins.js +63 -17
- package/lib/pluginUtils/getDocsPlugins.js +10 -1
- package/lib/pluginUtils/getLibraryImactPlugins.js +5 -4
- package/lib/pluginUtils/getLibraryPlugins.js +5 -0
- package/lib/pluginUtils/getProdPlugins.js +72 -23
- package/lib/pluginUtils/getServerPlugins.js +5 -0
- package/lib/pluginUtils/getUMDCSSPlugins.js +7 -0
- package/lib/pluginUtils/getUMDComponentPlugins.js +7 -0
- package/lib/pluginUtils/index.js +8 -0
- package/lib/plugins/CdnChangePlugin.js +14 -0
- package/lib/plugins/CleanupStatsPlugin.js +5 -0
- package/lib/plugins/EFCPlugin.js +34 -23
- package/lib/plugins/EFCTemplatePlugin.js +32 -23
- package/lib/plugins/I18NInjectIntoIndexPlugin.js +34 -8
- package/lib/plugins/I18nSplitPlugin/I18nDebugPlugin.js +17 -12
- package/lib/plugins/I18nSplitPlugin/I18nDependency.js +10 -4
- package/lib/plugins/I18nSplitPlugin/I18nDownlodLogic.js +39 -8
- package/lib/plugins/I18nSplitPlugin/I18nFilesEmitter.js +29 -14
- package/lib/plugins/I18nSplitPlugin/I18nKeysIdentifer.js +22 -13
- package/lib/plugins/I18nSplitPlugin/index.js +23 -13
- package/lib/plugins/I18nSplitPlugin/utils/collectI18nKeys.js +12 -2
- package/lib/plugins/I18nSplitPlugin/utils/getI18nFileUrlPathTemplate.js +1 -0
- package/lib/plugins/I18nSplitPlugin/utils/getI18nKeysFormModules.js +5 -0
- package/lib/plugins/I18nSplitPlugin/utils/hashUtils.js +6 -0
- package/lib/plugins/I18nSplitPlugin/utils/index.js +4 -0
- package/lib/plugins/I18nSplitPlugin/utils/propertiesUtils.js +20 -2
- package/lib/plugins/ManifestPlugin.js +17 -0
- package/lib/plugins/ModuleStatsPlugin.js +23 -0
- package/lib/plugins/OptimizeJSPlugin.js +7 -0
- package/lib/plugins/PublicPathCallbackPlugin.js +10 -0
- package/lib/plugins/PublicPathChangePlugin.js +36 -4
- package/lib/plugins/ReportGeneratePlugin.js +30 -4
- package/lib/plugins/RequireVariablePublicPlugin.js +6 -0
- package/lib/plugins/ResourceHintsPlugin.js +10 -3
- package/lib/plugins/RtlSplitPlugin/OverwriteCssPathForRTL.js +17 -12
- package/lib/plugins/RtlSplitPlugin/RtlCssPlugin.js +16 -9
- package/lib/plugins/RtlSplitPlugin/replaceCssDirTemplate.js +5 -2
- package/lib/plugins/ScriptInstrumentPlugin.js +7 -0
- package/lib/plugins/SelectorPlugin.js +97 -0
- package/lib/plugins/ServiceWorkerPlugin.js +20 -4
- package/lib/plugins/ShadowDOMSupportPlugin.js +40 -3
- package/lib/plugins/SourceMapHookPlugin.js +9 -0
- package/lib/plugins/TPHashMappingPlugin.js +15 -1
- package/lib/plugins/UglifyCSSPlugin.js +9 -0
- package/lib/plugins/UnusedFilesFindPlugin.js +35 -2
- package/lib/plugins/VariableConversionCollector.js +252 -0
- package/lib/plugins/composeCommonPlugin.js +30 -0
- package/lib/plugins/index.js +19 -0
- package/lib/plugins/libraryImpactPlugin.js +32 -0
- package/lib/plugins/webpackwatchrunplugin.js +5 -0
- package/lib/postcss-plugins/ExcludePlugin.js +4 -0
- package/lib/postcss-plugins/RTLSplitPlugin.js +27 -14
- package/lib/postcss-plugins/ValueReplacer.js +6 -9
- package/lib/postcss-plugins/__test__/hoverActivePlugin.spec.js +3 -0
- package/lib/postcss-plugins/hoverActivePlugin.js +66 -30
- package/lib/postcss-plugins/variableModificationPlugin/ErrorHandler.js +40 -13
- package/lib/postcss-plugins/variableModificationPlugin/index.js +215 -141
- package/lib/postcss-plugins/variableModifier.js +20 -13
- package/lib/schemas/index.js +23 -4
- package/lib/servers/clusterHubServer.js +10 -0
- package/lib/servers/devBuild.js +24 -13
- package/lib/servers/docsServer.js +2 -0
- package/lib/servers/docsServerCore.js +21 -0
- package/lib/servers/getCliPath.js +9 -0
- package/lib/servers/helpServer.js +5 -0
- package/lib/servers/httpsOptions.js +4 -0
- package/lib/servers/impactServer.js +34 -2
- package/lib/servers/mockserver.js +9 -0
- package/lib/servers/nowatchserver.js +34 -12
- package/lib/servers/scrServer.js +20 -13
- package/lib/servers/server.js +35 -7
- package/lib/servers/ssServer.js +16 -0
- package/lib/templates/CoverageScriptTemplate.js +14 -0
- package/lib/templates/WMSTemplate.js +12 -6
- package/lib/utils/babelPresets.js +2 -0
- package/lib/utils/clean.js +8 -2
- package/lib/utils/copy.js +6 -0
- package/lib/utils/copyTimezones.js +8 -0
- package/lib/utils/createEventStream.js +4 -0
- package/lib/utils/cssClassNameGenerate.js +19 -3
- package/lib/utils/cssURLReplacer.js +50 -38
- package/lib/utils/dependencyPostPublish.js +9 -0
- package/lib/utils/fileUtils.js +26 -0
- package/lib/utils/folderIterator.js +10 -0
- package/lib/utils/getComponents.js +21 -0
- package/lib/utils/getCurrentBranch.js +5 -0
- package/lib/utils/getDependenciesImpactList.js +21 -0
- package/lib/utils/getFileType.js +49 -0
- package/lib/utils/getHash.js +7 -0
- package/lib/utils/getIp.js +2 -0
- package/lib/utils/getOptions.js +39 -14
- package/lib/utils/getServerURL.js +7 -0
- package/lib/utils/index.js +47 -2
- package/lib/utils/init.js +1 -0
- package/lib/utils/initPreCommitHook.js +29 -6
- package/lib/utils/jsonHelper.js +19 -2
- package/lib/utils/libraryImpactConfig.js +2 -0
- package/lib/utils/lint/addScripts.js +5 -2
- package/lib/utils/lint/checkExistingConfig.js +12 -3
- package/lib/utils/lint/copyConfigs.js +3 -0
- package/lib/utils/lint/index.js +9 -0
- package/lib/utils/lint/lintScripts.js +1 -0
- package/lib/utils/lint/lintSetup.js +4 -3
- package/lib/utils/lint/lintStagedPreCommitHook.js +1 -0
- package/lib/utils/lint/question.js +7 -0
- package/lib/utils/lintReporter.js +20 -0
- package/lib/utils/mailSender.js +7 -0
- package/lib/utils/pullOrigin.js +4 -0
- package/lib/utils/reinstallDependencies.js +28 -0
- package/lib/utils/removeAttributes.js +7 -0
- package/lib/utils/repoClone.js +27 -2
- package/lib/utils/request.js +12 -0
- package/lib/utils/rtl.js +16 -4
- package/lib/utils/setEnvVariables.js +2 -0
- package/lib/utils/ssTestHack.js +10 -0
- package/lib/utils/switchBranch.js +4 -0
- package/lib/utils/urlConcat.js +4 -0
- package/lib/utils/useExitCleanup.js +10 -9
- package/package.json +10 -9
package/lib/servers/scrServer.js
CHANGED
@@ -1,14 +1,20 @@
|
|
1
1
|
"use strict";
|
2
2
|
|
3
3
|
var _screenshotTest = _interopRequireDefault(require("@zohodesk/screenshot-test"));
|
4
|
+
|
4
5
|
var _jsonHelper = require("../utils/jsonHelper");
|
6
|
+
|
5
7
|
var _child_process = require("child_process");
|
8
|
+
|
6
9
|
var _utils = require("../utils");
|
10
|
+
|
7
11
|
var _docsServerCore = _interopRequireDefault(require("./docsServerCore"));
|
12
|
+
|
8
13
|
var _SSTMiddleware = _interopRequireDefault(require("../middlewares/SSTMiddleware"));
|
14
|
+
|
9
15
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
10
|
-
//Getting variables from flag and exe
|
11
16
|
|
17
|
+
//Getting variables from flag and exe
|
12
18
|
let cwd = process.cwd();
|
13
19
|
let options = (0, _utils.getOptions)();
|
14
20
|
let {
|
@@ -30,8 +36,8 @@ let {
|
|
30
36
|
}
|
31
37
|
} = options;
|
32
38
|
let resultFileName = `${cwd}/result.json`;
|
33
|
-
let docsServerInstance;
|
34
|
-
|
39
|
+
let docsServerInstance; // let impactedComponentList = null;
|
40
|
+
|
35
41
|
let url = (0, _utils.getServerURL)(Object.assign(server, {
|
36
42
|
host: server.iphost
|
37
43
|
}), 'ht' + 'tp');
|
@@ -39,16 +45,12 @@ let commitID = (0, _child_process.execSync)('git log --first-parent --pretty="fo
|
|
39
45
|
cwd: cwd
|
40
46
|
}).toString() || '';
|
41
47
|
let [latestCommitHash, lastCommitHash] = commitID.split('\n');
|
42
|
-
let script = 'var Objlist = {};for (i in componentList) {try { if (componentList[i].prototype.isReactComponent) Objlist[i] = componentList[i].docs.componentGroup;}catch (err) {console.log(i, err);}};if (Object.keys(Objlist).length < 5) {Objlist = false;}return Objlist;';
|
43
|
-
|
44
|
-
// Variable getting part end //
|
48
|
+
let script = 'var Objlist = {};for (i in componentList) {try { if (componentList[i].prototype.isReactComponent) Objlist[i] = componentList[i].docs.componentGroup;}catch (err) {console.log(i, err);}};if (Object.keys(Objlist).length < 5) {Objlist = false;}return Objlist;'; // Variable getting part end //
|
45
49
|
|
46
50
|
(0, _jsonHelper.jsonHelper)(resultFileName, 'tests.screenshotTest.compareBranch', referBranch);
|
47
51
|
(0, _jsonHelper.jsonHelper)(resultFileName, 'tests.screenshotTest.TestBranch', currentBranch);
|
48
52
|
(0, _jsonHelper.jsonHelper)(resultFileName, 'tests.screenshotTest.isExecuted', true);
|
49
|
-
(0, _utils.log)('Test Branch Name :- ', currentBranch);
|
50
|
-
|
51
|
-
// function declaration part //
|
53
|
+
(0, _utils.log)('Test Branch Name :- ', currentBranch); // function declaration part //
|
52
54
|
|
53
55
|
let closeServer = serverInstance => {
|
54
56
|
(0, _utils.log)('Docs service stopped!');
|
@@ -60,9 +62,9 @@ let closeServer = serverInstance => {
|
|
60
62
|
http.close();
|
61
63
|
https.close();
|
62
64
|
wdm.close();
|
63
|
-
};
|
65
|
+
}; //eslint-disable-next-line
|
66
|
+
|
64
67
|
|
65
|
-
//eslint-disable-next-line
|
66
68
|
let afterFirstScreenShotCollected = () => {
|
67
69
|
closeServer(docsServerInstance);
|
68
70
|
(0, _utils.switchBranch)('git', referBranch).then(() => {
|
@@ -72,6 +74,7 @@ let afterFirstScreenShotCollected = () => {
|
|
72
74
|
});
|
73
75
|
});
|
74
76
|
};
|
77
|
+
|
75
78
|
let onSStestEnd = (status, resultObject, message) => {
|
76
79
|
if (status) {
|
77
80
|
(0, _jsonHelper.jsonHelper)(resultFileName, 'tests.screenshotTest.endTime', Date.now());
|
@@ -79,8 +82,8 @@ let onSStestEnd = (status, resultObject, message) => {
|
|
79
82
|
(0, _jsonHelper.jsonHelper)(resultFileName, 'tests.screenshotTest.result', resultObject);
|
80
83
|
(0, _jsonHelper.jsonHelper)(resultFileName, 'tests.screenshotTest.message', message);
|
81
84
|
(0, _jsonHelper.setTestInfoStatus)(resultFileName, true);
|
82
|
-
(0, _utils.log)(message);
|
83
|
-
|
85
|
+
(0, _utils.log)(message); //'Screenshot test completed successfully.'
|
86
|
+
|
84
87
|
closeServer(docsServerInstance);
|
85
88
|
} else {
|
86
89
|
(0, _jsonHelper.jsonHelper)(resultFileName, 'tests.screenshotTest.isPassed', false);
|
@@ -95,6 +98,7 @@ let onSStestEnd = (status, resultObject, message) => {
|
|
95
98
|
throw new Error('Component list undefined! Please check component Docs');
|
96
99
|
}
|
97
100
|
};
|
101
|
+
|
98
102
|
let run = (listOfComponents = [], configObject) => {
|
99
103
|
docsServerInstance = (0, _docsServerCore.default)(true);
|
100
104
|
docsServerInstance.app.use((0, _SSTMiddleware.default)(docsServerInstance.compiler, mData => {
|
@@ -103,11 +107,13 @@ let run = (listOfComponents = [], configObject) => {
|
|
103
107
|
configObject.impactedComponentList = finalResultObject.impactedComponentList;
|
104
108
|
configObject.unDocsComList = finalResultObject.unDocsComList;
|
105
109
|
}
|
110
|
+
|
106
111
|
_screenshotTest.default.run(configObject, (status, finalObj, message) => {
|
107
112
|
onSStestEnd(status, finalObj, message);
|
108
113
|
});
|
109
114
|
}));
|
110
115
|
};
|
116
|
+
|
111
117
|
(0, _jsonHelper.jsonHelper)(resultFileName, 'tests.screenshotTest.startTime', Date.now());
|
112
118
|
(0, _utils.ssTestHack)();
|
113
119
|
let scrObject = {
|
@@ -125,6 +131,7 @@ let scrObject = {
|
|
125
131
|
script,
|
126
132
|
tableName
|
127
133
|
};
|
134
|
+
|
128
135
|
if (isImpactRun) {
|
129
136
|
if (!isStore) {
|
130
137
|
(0, _utils.getDependenciesImpactList)(currentBranch, referBranch, tokenGit, serviceName).then(impactedList => {
|
package/lib/servers/server.js
CHANGED
@@ -1,19 +1,30 @@
|
|
1
1
|
"use strict";
|
2
2
|
|
3
3
|
var _path = _interopRequireDefault(require("path"));
|
4
|
+
|
4
5
|
var _https = _interopRequireDefault(require("https"));
|
6
|
+
|
5
7
|
var _webpack = _interopRequireDefault(require("webpack"));
|
8
|
+
|
6
9
|
var _express = _interopRequireDefault(require("express"));
|
10
|
+
|
7
11
|
var _ws = _interopRequireDefault(require("ws"));
|
12
|
+
|
8
13
|
var _compression = _interopRequireDefault(require("compression"));
|
14
|
+
|
9
15
|
var _webpackDevMiddleware = _interopRequireDefault(require("webpack-dev-middleware"));
|
16
|
+
|
10
17
|
var _httpProxyMiddleware = require("http-proxy-middleware");
|
18
|
+
|
11
19
|
var _HMRMiddleware = _interopRequireDefault(require("../middlewares/HMRMiddleware"));
|
20
|
+
|
12
21
|
var _utils = require("../utils");
|
22
|
+
|
13
23
|
var _httpsOptions = require("./httpsOptions");
|
24
|
+
|
14
25
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
15
|
-
// import fs from 'fs';
|
16
26
|
|
27
|
+
// import fs from 'fs';
|
17
28
|
let options = (0, _utils.getOptions)();
|
18
29
|
let {
|
19
30
|
app: {
|
@@ -37,17 +48,20 @@ const {
|
|
37
48
|
writeToDisk
|
38
49
|
} = options.impactService;
|
39
50
|
const app = (0, _express.default)();
|
51
|
+
|
40
52
|
if (hasMock) {
|
41
53
|
app.use(server.mockPrefix, (0, _httpProxyMiddleware.createProxyMiddleware)({
|
42
54
|
target: 'ht' + `tp://localhost:${mockPort}`,
|
43
55
|
changeOrigin: true
|
44
56
|
}));
|
45
57
|
}
|
58
|
+
|
46
59
|
app.use(_express.default.json());
|
47
60
|
app.use(_express.default.urlencoded({
|
48
61
|
extended: true
|
49
62
|
}));
|
50
63
|
let config;
|
64
|
+
|
51
65
|
if (mode === 'prod') {
|
52
66
|
config = require('../configs/webpack.prod.config');
|
53
67
|
app.use((0, _compression.default)());
|
@@ -55,8 +69,8 @@ if (mode === 'prod') {
|
|
55
69
|
config = require('../configs/webpack.dev.config');
|
56
70
|
} else {
|
57
71
|
throw new Error('You must configure valid option in mode');
|
58
|
-
}
|
59
|
-
|
72
|
+
} // console.log({ contextURL });
|
73
|
+
|
60
74
|
|
61
75
|
let compiler = (0, _webpack.default)(config);
|
62
76
|
let webpackServerOptions = {
|
@@ -70,22 +84,25 @@ let webpackServerOptions = {
|
|
70
84
|
},
|
71
85
|
compress: mode === 'prod'
|
72
86
|
};
|
87
|
+
|
73
88
|
if (options.app.disableWatch) {
|
74
89
|
webpackServerOptions.watchOptions = {
|
75
90
|
ignored: /./
|
76
91
|
};
|
77
92
|
}
|
93
|
+
|
78
94
|
if (writeToDisk) {
|
79
95
|
webpackServerOptions.writeToDisk = true;
|
80
96
|
}
|
97
|
+
|
81
98
|
app.use((0, _webpackDevMiddleware.default)(compiler, webpackServerOptions));
|
82
99
|
app.use((0, _HMRMiddleware.default)(compiler, {
|
83
100
|
path: '/sockjs-node/info'
|
84
101
|
}));
|
85
102
|
app.use((req, res, next) => {
|
86
103
|
//console.log('origin', req.get('origin'));
|
87
|
-
res.setHeader('Access-Control-Allow-Origin', req.get('origin') || '*');
|
88
|
-
|
104
|
+
res.setHeader('Access-Control-Allow-Origin', req.get('origin') || '*'); // res.setHeader('Access-Control-Allow-Origin', req.get('origin'));
|
105
|
+
|
89
106
|
res.setHeader('Access-Control-Allow-Private-Network', true);
|
90
107
|
res.setHeader('Access-Control-Allow-Credentials', true);
|
91
108
|
next();
|
@@ -96,7 +113,9 @@ app.options('/*', (req, res) => {
|
|
96
113
|
app.use('/wms/*', (req, res) => {
|
97
114
|
res.sendFile(_path.default.join(__dirname, '..', '..', 'templates', 'wms', 'index.html'));
|
98
115
|
});
|
116
|
+
|
99
117
|
const httpsServer = _https.default.createServer(_httpsOptions.httpsOptions, app);
|
118
|
+
|
100
119
|
const wss = new _ws.default.Server({
|
101
120
|
server: httpsServer
|
102
121
|
});
|
@@ -116,6 +135,7 @@ app.post('/wmsmockapi', (req, res) => {
|
|
116
135
|
let {
|
117
136
|
body
|
118
137
|
} = req;
|
138
|
+
|
119
139
|
try {
|
120
140
|
ws.send(JSON.stringify(body));
|
121
141
|
} catch (e) {
|
@@ -131,10 +151,12 @@ compiler.hooks.afterCompile.tap('ReactCLI', compilation => {
|
|
131
151
|
});
|
132
152
|
compiler.hooks.done.tap('ReactCLI', () => {
|
133
153
|
const indexHtml = webpackCompilation.assets['index.html'];
|
154
|
+
|
134
155
|
if (indexHtml) {
|
135
156
|
initalHTML = indexHtml.source();
|
136
157
|
}
|
137
158
|
});
|
159
|
+
|
138
160
|
if (contextURL) {
|
139
161
|
app.use(contextURL, _express.default.static(context));
|
140
162
|
app.use(`${contextURL}/*`, (req, res) => {
|
@@ -144,17 +166,20 @@ if (contextURL) {
|
|
144
166
|
app.use(_express.default.static(context));
|
145
167
|
app.use('/*', _express.default.static(context));
|
146
168
|
}
|
169
|
+
|
147
170
|
httpsServer.listen(port, err => {
|
148
171
|
if (err) {
|
149
172
|
throw err;
|
150
173
|
}
|
174
|
+
|
151
175
|
(0, _utils.log)(`Listening at ${serverUrl}${contextURL}/`);
|
152
176
|
});
|
177
|
+
|
153
178
|
if (isCompatableHttp2) {
|
154
179
|
const http2 = require('http2');
|
155
|
-
const http2Server = http2.createSecureServer(_httpsOptions.httpsOptions);
|
156
180
|
|
157
|
-
// eslint-disable-next-line no-unused-vars
|
181
|
+
const http2Server = http2.createSecureServer(_httpsOptions.httpsOptions); // eslint-disable-next-line no-unused-vars
|
182
|
+
|
158
183
|
http2Server.on('stream', (stream, headers) => {
|
159
184
|
stream.respond({
|
160
185
|
'content-type': 'text/html',
|
@@ -167,6 +192,7 @@ if (isCompatableHttp2) {
|
|
167
192
|
if (err) {
|
168
193
|
throw err;
|
169
194
|
}
|
195
|
+
|
170
196
|
(0, _utils.log)(`Listening at ${(0, _utils.getServerURL)({
|
171
197
|
host,
|
172
198
|
domain,
|
@@ -176,11 +202,13 @@ if (isCompatableHttp2) {
|
|
176
202
|
} else {
|
177
203
|
(0, _utils.log)('Your node version didn\'t adopted http2 support. Kindly update that to 8 LTS or above you can engage the http2');
|
178
204
|
}
|
205
|
+
|
179
206
|
let httpPort = Number(port) + (isCompatableHttp2 ? 2 : 1);
|
180
207
|
app.listen(httpPort, err => {
|
181
208
|
if (err) {
|
182
209
|
throw err;
|
183
210
|
}
|
211
|
+
|
184
212
|
(0, _utils.log)(`Listening at ${(0, _utils.getServerURL)({
|
185
213
|
host,
|
186
214
|
domain,
|
package/lib/servers/ssServer.js
CHANGED
@@ -1,11 +1,17 @@
|
|
1
1
|
"use strict";
|
2
2
|
|
3
3
|
var _screenshotTest = _interopRequireDefault(require("@zohodesk/screenshot-test"));
|
4
|
+
|
4
5
|
var _jsonHelper = require("../utils/jsonHelper");
|
6
|
+
|
5
7
|
var _utils = require("../utils");
|
8
|
+
|
6
9
|
var _docsServerCore = _interopRequireDefault(require("./docsServerCore"));
|
10
|
+
|
7
11
|
var _SSTMiddleware = _interopRequireDefault(require("../middlewares/SSTMiddleware"));
|
12
|
+
|
8
13
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
14
|
+
|
9
15
|
let options = (0, _utils.getOptions)();
|
10
16
|
let impactedComponentObject = null;
|
11
17
|
let docsServerInstance;
|
@@ -21,6 +27,7 @@ let {
|
|
21
27
|
server
|
22
28
|
}
|
23
29
|
} = options;
|
30
|
+
|
24
31
|
function closeServer(serverInstance) {
|
25
32
|
(0, _utils.log)('Docs service stopped!');
|
26
33
|
let {
|
@@ -32,10 +39,12 @@ function closeServer(serverInstance) {
|
|
32
39
|
https.close();
|
33
40
|
wdm.close();
|
34
41
|
}
|
42
|
+
|
35
43
|
(0, _jsonHelper.jsonHelper)(`${process.cwd()}/result.json`, 'tests.screenshotTest.compareBranch', referBranch);
|
36
44
|
(0, _jsonHelper.jsonHelper)(`${process.cwd()}/result.json`, 'tests.screenshotTest.TestBranch', currentBranch);
|
37
45
|
(0, _jsonHelper.jsonHelper)(`${process.cwd()}/result.json`, 'tests.screenshotTest.isExecuted', true);
|
38
46
|
(0, _utils.log)('Test Branch Name :- ', currentBranch);
|
47
|
+
|
39
48
|
let afterFirstScreenShotCollected = () => {
|
40
49
|
closeServer(docsServerInstance);
|
41
50
|
(0, _utils.switchBranch)('git', referBranch).then(() => {
|
@@ -45,6 +54,7 @@ let afterFirstScreenShotCollected = () => {
|
|
45
54
|
});
|
46
55
|
});
|
47
56
|
};
|
57
|
+
|
48
58
|
let onSStestEnd = (status, resultObject, isLastRun, runSSTest) => {
|
49
59
|
if (status) {
|
50
60
|
if (!isLastRun) {
|
@@ -72,13 +82,17 @@ let onSStestEnd = (status, resultObject, isLastRun, runSSTest) => {
|
|
72
82
|
throw new Error('Component list undefined! Please check component Docs');
|
73
83
|
}
|
74
84
|
};
|
85
|
+
|
75
86
|
(0, _utils.ssTestHack)();
|
87
|
+
|
76
88
|
let getDocsServerInstance = beforeJobs => {
|
77
89
|
if (typeof beforeJobs === 'function') {
|
78
90
|
beforeJobs();
|
79
91
|
}
|
92
|
+
|
80
93
|
return (0, _docsServerCore.default)(true);
|
81
94
|
};
|
95
|
+
|
82
96
|
let runSSTest = (onBefore, isLastRun, mode, branch, listOfComponents) => {
|
83
97
|
let url = (0, _utils.getServerURL)(Object.assign(server, {
|
84
98
|
host: server.iphost
|
@@ -86,6 +100,7 @@ let runSSTest = (onBefore, isLastRun, mode, branch, listOfComponents) => {
|
|
86
100
|
docsServerInstance = getDocsServerInstance(onBefore);
|
87
101
|
docsServerInstance.app.use((0, _SSTMiddleware.default)(docsServerInstance.compiler, mData => {
|
88
102
|
impactedComponentObject = (0, _utils.getComponents)(mData, listOfComponents);
|
103
|
+
|
89
104
|
_screenshotTest.default.run({
|
90
105
|
branch,
|
91
106
|
seleniumHub: seleniumHub,
|
@@ -100,6 +115,7 @@ let runSSTest = (onBefore, isLastRun, mode, branch, listOfComponents) => {
|
|
100
115
|
});
|
101
116
|
}));
|
102
117
|
};
|
118
|
+
|
103
119
|
(0, _jsonHelper.jsonHelper)(`${process.cwd()}/result.json`, 'tests.screenshotTest.startTime', Date.now());
|
104
120
|
(0, _utils.getDependenciesImpactList)(currentBranch, referBranch).then(impactedList => {
|
105
121
|
(0, _utils.log)('from here ');
|
@@ -8,21 +8,27 @@ window.ClientCoverage = {
|
|
8
8
|
localStorage.setItem(property, JSON.stringify(defaultVal));
|
9
9
|
return defaultVal;
|
10
10
|
}
|
11
|
+
|
11
12
|
localStorage.setItem(property, JSON.stringify(defaultVal));
|
12
13
|
return defaultVal || {};
|
13
14
|
},
|
15
|
+
|
14
16
|
clearLocalStorage(property) {
|
15
17
|
localStorage.removeItem(property);
|
16
18
|
}
|
19
|
+
|
17
20
|
},
|
18
21
|
JS: {
|
19
22
|
jsMethodInstrumentObject: {},
|
20
23
|
jsStorageKey: 'jsClientCoverageObject',
|
24
|
+
|
21
25
|
init() {
|
22
26
|
this.jsMethodInstrumentObject = ClientCoverage.LocalStorageWrapper.getLocalStorage(this.jsStorageKey, this.jsMethodInstrumentObject);
|
23
27
|
},
|
28
|
+
|
24
29
|
visitMethod(jsFileName, jsMethodName) {
|
25
30
|
this.init();
|
31
|
+
|
26
32
|
if (this.jsMethodInstrumentObject.hasOwnProperty(jsFileName)) {
|
27
33
|
if (!this.jsMethodInstrumentObject[jsFileName].includes(jsMethodName)) {
|
28
34
|
this.jsMethodInstrumentObject[jsFileName].push(jsMethodName);
|
@@ -31,27 +37,35 @@ window.ClientCoverage = {
|
|
31
37
|
this.jsMethodInstrumentObject[jsFileName] = [];
|
32
38
|
this.jsMethodInstrumentObject[jsFileName].push(jsMethodName);
|
33
39
|
}
|
40
|
+
|
34
41
|
localStorage.setItem(this.jsStorageKey, JSON.stringify(this.jsMethodInstrumentObject));
|
35
42
|
},
|
43
|
+
|
36
44
|
clear() {
|
37
45
|
this.jsMethodInstrumentObject = {};
|
38
46
|
ClientCoverage.LocalStorageWrapper.clearLocalStorage(this.jsStorageKey);
|
39
47
|
},
|
48
|
+
|
40
49
|
getData() {
|
41
50
|
return {
|
42
51
|
methods: this.jsMethodInstrumentObject
|
43
52
|
};
|
44
53
|
}
|
54
|
+
|
45
55
|
},
|
56
|
+
|
46
57
|
getCoverageData() {
|
47
58
|
return {
|
48
59
|
JS: this.JS.getData()
|
49
60
|
};
|
50
61
|
},
|
62
|
+
|
51
63
|
clear() {
|
52
64
|
this.JS.clear();
|
53
65
|
},
|
66
|
+
|
54
67
|
init() {
|
55
68
|
this.JS.init();
|
56
69
|
}
|
70
|
+
|
57
71
|
};
|
@@ -1,34 +1,40 @@
|
|
1
1
|
"use strict";
|
2
2
|
|
3
3
|
var _querystring = _interopRequireDefault(require("querystring"));
|
4
|
+
|
4
5
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
6
|
+
|
5
7
|
let log = (...args) => {
|
6
8
|
let print = console;
|
7
9
|
print.log(...args);
|
8
|
-
};
|
10
|
+
}; // eslint-disable-next-line no-undef
|
11
|
+
|
9
12
|
|
10
|
-
// eslint-disable-next-line no-undef
|
11
13
|
let options = _querystring.default.parse(__resourceQuery.slice(1));
|
14
|
+
|
12
15
|
window.WebSocket = window.WebSocket || window.MozWebSocket;
|
13
16
|
let connection = new WebSocket(options.wmsPath);
|
17
|
+
|
14
18
|
connection.onopen = () => {
|
15
19
|
// connection is opened and ready to use
|
16
20
|
log('open');
|
17
21
|
};
|
22
|
+
|
18
23
|
connection.onerror = error => {
|
19
24
|
// an error occurred when sending/receiving data
|
20
25
|
throw error;
|
21
26
|
};
|
27
|
+
|
22
28
|
connection.onmessage = message => {
|
23
29
|
// try to decode json (I assume that each message
|
24
30
|
// from server is json)
|
25
31
|
try {
|
26
|
-
let json = JSON.parse(message.data);
|
27
|
-
|
32
|
+
let json = JSON.parse(message.data); // eslint-disable-next-line no-undef
|
33
|
+
|
28
34
|
Collaboration.handleCustomMessage(json);
|
29
35
|
} catch (e) {
|
30
36
|
log('This doesn\'t look like a valid JSON: ', message.data);
|
31
37
|
return;
|
32
|
-
}
|
33
|
-
|
38
|
+
} // handle incoming message
|
39
|
+
|
34
40
|
};
|
package/lib/utils/clean.js
CHANGED
@@ -1,10 +1,12 @@
|
|
1
1
|
"use strict";
|
2
2
|
|
3
3
|
var _rimraf = _interopRequireDefault(require("rimraf"));
|
4
|
+
|
4
5
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
6
|
+
|
5
7
|
let help = false;
|
6
|
-
let dashdash = false;
|
7
|
-
|
8
|
+
let dashdash = false; //eslint-disable-next-line array-callback-return
|
9
|
+
|
8
10
|
let args = process.argv.slice(2).filter(arg => {
|
9
11
|
if (dashdash) {
|
10
12
|
return !!arg;
|
@@ -16,17 +18,21 @@ let args = process.argv.slice(2).filter(arg => {
|
|
16
18
|
return !!arg;
|
17
19
|
}
|
18
20
|
});
|
21
|
+
|
19
22
|
let go = n => {
|
20
23
|
if (n >= args.length) {
|
21
24
|
return;
|
22
25
|
}
|
26
|
+
|
23
27
|
(0, _rimraf.default)(args[n], er => {
|
24
28
|
if (er) {
|
25
29
|
throw er;
|
26
30
|
}
|
31
|
+
|
27
32
|
go(n + 1);
|
28
33
|
});
|
29
34
|
};
|
35
|
+
|
30
36
|
if (help || args.length === 0) {
|
31
37
|
// If they didn't ask for help, then this is not a "success"
|
32
38
|
// eslint-disable-next-line no-console
|
package/lib/utils/copy.js
CHANGED
@@ -1,11 +1,17 @@
|
|
1
1
|
"use strict";
|
2
2
|
|
3
3
|
var _path = _interopRequireDefault(require("path"));
|
4
|
+
|
4
5
|
var _fs = _interopRequireDefault(require("fs"));
|
6
|
+
|
5
7
|
var _fileUtils = require("./fileUtils");
|
8
|
+
|
6
9
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
10
|
+
|
7
11
|
let args = process.argv.slice(2);
|
12
|
+
|
8
13
|
let appPath = _fs.default.realpathSync(process.cwd());
|
14
|
+
|
9
15
|
let [srcPath, targetPath, exts, isCopy = true, flatten = '', changeExt = ''] = args;
|
10
16
|
exts = exts ? exts.split(',').map(ext => `.${ext.trim()}`) : false;
|
11
17
|
srcPath = _path.default.join(appPath, srcPath);
|
@@ -1,13 +1,21 @@
|
|
1
1
|
"use strict";
|
2
2
|
|
3
3
|
var _path = _interopRequireDefault(require("path"));
|
4
|
+
|
4
5
|
var _fs = _interopRequireDefault(require("fs"));
|
6
|
+
|
5
7
|
var _fileUtils = require("./fileUtils");
|
8
|
+
|
6
9
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
10
|
+
|
7
11
|
let args = process.argv.slice(2);
|
12
|
+
|
8
13
|
let appPath = _fs.default.realpathSync(process.cwd());
|
14
|
+
|
9
15
|
let [targetPath] = args;
|
10
16
|
targetPath = targetPath === '."' || !targetPath ? '' : targetPath;
|
11
17
|
targetPath = _path.default.join(appPath, targetPath);
|
18
|
+
|
12
19
|
let srcPath = _path.default.resolve(_path.default.dirname(require.resolve('@zohodesk/datetimejs')), '../data/timezones/');
|
20
|
+
|
13
21
|
(0, _fileUtils.copy)(srcPath, targetPath, true, null, 'flatten');
|
@@ -4,14 +4,17 @@ Object.defineProperty(exports, "__esModule", {
|
|
4
4
|
value: true
|
5
5
|
});
|
6
6
|
exports.default = void 0;
|
7
|
+
|
7
8
|
let createEventStream = (heartbeat, heartbeatInfo = null) => {
|
8
9
|
let clientId = 0;
|
9
10
|
let clients = {};
|
11
|
+
|
10
12
|
let everyClient = fn => {
|
11
13
|
Object.keys(clients).forEach(id => {
|
12
14
|
fn(clients[id]);
|
13
15
|
});
|
14
16
|
};
|
17
|
+
|
15
18
|
setInterval(() => {
|
16
19
|
everyClient(client => {
|
17
20
|
if (heartbeatInfo) {
|
@@ -49,5 +52,6 @@ let createEventStream = (heartbeat, heartbeatInfo = null) => {
|
|
49
52
|
}
|
50
53
|
};
|
51
54
|
};
|
55
|
+
|
52
56
|
var _default = createEventStream;
|
53
57
|
exports.default = _default;
|
@@ -4,27 +4,38 @@ Object.defineProperty(exports, "__esModule", {
|
|
4
4
|
value: true
|
5
5
|
});
|
6
6
|
exports.default = void 0;
|
7
|
+
|
7
8
|
var _os = _interopRequireDefault(require("os"));
|
9
|
+
|
8
10
|
var _path = _interopRequireDefault(require("path"));
|
11
|
+
|
9
12
|
var _getHash = _interopRequireDefault(require("./getHash"));
|
13
|
+
|
10
14
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
15
|
+
|
11
16
|
let isWindows = _os.default.platform().toLowerCase() === 'win32';
|
17
|
+
|
12
18
|
let isSelectorPackage = (resourcePath, packages) => {
|
13
19
|
if (!resourcePath.includes('node_modules')) {
|
14
20
|
return false;
|
15
21
|
}
|
22
|
+
|
16
23
|
let isValid = false;
|
24
|
+
|
17
25
|
for (let pack of packages) {
|
18
26
|
if (isWindows) {
|
19
27
|
pack = pack.replace(/\//g, '\\');
|
20
28
|
}
|
29
|
+
|
21
30
|
if (resourcePath.includes(pack)) {
|
22
31
|
isValid = true;
|
23
32
|
break;
|
24
33
|
}
|
25
34
|
}
|
35
|
+
|
26
36
|
return isValid;
|
27
37
|
};
|
38
|
+
|
28
39
|
var _default = (unique = true, {
|
29
40
|
filenames,
|
30
41
|
packages
|
@@ -35,27 +46,32 @@ var _default = (unique = true, {
|
|
35
46
|
// console.log('context.resourcePath', context.resourcePath, context);
|
36
47
|
// let contextResourcePath = context.resourcePath;
|
37
48
|
let relativePath = _path.default.relative(context.rootContext, context.resourcePath);
|
49
|
+
|
38
50
|
if (context.resourcePath.endsWith('.plain.css')) {
|
39
51
|
return localName;
|
40
52
|
}
|
41
|
-
|
42
53
|
/* old production mode start without breaking so added. may be removed in future*/
|
54
|
+
|
55
|
+
|
43
56
|
if (unique) {
|
44
57
|
let h = (0, _getHash.default)(`${relativePath}-${localName}`, 10);
|
45
58
|
return `${classNamePrefix}${h}`;
|
46
59
|
}
|
47
60
|
/* old production mode end*/
|
48
61
|
|
62
|
+
|
49
63
|
let filePaths = context.resourcePath.split(_path.default.sep);
|
50
64
|
let fileName = filePaths[filePaths.length - 1];
|
51
65
|
let [fileNameWithoutExt] = fileName.split('.');
|
52
|
-
let cleanFileName = fileNameWithoutExt.replace(/-/g, '_').toLowerCase();
|
53
|
-
//css file has casesensitive selector issue so can't toLowerCase
|
66
|
+
let cleanFileName = fileNameWithoutExt.replace(/-/g, '_').toLowerCase(); //css file has casesensitive selector issue so can't toLowerCase
|
54
67
|
//let local = localName.toLowerCase()
|
68
|
+
|
55
69
|
if (isSelectorPackage(context.resourcePath, packages) || filenames.indexOf(cleanFileName) !== -1) {
|
56
70
|
let h = (0, _getHash.default)(`${relativePath}-${localName}`, 10);
|
57
71
|
return `${classNamePrefix}${h}`;
|
58
72
|
}
|
73
|
+
|
59
74
|
return `${classNamePrefix}-${cleanFileName}-${localName}`;
|
60
75
|
};
|
76
|
+
|
61
77
|
exports.default = _default;
|