@zohodesk/react-cli 0.0.1-beta.158 → 0.0.1-beta.161.1
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 +75 -9
- package/bin/cli.js +44 -1
- package/c.sh +46 -0
- package/eslint/NOTES.md +3 -0
- package/eslint/mockapi.html +18 -0
- package/eslint/mockapi.md +5 -0
- package/lib/common/index.js +6 -6
- package/lib/configs/jest.config.js +12 -3
- package/lib/configs/libAlias.js +31 -0
- package/lib/configs/webpack.dev.config.js +6 -19
- package/lib/configs/webpack.prod.config.js +3 -19
- package/lib/loaderUtils/index.js +4 -4
- package/lib/pluginUtils/getDevPlugins.js +2 -0
- package/lib/pluginUtils/getProdPlugins.js +2 -0
- package/lib/pluginUtils/index.js +12 -12
- package/lib/plugins/EFCPlugin.js +43 -13
- package/lib/plugins/EFCTemplatePlugin.js +151 -0
- package/lib/plugins/I18nSplitPlugin/utils/hashUtils.js +2 -2
- package/lib/plugins/I18nSplitPlugin/utils/propertiesUtils.js +1 -1
- package/lib/plugins/ManifestPlugin.js +8 -0
- package/lib/plugins/index.js +36 -36
- package/lib/postcss-plugins/RTLSplitPlugin.js +1 -1
- package/lib/schemas/index.js +9 -0
- package/lib/templates/linterConstant.js +1 -1
- package/lib/utils/cssClassNameGenerate.js +9 -2
- package/lib/utils/cssURLReplacer.js +1 -1
- package/lib/utils/getOptions.js +53 -0
- package/lib/utils/index.js +21 -19
- package/lib/utils/jsonHelper.js +1 -1
- package/lib/utils/reinstallDependencies.js +1 -1
- package/package.json +5 -5
- package/t.js +8 -0
@@ -0,0 +1,151 @@
|
|
1
|
+
"use strict";
|
2
|
+
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
4
|
+
value: true
|
5
|
+
});
|
6
|
+
exports.default = void 0;
|
7
|
+
|
8
|
+
var _webpackSources = require("webpack-sources");
|
9
|
+
|
10
|
+
var _utils = require("../utils");
|
11
|
+
|
12
|
+
var _path = _interopRequireDefault(require("path"));
|
13
|
+
|
14
|
+
var _fs = require("fs");
|
15
|
+
|
16
|
+
var _getI18nFileUrlPathTemplate = require("./I18nSplitPlugin/utils/getI18nFileUrlPathTemplate");
|
17
|
+
|
18
|
+
var _I18nKeysIdentifer = _interopRequireDefault(require("./I18nSplitPlugin/I18nKeysIdentifer"));
|
19
|
+
|
20
|
+
var _replaceCssDirTemplate = require("./RtlSplitPlugin/replaceCssDirTemplate");
|
21
|
+
|
22
|
+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
23
|
+
|
24
|
+
// import { getShortI18nAssets } from './I18nSplitPlugin/utils/hashUtils';
|
25
|
+
const cliOptions = (0, _utils.getOptions)();
|
26
|
+
const {
|
27
|
+
i18n: {
|
28
|
+
chunkSplitEnable
|
29
|
+
},
|
30
|
+
css: {
|
31
|
+
enableRTLSplit
|
32
|
+
},
|
33
|
+
efc: efcOptios
|
34
|
+
} = cliOptions;
|
35
|
+
const {
|
36
|
+
createSDkFile
|
37
|
+
} = efcOptios; // for smap relate changes
|
38
|
+
// CdnChangePlugin
|
39
|
+
// SourceMapHookPlugin
|
40
|
+
|
41
|
+
class EFCTemplatePlugin {
|
42
|
+
constructor(options = {}) {
|
43
|
+
// console.log(' templateFilePath ', process.cwd(), options.templateFilePath, templateFilePath);
|
44
|
+
this.templateFilePath = _path.default.join(process.cwd(), options.templateFilePath); // console.log(' templateFilePath ', this.templateFilePath);
|
45
|
+
|
46
|
+
this.i18nFileNameTemplate = options.i18nFileNameTemplate;
|
47
|
+
this.publicPath = options.publicPath; // NOTE: this logic may be needed for i18n splited file name with contenthash cases
|
48
|
+
// this.i18nManifestFileName = options.i18nManifestFileName;
|
49
|
+
// IMPORTANT: here we mergeing optionds from pacakge.json and options via constructor
|
50
|
+
// So when debugging consider this as well
|
51
|
+
// this.options = Object.assign({}, efcOptios, options);
|
52
|
+
|
53
|
+
this.entryPointName = options.entryPointName || 'efc';
|
54
|
+
this.outputFile = efcOptios.outputFile.replace('[version]', efcOptios.version);
|
55
|
+
} // NOTE: this logic may be needed for i18n splited file name with contenthash cases
|
56
|
+
// getI18nManifest(compilation) {
|
57
|
+
// const i18nManifestFile =
|
58
|
+
// compilation.assets[this.options.i18nManifestFileName];
|
59
|
+
// if (i18nManifestFile) {
|
60
|
+
// const manifest = JSON.parse(i18nManifestFile.source());
|
61
|
+
// return manifest;
|
62
|
+
// }
|
63
|
+
// return {};
|
64
|
+
// }
|
65
|
+
|
66
|
+
|
67
|
+
getI18nAssetsStr(entryPoint, compilation) {
|
68
|
+
// NOTE: we have used lang variable inside
|
69
|
+
if (!chunkSplitEnable) {
|
70
|
+
let i18nAsstes = {};
|
71
|
+
let i18nFiles = Object.keys(compilation.assets).filter(assert => assert.indexOf(`i18n${_path.default.sep}`) !== -1); //hook for i18n url contains i18n/ may cause problem
|
72
|
+
|
73
|
+
i18nAsstes = i18nFiles.reduce((res, i18nFilePath) => {
|
74
|
+
let fileName = i18nFilePath.replace(`i18n${_path.default.sep}`, '');
|
75
|
+
let splittedFileName = fileName.split('.');
|
76
|
+
res[splittedFileName[0]] = i18nFilePath;
|
77
|
+
return res;
|
78
|
+
}, {});
|
79
|
+
return `[${JSON.stringify(i18nAsstes)}[lang]]`;
|
80
|
+
}
|
81
|
+
|
82
|
+
let initalI18nAssets = entryPoint.chunks.filter(chunk => _I18nKeysIdentifer.default.isChunkHasI18n(chunk)).map(chunk => (0, _getI18nFileUrlPathTemplate.getI18nFileUrlPathTemplate)(compilation, chunk, this.i18nFileNameTemplate, '@locale@'));
|
83
|
+
return `${JSON.stringify(initalI18nAssets)}.map(urlpath => urlpath.replace(/@locale@/g, lang))`;
|
84
|
+
}
|
85
|
+
|
86
|
+
templateReplacer(entryPoint, compilation) {
|
87
|
+
const cssDirTemplate = '@dir@'; // const i18nManifest = this.getI18nManifest(compilation);
|
88
|
+
|
89
|
+
const initialFiles = entryPoint.getFiles();
|
90
|
+
const filteredInitialFiles = initialFiles.filter(file => /\.(css|js)$/.test(file));
|
91
|
+
const initialJsFiles = filteredInitialFiles.filter(file => /\.js$/.test(file));
|
92
|
+
let initialCssFiles = filteredInitialFiles.filter(file => /\.css$/.test(file));
|
93
|
+
|
94
|
+
if (enableRTLSplit) {
|
95
|
+
initialCssFiles = initialCssFiles.map(filePath => (0, _replaceCssDirTemplate.replaceCssDirTemplate)(filePath, cssDirTemplate));
|
96
|
+
} // const i18nAssets = getShortI18nAssets(
|
97
|
+
// entryPoint.chunks,
|
98
|
+
// i18nManifest,
|
99
|
+
// '' // i18nJsPath
|
100
|
+
// );
|
101
|
+
|
102
|
+
|
103
|
+
const initalI18nAssets = this.getI18nAssetsStr(entryPoint, compilation, '' // i18nJsPath
|
104
|
+
);
|
105
|
+
let templateStr = (0, _fs.readFileSync)(this.templateFilePath).toString();
|
106
|
+
return templateStr.replace('((\'getInitalAssets\'))', `function getInitalAssets(assetsType, lang) {
|
107
|
+
if (assetsType === "js") {
|
108
|
+
return ${JSON.stringify(initialJsFiles)}
|
109
|
+
}
|
110
|
+
if (assetsType === "css") {
|
111
|
+
return ${JSON.stringify(initialCssFiles)}
|
112
|
+
}
|
113
|
+
if (assetsType === "i18n") {
|
114
|
+
return ${initalI18nAssets};
|
115
|
+
}
|
116
|
+
return [];
|
117
|
+
}`).replace('((\'@dir@\'))', '\'@dir@\'').replace('((\'publicPath\'))', this.publicPath).replace('((\'@locale@\'))', '\'@locale@\'');
|
118
|
+
}
|
119
|
+
|
120
|
+
apply(compiler) {
|
121
|
+
if (!createSDkFile) {
|
122
|
+
return;
|
123
|
+
}
|
124
|
+
|
125
|
+
compiler.hooks.emit.tap('EFCTemplatePlugin', compilation => {
|
126
|
+
const {
|
127
|
+
entryPointName,
|
128
|
+
outputFile
|
129
|
+
} = this;
|
130
|
+
const entryPoint = compilation.entrypoints.get(entryPointName);
|
131
|
+
|
132
|
+
if (!entryPoint) {
|
133
|
+
return;
|
134
|
+
}
|
135
|
+
|
136
|
+
if (!(0, _fs.existsSync)(this.templateFilePath)) {
|
137
|
+
console.error(`EFC Template file not exists ${this.templateFilePath}`);
|
138
|
+
return;
|
139
|
+
}
|
140
|
+
|
141
|
+
const source = new _webpackSources.RawSource(this.templateReplacer(entryPoint, compilation));
|
142
|
+
compilation.assets[outputFile] = source; // console.log('EFCTemplatePlugin working');
|
143
|
+
// eslint-disable-next-line no-console
|
144
|
+
|
145
|
+
console.log('The EFC embedded code was created successfully..!!!');
|
146
|
+
});
|
147
|
+
}
|
148
|
+
|
149
|
+
}
|
150
|
+
|
151
|
+
exports.default = EFCTemplatePlugin;
|
@@ -3,9 +3,9 @@
|
|
3
3
|
Object.defineProperty(exports, "__esModule", {
|
4
4
|
value: true
|
5
5
|
});
|
6
|
-
exports.hasContentHash = hasContentHash;
|
7
|
-
exports.getShortI18nAssets = getShortI18nAssets;
|
8
6
|
exports.REGEXP_CONTENTHASH = void 0;
|
7
|
+
exports.getShortI18nAssets = getShortI18nAssets;
|
8
|
+
exports.hasContentHash = hasContentHash;
|
9
9
|
|
10
10
|
var _urlConcat = require("../../../utils/urlConcat");
|
11
11
|
|
@@ -3,8 +3,8 @@
|
|
3
3
|
Object.defineProperty(exports, "__esModule", {
|
4
4
|
value: true
|
5
5
|
});
|
6
|
-
exports.getPropertiesAsJSON = getPropertiesAsJSON;
|
7
6
|
exports.getAllI18n = getAllI18n;
|
7
|
+
exports.getPropertiesAsJSON = getPropertiesAsJSON;
|
8
8
|
exports.jsonToString = jsonToString;
|
9
9
|
|
10
10
|
var _fs = require("fs");
|
@@ -21,6 +21,14 @@ let filenameParser = filename => {
|
|
21
21
|
} = _path.default.parse(hashedName);
|
22
22
|
|
23
23
|
let nameparts = name.split('.');
|
24
|
+
|
25
|
+
if (ext === '.css' && /^(rtl|ltr)$/.test(nameparts[nameparts.length - 1])) {
|
26
|
+
return {
|
27
|
+
name: nameparts.slice(0, nameparts.length - 2).join('.') + ext,
|
28
|
+
hashedName
|
29
|
+
};
|
30
|
+
}
|
31
|
+
|
24
32
|
return {
|
25
33
|
name: nameparts.slice(0, nameparts.length - 1).join('.') + ext,
|
26
34
|
hashedName
|
package/lib/plugins/index.js
CHANGED
@@ -3,88 +3,82 @@
|
|
3
3
|
Object.defineProperty(exports, "__esModule", {
|
4
4
|
value: true
|
5
5
|
});
|
6
|
-
Object.defineProperty(exports, "
|
7
|
-
enumerable: true,
|
8
|
-
get: function () {
|
9
|
-
return _ModuleStatsPlugin.default;
|
10
|
-
}
|
11
|
-
});
|
12
|
-
Object.defineProperty(exports, "SourceMapHookPlugin", {
|
6
|
+
Object.defineProperty(exports, "CdnChangePlugin", {
|
13
7
|
enumerable: true,
|
14
8
|
get: function () {
|
15
|
-
return
|
9
|
+
return _CdnChangePlugin.default;
|
16
10
|
}
|
17
11
|
});
|
18
|
-
Object.defineProperty(exports, "
|
12
|
+
Object.defineProperty(exports, "CleanUpStatsPlugin", {
|
19
13
|
enumerable: true,
|
20
14
|
get: function () {
|
21
|
-
return
|
15
|
+
return _CleanupStatsPlugin.default;
|
22
16
|
}
|
23
17
|
});
|
24
|
-
Object.defineProperty(exports, "
|
18
|
+
Object.defineProperty(exports, "EFCPlugin", {
|
25
19
|
enumerable: true,
|
26
20
|
get: function () {
|
27
|
-
return
|
21
|
+
return _EFCPlugin.default;
|
28
22
|
}
|
29
23
|
});
|
30
|
-
Object.defineProperty(exports, "
|
24
|
+
Object.defineProperty(exports, "I18NInjectIntoIndexPlugin", {
|
31
25
|
enumerable: true,
|
32
26
|
get: function () {
|
33
|
-
return
|
27
|
+
return _I18NInjectIntoIndexPlugin.default;
|
34
28
|
}
|
35
29
|
});
|
36
|
-
Object.defineProperty(exports, "
|
30
|
+
Object.defineProperty(exports, "ManifestPlugin", {
|
37
31
|
enumerable: true,
|
38
32
|
get: function () {
|
39
|
-
return
|
33
|
+
return _ManifestPlugin.default;
|
40
34
|
}
|
41
35
|
});
|
42
|
-
Object.defineProperty(exports, "
|
36
|
+
Object.defineProperty(exports, "ModuleStatsPlugin", {
|
43
37
|
enumerable: true,
|
44
38
|
get: function () {
|
45
|
-
return
|
39
|
+
return _ModuleStatsPlugin.default;
|
46
40
|
}
|
47
41
|
});
|
48
|
-
Object.defineProperty(exports, "
|
42
|
+
Object.defineProperty(exports, "OptimizeJSPlugin", {
|
49
43
|
enumerable: true,
|
50
44
|
get: function () {
|
51
|
-
return
|
45
|
+
return _OptimizeJSPlugin.default;
|
52
46
|
}
|
53
47
|
});
|
54
|
-
Object.defineProperty(exports, "
|
48
|
+
Object.defineProperty(exports, "PublicPathCallbackPlugin", {
|
55
49
|
enumerable: true,
|
56
50
|
get: function () {
|
57
|
-
return
|
51
|
+
return _PublicPathCallbackPlugin.default;
|
58
52
|
}
|
59
53
|
});
|
60
|
-
Object.defineProperty(exports, "
|
54
|
+
Object.defineProperty(exports, "PublicPathChangePlugin", {
|
61
55
|
enumerable: true,
|
62
56
|
get: function () {
|
63
|
-
return
|
57
|
+
return _PublicPathChangePlugin.default;
|
64
58
|
}
|
65
59
|
});
|
66
|
-
Object.defineProperty(exports, "
|
60
|
+
Object.defineProperty(exports, "ReportGeneratePlugin", {
|
67
61
|
enumerable: true,
|
68
62
|
get: function () {
|
69
|
-
return
|
63
|
+
return _ReportGeneratePlugin.default;
|
70
64
|
}
|
71
65
|
});
|
72
|
-
Object.defineProperty(exports, "
|
66
|
+
Object.defineProperty(exports, "ResourceHintsPlugin", {
|
73
67
|
enumerable: true,
|
74
68
|
get: function () {
|
75
|
-
return
|
69
|
+
return _ResourceHintsPlugin.default;
|
76
70
|
}
|
77
71
|
});
|
78
|
-
Object.defineProperty(exports, "
|
72
|
+
Object.defineProperty(exports, "ScriptInstrumentPlugin", {
|
79
73
|
enumerable: true,
|
80
74
|
get: function () {
|
81
|
-
return
|
75
|
+
return _ScriptInstrumentPlugin.default;
|
82
76
|
}
|
83
77
|
});
|
84
|
-
Object.defineProperty(exports, "
|
78
|
+
Object.defineProperty(exports, "ServiceWorkerPlugin", {
|
85
79
|
enumerable: true,
|
86
80
|
get: function () {
|
87
|
-
return
|
81
|
+
return _ServiceWorkerPlugin.default;
|
88
82
|
}
|
89
83
|
});
|
90
84
|
Object.defineProperty(exports, "ShadowDOMSupportPlugin", {
|
@@ -93,10 +87,10 @@ Object.defineProperty(exports, "ShadowDOMSupportPlugin", {
|
|
93
87
|
return _ShadowDOMSupportPlugin.default;
|
94
88
|
}
|
95
89
|
});
|
96
|
-
Object.defineProperty(exports, "
|
90
|
+
Object.defineProperty(exports, "SourceMapHookPlugin", {
|
97
91
|
enumerable: true,
|
98
92
|
get: function () {
|
99
|
-
return
|
93
|
+
return _SourceMapHookPlugin.default;
|
100
94
|
}
|
101
95
|
});
|
102
96
|
Object.defineProperty(exports, "TPHashMappingPlugin", {
|
@@ -105,10 +99,16 @@ Object.defineProperty(exports, "TPHashMappingPlugin", {
|
|
105
99
|
return _TPHashMappingPlugin.default;
|
106
100
|
}
|
107
101
|
});
|
108
|
-
Object.defineProperty(exports, "
|
102
|
+
Object.defineProperty(exports, "UglifyCSSPlugin", {
|
109
103
|
enumerable: true,
|
110
104
|
get: function () {
|
111
|
-
return
|
105
|
+
return _UglifyCSSPlugin.default;
|
106
|
+
}
|
107
|
+
});
|
108
|
+
Object.defineProperty(exports, "UnusedFilesFindPlugin", {
|
109
|
+
enumerable: true,
|
110
|
+
get: function () {
|
111
|
+
return _UnusedFilesFindPlugin.default;
|
112
112
|
}
|
113
113
|
});
|
114
114
|
|
@@ -3,8 +3,8 @@
|
|
3
3
|
Object.defineProperty(exports, "__esModule", {
|
4
4
|
value: true
|
5
5
|
});
|
6
|
-
exports.separateSingleDir = separateSingleDir;
|
7
6
|
exports.separateRtlAndLtr = separateRtlAndLtr;
|
7
|
+
exports.separateSingleDir = separateSingleDir;
|
8
8
|
|
9
9
|
var postcss = _interopRequireWildcard(require("postcss"));
|
10
10
|
|
package/lib/schemas/index.js
CHANGED
@@ -18,6 +18,12 @@ var _default = {
|
|
18
18
|
value: null,
|
19
19
|
cli: 'ssl_cert_url'
|
20
20
|
},
|
21
|
+
preprocessor: {
|
22
|
+
runner: {
|
23
|
+
value: '',
|
24
|
+
cli: 'preprocessor'
|
25
|
+
}
|
26
|
+
},
|
21
27
|
i18n: {
|
22
28
|
chunkSplitEnable: {
|
23
29
|
value: false,
|
@@ -42,11 +48,14 @@ var _default = {
|
|
42
48
|
nameScope: 'ZOHODESK',
|
43
49
|
version: 'default',
|
44
50
|
outputFile: 'zohodesk-efc-sdk-[version].js',
|
51
|
+
templateFilePath: '',
|
45
52
|
localeAttr: 'data-efc-locale',
|
46
53
|
localeDefaultValue: 'en_US',
|
47
54
|
localeStatement: null,
|
48
55
|
cssDirAttr: 'data-efc-dir',
|
49
56
|
cssDirDefaultValue: 'ltr',
|
57
|
+
cdnStatement: '',
|
58
|
+
// cdnStatement: "new URL(document.querySelector(\"script[src*='zohodesk-efc-sdk']\").src).origin",
|
50
59
|
cssDirStatement: null
|
51
60
|
},
|
52
61
|
app: {
|
@@ -3,7 +3,7 @@
|
|
3
3
|
Object.defineProperty(exports, "__esModule", {
|
4
4
|
value: true
|
5
5
|
});
|
6
|
-
exports.
|
6
|
+
exports.htmlTemplate = exports.endTag = void 0;
|
7
7
|
const htmlTemplate = '<!DOCTYPE html><html> <head> <title>Eslint Security Rule</title> <style type="text/css"> body{margin: 0; font: 93.75%/1.6 -apple-system, BlinkMacSystemFont, Segoe UI, Roboto, Helvetica, Arial, sans-serif;}body, html{width: 100%; height: 100%;}.pkCont{}.pkEmpty{height: 300px;display: flex;align-items: center;justify-content: center;font-size: 20px;}.pkUl{margin: 0; padding: 0; list-style-type: none;}.pkLi{}.pkRow{display: flex; padding: 12px 16px;}.pkArrowCont{cursor: pointer; width: 50px; display: flex; align-items: center; justify-content: center; background-color: #f4f5f5; border-radius: 4px;}.pkArrow{width: 1px; height: 1px; border: 5px solid; border-color: #000 transparent transparent; margin-top: 7px;}.pkDetailsOpen .pkArrow{margin: 0 0 7px; border-color: transparent transparent #000;}.pkFileName{font-weight: 600; margin: 0 8px;}.pkUrl{flex: 1; min-width: 0; min-height: 0; word-break: break-word; word-wrap: break-word; color: blue;}.pkDetails{margin-left: 66px; display: none;}.pkDetailsOpen .pkDetails{display: block;}.pkDetailsHead{font-weight: 600; display: flex; border: 1px solid #e5e5e5; padding: 3px 8px;}.pkDetailsBody{max-height: 400px; overflow: auto;}.pkDetailsRow{display: flex; padding: 10px 8px;}.pkDetailsRow:nth-child(even){background-color: #f4f5f5;}.pkDetailsCol{word-break: break-word; word-wrap: break-word;}.pkError{color: red;}.pkDetailsCol:nth-child(1){width: 10%;}.pkDetailsCol:nth-child(2){width: 10%;}.pkDetailsCol:nth-child(3){width: 40%;}.pkDetailsCol:nth-child(4){width: 40%;}</style> <script>function toggleWrapper(element){var classArray=element.parentElement.parentElement.className; if (classArray.includes("pkDetailsOpen")){element.parentElement.parentElement.className="pkLi";}else{element.parentElement.parentElement.className="pkLi pkDetailsOpen";}}</script> </head> <body> <div class="pkCont">';
|
8
8
|
exports.htmlTemplate = htmlTemplate;
|
9
9
|
const endTag = '</div></body></html>';
|
@@ -40,6 +40,13 @@ var _default = (unique = true, {
|
|
40
40
|
filenames,
|
41
41
|
packages
|
42
42
|
}, classNamePrefix) => (context, localIdentName, localName) => {
|
43
|
+
// NOTE: in build macine we use date as folder path.
|
44
|
+
// So every time we create new build there is path will alway different
|
45
|
+
// in order to minmaze that problem we try in relative path;
|
46
|
+
// console.log('context.resourcePath', context.resourcePath, context);
|
47
|
+
// let contextResourcePath = context.resourcePath;
|
48
|
+
let relativePath = _path.default.relative(context.rootContext, context.resourcePath);
|
49
|
+
|
43
50
|
if (context.resourcePath.endsWith('.plain.css')) {
|
44
51
|
return localName;
|
45
52
|
}
|
@@ -47,7 +54,7 @@ var _default = (unique = true, {
|
|
47
54
|
|
48
55
|
|
49
56
|
if (unique) {
|
50
|
-
let h = (0, _getHash.default)(
|
57
|
+
let h = (0, _getHash.default)(`${relativePath}-${localName}`, 10);
|
51
58
|
return `${classNamePrefix}${h}`;
|
52
59
|
}
|
53
60
|
/* old production mode end*/
|
@@ -60,7 +67,7 @@ var _default = (unique = true, {
|
|
60
67
|
//let local = localName.toLowerCase()
|
61
68
|
|
62
69
|
if (isSelectorPackage(context.resourcePath, packages) || filenames.indexOf(cleanFileName) !== -1) {
|
63
|
-
let h = (0, _getHash.default)(
|
70
|
+
let h = (0, _getHash.default)(`${relativePath}-${localName}`, 10);
|
64
71
|
return `${classNamePrefix}${h}`;
|
65
72
|
}
|
66
73
|
|
@@ -3,7 +3,7 @@
|
|
3
3
|
Object.defineProperty(exports, "__esModule", {
|
4
4
|
value: true
|
5
5
|
});
|
6
|
-
exports.
|
6
|
+
exports.getUrls = exports.getFileType = exports.cssUrlReplacer = void 0;
|
7
7
|
|
8
8
|
var _fs = _interopRequireDefault(require("fs"));
|
9
9
|
|
package/lib/utils/getOptions.js
CHANGED
@@ -5,14 +5,20 @@ Object.defineProperty(exports, "__esModule", {
|
|
5
5
|
});
|
6
6
|
exports.default = void 0;
|
7
7
|
|
8
|
+
var _child_process = require("child_process");
|
9
|
+
|
8
10
|
var _fs = _interopRequireDefault(require("fs"));
|
9
11
|
|
10
12
|
var _path = _interopRequireDefault(require("path"));
|
11
13
|
|
14
|
+
var _process = require("process");
|
15
|
+
|
12
16
|
var _schemas = _interopRequireDefault(require("../schemas"));
|
13
17
|
|
14
18
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
15
19
|
|
20
|
+
let args = process.argv.slice(2);
|
21
|
+
console.log('argv', _process.argv);
|
16
22
|
const NPM_CONFIG_PREFIX = 'npm_config_'; // TODO: we have to do option parse logic little better
|
17
23
|
// if user use react-cli stritly without using npm scripts options won't work,
|
18
24
|
// So we have to write our own option parse logic or some other library
|
@@ -37,6 +43,51 @@ keysWithColon.forEach(key => {
|
|
37
43
|
processEnv[nkey] = processEnv[key];
|
38
44
|
});
|
39
45
|
|
46
|
+
function getNpmVersion() {
|
47
|
+
// require("child_process").
|
48
|
+
let vers = '6';
|
49
|
+
|
50
|
+
try {
|
51
|
+
[vers] = (0, _child_process.execSync)('npm -v').toString().trim().split('.');
|
52
|
+
} catch (error) {
|
53
|
+
console.log(error);
|
54
|
+
}
|
55
|
+
|
56
|
+
return vers;
|
57
|
+
}
|
58
|
+
|
59
|
+
function getCWD() {
|
60
|
+
// require("child_process").
|
61
|
+
let cwd = process.cwd();
|
62
|
+
|
63
|
+
try {
|
64
|
+
let ress = (0, _child_process.execSync)('npm bin').toString();
|
65
|
+
let i = ress.lastIndexOf('node_modules');
|
66
|
+
cwd = i === -1 ? cwd : ress.slice(0, ress.lastIndexOf('node_modules'));
|
67
|
+
} catch (error) {
|
68
|
+
console.log(error);
|
69
|
+
}
|
70
|
+
|
71
|
+
return cwd;
|
72
|
+
}
|
73
|
+
|
74
|
+
args.forEach(option => {
|
75
|
+
if (/^--./.test(option)) {
|
76
|
+
let equIndex = option.indexOf('='); // equIndex = equIndex === -1 ? option.length : equIndex;
|
77
|
+
|
78
|
+
let key = option.slice(2, equIndex);
|
79
|
+
let value = option.slice(equIndex + 1);
|
80
|
+
|
81
|
+
if (equIndex === -1) {
|
82
|
+
key = option.slice(2);
|
83
|
+
value = true;
|
84
|
+
}
|
85
|
+
|
86
|
+
key = key.replace(/-/g, '_').replace(/:/g, '_');
|
87
|
+
processEnv[key] = value;
|
88
|
+
}
|
89
|
+
});
|
90
|
+
|
40
91
|
let defaulter = (target, source) => {
|
41
92
|
let defaultObject = {};
|
42
93
|
Object.keys(target).forEach(key => {
|
@@ -88,6 +139,8 @@ let getOptions = () => {
|
|
88
139
|
}
|
89
140
|
|
90
141
|
let options = defaulter(_schemas.default, userSchemas || {});
|
142
|
+
options.npmVersion = getNpmVersion();
|
143
|
+
options.cwd = getCWD();
|
91
144
|
options.packageVersion = process.env.npm_package_version;
|
92
145
|
global.reactCLIOptions = options;
|
93
146
|
return options;
|
package/lib/utils/index.js
CHANGED
@@ -21,22 +21,16 @@ var _exportNames = {
|
|
21
21
|
getComponents: true,
|
22
22
|
ssTestHack: true
|
23
23
|
};
|
24
|
-
Object.defineProperty(exports, "getOptions", {
|
25
|
-
enumerable: true,
|
26
|
-
get: function () {
|
27
|
-
return _getOptions.default;
|
28
|
-
}
|
29
|
-
});
|
30
24
|
Object.defineProperty(exports, "createEventStream", {
|
31
25
|
enumerable: true,
|
32
26
|
get: function () {
|
33
27
|
return _createEventStream.default;
|
34
28
|
}
|
35
29
|
});
|
36
|
-
Object.defineProperty(exports, "
|
30
|
+
Object.defineProperty(exports, "getComponents", {
|
37
31
|
enumerable: true,
|
38
32
|
get: function () {
|
39
|
-
return
|
33
|
+
return _getComponents.default;
|
40
34
|
}
|
41
35
|
});
|
42
36
|
Object.defineProperty(exports, "getCurrentBranch", {
|
@@ -45,22 +39,23 @@ Object.defineProperty(exports, "getCurrentBranch", {
|
|
45
39
|
return _getCurrentBranch.default;
|
46
40
|
}
|
47
41
|
});
|
48
|
-
Object.defineProperty(exports, "
|
42
|
+
Object.defineProperty(exports, "getDependenciesImpactList", {
|
49
43
|
enumerable: true,
|
50
44
|
get: function () {
|
51
|
-
return
|
45
|
+
return _getDependenciesImpactList.default;
|
52
46
|
}
|
53
47
|
});
|
54
|
-
|
48
|
+
exports.getLibraryConflict = exports.getInfoFromPublicPaths = void 0;
|
49
|
+
Object.defineProperty(exports, "getOptions", {
|
55
50
|
enumerable: true,
|
56
51
|
get: function () {
|
57
|
-
return
|
52
|
+
return _getOptions.default;
|
58
53
|
}
|
59
54
|
});
|
60
|
-
Object.defineProperty(exports, "
|
55
|
+
Object.defineProperty(exports, "getServerURL", {
|
61
56
|
enumerable: true,
|
62
57
|
get: function () {
|
63
|
-
return
|
58
|
+
return _getServerURL.default;
|
64
59
|
}
|
65
60
|
});
|
66
61
|
Object.defineProperty(exports, "jsonHelper", {
|
@@ -69,16 +64,17 @@ Object.defineProperty(exports, "jsonHelper", {
|
|
69
64
|
return _jsonHelper.default;
|
70
65
|
}
|
71
66
|
});
|
72
|
-
|
67
|
+
exports.makeDir = exports.log = void 0;
|
68
|
+
Object.defineProperty(exports, "pullOrigin", {
|
73
69
|
enumerable: true,
|
74
70
|
get: function () {
|
75
|
-
return
|
71
|
+
return _pullOrigin.default;
|
76
72
|
}
|
77
73
|
});
|
78
|
-
Object.defineProperty(exports, "
|
74
|
+
Object.defineProperty(exports, "request", {
|
79
75
|
enumerable: true,
|
80
76
|
get: function () {
|
81
|
-
return
|
77
|
+
return _request.default;
|
82
78
|
}
|
83
79
|
});
|
84
80
|
Object.defineProperty(exports, "ssTestHack", {
|
@@ -87,7 +83,13 @@ Object.defineProperty(exports, "ssTestHack", {
|
|
87
83
|
return _ssTestHack.default;
|
88
84
|
}
|
89
85
|
});
|
90
|
-
|
86
|
+
Object.defineProperty(exports, "switchBranch", {
|
87
|
+
enumerable: true,
|
88
|
+
get: function () {
|
89
|
+
return _switchBranch.default;
|
90
|
+
}
|
91
|
+
});
|
92
|
+
exports.writeFile = void 0;
|
91
93
|
|
92
94
|
var _stream = require("stream");
|
93
95
|
|
package/lib/utils/jsonHelper.js
CHANGED
@@ -3,7 +3,7 @@
|
|
3
3
|
Object.defineProperty(exports, "__esModule", {
|
4
4
|
value: true
|
5
5
|
});
|
6
|
-
exports.setTestInfoStatus = exports.jsonHelper = exports.jsonConcate = exports.
|
6
|
+
exports.setTestInfoStatus = exports.jsonHelper = exports.jsonConcate = exports.getRunnerDetail = exports.fileHandler = void 0;
|
7
7
|
|
8
8
|
let fs = require('fs');
|
9
9
|
|
@@ -3,7 +3,7 @@
|
|
3
3
|
Object.defineProperty(exports, "__esModule", {
|
4
4
|
value: true
|
5
5
|
});
|
6
|
-
exports.
|
6
|
+
exports.reinstallDependencies1 = exports.reinstallDependencies = exports.collectPackageDiff = void 0;
|
7
7
|
|
8
8
|
var _fs = _interopRequireDefault(require("fs"));
|
9
9
|
|
package/package.json
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
{
|
2
2
|
"name": "@zohodesk/react-cli",
|
3
|
-
"version": "0.0.1-beta.
|
3
|
+
"version": "0.0.1-beta.161.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",
|
@@ -35,10 +35,10 @@
|
|
35
35
|
"@babel/preset-env": "7.11.0",
|
36
36
|
"@babel/preset-react": "7.10.4",
|
37
37
|
"@babel/runtime": "7.11.2",
|
38
|
-
"@zohodesk/datetimejs": "1.0.0-beta.
|
38
|
+
"@zohodesk/datetimejs": "1.0.0-beta.7",
|
39
39
|
"@zohodesk/eslint-plugin-react-performance": "1.0.3",
|
40
40
|
"@zohodesk/eslint-plugin-zsecurity": "0.0.1-beta.4",
|
41
|
-
"@zohodesk/normalizer": "1.0.
|
41
|
+
"@zohodesk/normalizer": "1.0.2",
|
42
42
|
"@zohodesk/postcss-rtl": "1.5.2",
|
43
43
|
"@zohodesk/propertytojson": "1.0.1",
|
44
44
|
"@zohodesk/screenshot-test": "0.0.1-beta.20",
|
@@ -55,6 +55,7 @@
|
|
55
55
|
"copy-webpack-plugin": "5.1.2",
|
56
56
|
"core-js": "3.6.5",
|
57
57
|
"css-loader": "4.2.1",
|
58
|
+
"debug": "4.3.3",
|
58
59
|
"escodegen": "2.0.0",
|
59
60
|
"eslint": "7.6.0",
|
60
61
|
"eslint-html-reporter": "0.7.4",
|
@@ -94,7 +95,6 @@
|
|
94
95
|
"postcss-selector-replace": "1.0.2",
|
95
96
|
"prop-types": "15.7.2",
|
96
97
|
"react": "16.13.1",
|
97
|
-
"react-dev-utils": "10.2.1",
|
98
98
|
"react-dom": "16.13.1",
|
99
99
|
"react-error-overlay": "6.0.7",
|
100
100
|
"react-redux": "7.2.1",
|
@@ -117,7 +117,7 @@
|
|
117
117
|
"url-loader": "4.1.0",
|
118
118
|
"velocity-react": "1.4.3",
|
119
119
|
"webpack": "4.44.1",
|
120
|
-
"webpack-bundle-analyzer": "
|
120
|
+
"webpack-bundle-analyzer": "4.5.0",
|
121
121
|
"webpack-cli": "3.3.12",
|
122
122
|
"webpack-core": "0.6.9",
|
123
123
|
"webpack-dev-middleware": "3.7.2",
|