@zohodesk/react-cli 0.0.1-exp.175.1 → 0.0.1-exp.176.11
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- 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;
|