@zohodesk/react-cli 0.0.1-beta.158 → 0.0.1-beta.161
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 +67 -9
- 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 +3 -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 +3 -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/index.js +21 -19
- package/lib/utils/jsonHelper.js +1 -1
- package/lib/utils/reinstallDependencies.js +1 -1
- package/package.json +5 -5
package/README.md
CHANGED
@@ -1,35 +1,93 @@
|
|
1
1
|
# React CLI
|
2
2
|
|
3
3
|
A CLI tool for build modern web application and libraries
|
4
|
+
|
5
|
+
# 0.0.1-beta.161
|
6
|
+
|
7
|
+
- **Features :-**
|
8
|
+
- feature added for efc `templateFilePath` in `paakage.json` option palce is `"react-cli" => "efc" `
|
9
|
+
- `(('publicPath'))` this placeholder will be replace as publicPath string `publicPath`
|
10
|
+
- `(('getInitalAssets'))` this placeholder will be replace as function `getInitalAssets`
|
11
|
+
- `getInitalAssets` this function has two arguments `assetsType`, `lang`
|
12
|
+
- `assetsType` are `js`, `css`, `i18n`
|
13
|
+
- `lang` this argument only works when `i18n` is `assetsType`
|
14
|
+
- feature added for efc `cdnStatement`
|
15
|
+
- **Issue fixes:-**
|
16
|
+
- css classname hash change issue fix
|
17
|
+
- debug package conflit issue fix in nock in (react-cli test)
|
18
|
+
- manifest.json css file name correction issue for rtl and ltr
|
19
|
+
|
20
|
+
# 0.0.1-exp.161.2
|
21
|
+
|
22
|
+
- Features
|
23
|
+
- feature added for efc `templateFilePath` in `paakage.json` option palce is `"react-cli" => "efc" `
|
24
|
+
- `(('publicPath'))` this placeholder will be replace as publicPath string `publicPath`
|
25
|
+
- `(('getInitalAssets'))` this placeholder will be replace as function `getInitalAssets`
|
26
|
+
- `getInitalAssets` this function has two arguments `assetsType`, `lang`
|
27
|
+
- `assetsType` are `js`, `css`, `i18n`
|
28
|
+
- `lang` this argument only works when `i18n` is `assetsType`
|
29
|
+
|
30
|
+
# 0.0.1-exp.161.1
|
31
|
+
|
32
|
+
- Features
|
33
|
+
- feature added for efc `cdnStatement`
|
34
|
+
- Issue fixes:-
|
35
|
+
- css classname hash change issue fix
|
36
|
+
- debug package conflit issue fix in nock in (react-cli test)
|
37
|
+
- manifest.json css file name correction issue for rtl and ltr
|
38
|
+
|
39
|
+
# 0.0.1-beta.160
|
40
|
+
|
41
|
+
- @zohodesk/normalizer package version updated to 1.0.2
|
42
|
+
|
43
|
+
# 0.0.1-beta.159
|
44
|
+
|
45
|
+
- @zohodesk/datetimejs package updated to beta.7
|
46
|
+
|
47
|
+
# 0.0.1-exp.159
|
48
|
+
|
49
|
+
- isse fix:-
|
50
|
+
- when rtl ltr css split enable manifest json css filename keys comes with hash .
|
51
|
+
|
4
52
|
# 0.0.1-beta.158
|
5
|
-
|
53
|
+
|
54
|
+
- Removing source map files from service worker caching.
|
55
|
+
|
6
56
|
# 0.0.1-beta.157
|
7
|
-
|
57
|
+
|
58
|
+
- Experimental version issue fix(Dummy version removed)
|
59
|
+
|
8
60
|
# 0.0.1-beta.156
|
9
|
-
|
61
|
+
|
62
|
+
- ReportPublish issue fix
|
10
63
|
|
11
64
|
# 0.0.1-beta.155
|
12
|
-
|
65
|
+
|
66
|
+
- get impacted library source files option added
|
13
67
|
|
14
68
|
# 0.0.1-beta.154
|
15
|
-
|
16
|
-
|
17
|
-
|
69
|
+
|
70
|
+
- mockPrefix option for mock url prefix change
|
71
|
+
- Issue fix:-
|
72
|
+
- un wanted {{--js-smap}} in inital html without enable smap in build
|
18
73
|
|
19
74
|
# 0.0.1-beta.153
|
75
|
+
|
20
76
|
- Vendor include array added
|
21
77
|
- If you need to include any thrid party js in vendor we can use this array
|
22
78
|
|
23
79
|
# 0.0.1-beta.152
|
80
|
+
|
24
81
|
impact servise related changes:-
|
82
|
+
|
25
83
|
- nowatchstart option added. will be used like `react-cli nowatchstart <...options>` this will be used for src file changes no need to reflect (or no need to rebulid on file changes)
|
26
84
|
- cssselector_zip option added. will be used like `--cssselector-zip=selectormapping.zip`
|
27
85
|
only work in two ways
|
28
86
|
1. `react-cli start --disable-watch --cssselector-zip=selectormapping.zip` app start command with `--disable-watch` flag and your usaul options
|
29
87
|
2. `react-cli nowatchstart --cssselector-zip=selectormapping.zip` app start command's usaul options
|
30
88
|
#### Urls are:-
|
31
|
-
Below express path are added, For download zip files and
|
32
|
-
- `/zips/${zipname}.zip`
|
89
|
+
Below express path are added, For download zip files and
|
90
|
+
- `/zips/${zipname}.zip` for css selector maps zip file (contains css_map filies and original css files)
|
33
91
|
- `/zips/build.zip` build zip file (contains bundled all files)
|
34
92
|
|
35
93
|
# 0.0.1-beta.151
|
package/eslint/NOTES.md
ADDED
@@ -0,0 +1,18 @@
|
|
1
|
+
<!DOCTYPE html>
|
2
|
+
<html lang="en">
|
3
|
+
<head>
|
4
|
+
<meta charset="UTF-8" />
|
5
|
+
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
|
6
|
+
<title>mock api</title>
|
7
|
+
</head>
|
8
|
+
<body>
|
9
|
+
<h1>We are going to see how to use mock api</h1>
|
10
|
+
<ul>
|
11
|
+
<li>
|
12
|
+
Step 1:-
|
13
|
+
you need to start the app with "react-cli"."app"."server"."hasMock" as "true" in package.json
|
14
|
+
<code>npm run start --app-port=9090</code>
|
15
|
+
</li>
|
16
|
+
</ul>
|
17
|
+
</body>
|
18
|
+
</html>
|
@@ -0,0 +1,5 @@
|
|
1
|
+
# We are going to see how to use `Mock api`
|
2
|
+
|
3
|
+
- Step 1:-
|
4
|
+
you need to start the app with **"react-cli"."app"."server"."hasMock"** as `true` and **"react-cli"."app"."server"."hasMock"** as `true` in package.json <code>npm run start --app-port=9090</code>
|
5
|
+
- Step 2:- you need to start the app with **"react-cli"."app"."server"."hasMock"** as `true` in package.json <code>npm run start --app-port=9090</code>
|
package/lib/common/index.js
CHANGED
@@ -3,12 +3,6 @@
|
|
3
3
|
Object.defineProperty(exports, "__esModule", {
|
4
4
|
value: true
|
5
5
|
});
|
6
|
-
Object.defineProperty(exports, "splitChunks", {
|
7
|
-
enumerable: true,
|
8
|
-
get: function () {
|
9
|
-
return _splitChunks.default;
|
10
|
-
}
|
11
|
-
});
|
12
6
|
Object.defineProperty(exports, "getEntries", {
|
13
7
|
enumerable: true,
|
14
8
|
get: function () {
|
@@ -21,6 +15,12 @@ Object.defineProperty(exports, "getPublicPathConfig", {
|
|
21
15
|
return _getPublicPathConfig.default;
|
22
16
|
}
|
23
17
|
});
|
18
|
+
Object.defineProperty(exports, "splitChunks", {
|
19
|
+
enumerable: true,
|
20
|
+
get: function () {
|
21
|
+
return _splitChunks.default;
|
22
|
+
}
|
23
|
+
});
|
24
24
|
Object.defineProperty(exports, "templateParameters", {
|
25
25
|
enumerable: true,
|
26
26
|
get: function () {
|
@@ -2,9 +2,17 @@
|
|
2
2
|
|
3
3
|
var _path = _interopRequireDefault(require("path"));
|
4
4
|
|
5
|
+
var _libAlias = require("./libAlias");
|
6
|
+
|
5
7
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
6
8
|
|
7
|
-
let appPath = process.cwd();
|
9
|
+
let appPath = process.cwd(); // '^@root(.*)$': '<rootDir>/src$1',
|
10
|
+
// '^@components(.*)$': '<rootDir>/src/components$1',
|
11
|
+
|
12
|
+
let moduleNameMapper = Object.keys(_libAlias.libAlias).reduce((previousValue, key) => {
|
13
|
+
previousValue[`^${key}(.*)$`] = `${moduleNameMapper[key]}$1`;
|
14
|
+
return previousValue;
|
15
|
+
}, {});
|
8
16
|
let commonConfig = {
|
9
17
|
coverageReporters: ['json', 'html', 'json-summary', 'text'],
|
10
18
|
collectCoverage: true,
|
@@ -14,10 +22,11 @@ let commonConfig = {
|
|
14
22
|
'^.+\\.css$': _path.default.resolve(__dirname, '..', 'jest', 'preProcessors', 'cssPreprocessor.js'),
|
15
23
|
'^(?!.*\\.(js|jsx|css|json)$)': _path.default.resolve(__dirname, '..', 'jest', 'preProcessors', 'otherFilesPreprocessor.js')
|
16
24
|
},
|
17
|
-
moduleNameMapper: {
|
25
|
+
moduleNameMapper: { ...moduleNameMapper,
|
18
26
|
'\\.(css|less)$': 'identity-obj-proxy'
|
19
27
|
},
|
20
|
-
transformIgnorePatterns: ['/node_modules
|
28
|
+
transformIgnorePatterns: ['/node_modules/(?!(@zohodesk)/)'],
|
29
|
+
// transformIgnorePatterns: ['/node_modules.*?.js$'],
|
21
30
|
moduleFileExtensions: ['js'],
|
22
31
|
setupFiles: [_path.default.resolve(appPath, '__testUtils__', 'globals.js'), _path.default.resolve(__dirname, '..', 'jest', 'setup.js')],
|
23
32
|
globals: {
|
@@ -0,0 +1,31 @@
|
|
1
|
+
"use strict";
|
2
|
+
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
4
|
+
value: true
|
5
|
+
});
|
6
|
+
exports.libAlias = void 0;
|
7
|
+
// the reason for alias at the time was code tree shaking
|
8
|
+
// tree shaking was most compactable with ES module system
|
9
|
+
// FIXME: But there is a posiblity when these package does not have lib,
|
10
|
+
// app will work because of alias, But may be jest won't work because of not alais
|
11
|
+
// So need to think about use alais in jest
|
12
|
+
const libAlias = {
|
13
|
+
'@zohodesk/components/lib': '@zohodesk/components/es',
|
14
|
+
// '@zohodesk/zc-custom/lib': '@zohodesk/zc-custom/es',
|
15
|
+
'@zohodesk/dot/lib': '@zohodesk/dot/es',
|
16
|
+
'@zohodesk/i18n/lib': '@zohodesk/i18n/es',
|
17
|
+
'@zohodesk/icons/lib': '@zohodesk/icons/es',
|
18
|
+
'@zohodesk/normalizer/lib': '@zohodesk/normalizer/es',
|
19
|
+
'@zohodesk/perf-components/lib': '@zohodesk/perf-components/es',
|
20
|
+
'@zohodesk/perf-middleware/lib': '@zohodesk/perf-middleware/es',
|
21
|
+
'@zohodesk/permissions/lib': '@zohodesk/permissions/es',
|
22
|
+
'@zohodesk/platform-middleware/lib': '@zohodesk/platform-middleware/es',
|
23
|
+
'@zohodesk/react-dnd/lib': '@zohodesk/react-dnd/es',
|
24
|
+
'@zohodesk/router-middleware/lib': '@zohodesk/router-middleware/es',
|
25
|
+
'@zohodesk/storage/lib': '@zohodesk/storage/es',
|
26
|
+
'@zohodesk/svg/lib': '@zohodesk/svg/es',
|
27
|
+
'@zohodesk/timetracker/lib': '@zohodesk/timetracker/es',
|
28
|
+
'@zohodesk/variables/lib': '@zohodesk/variables/es',
|
29
|
+
'@zohodesk/virtualizer/lib': '@zohodesk/virtualizer/es'
|
30
|
+
};
|
31
|
+
exports.libAlias = libAlias;
|
@@ -10,6 +10,8 @@ var _pluginUtils = require("../pluginUtils");
|
|
10
10
|
|
11
11
|
var _loaderUtils = require("../loaderUtils");
|
12
12
|
|
13
|
+
var _libAlias = require("./libAlias");
|
14
|
+
|
13
15
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
14
16
|
|
15
17
|
let options = (0, _utils.getOptions)();
|
@@ -127,25 +129,7 @@ module.exports = {
|
|
127
129
|
},
|
128
130
|
resolve: {
|
129
131
|
modules: [_path.default.resolve(__dirname, '..', '..', 'node_modules'), 'node_modules'],
|
130
|
-
alias: disableES5Transpile ? {
|
131
|
-
'@zohodesk/components/lib': '@zohodesk/components/es',
|
132
|
-
// "@zohodesk/zc-custom/lib": "@zohodesk/zc-custom/es",
|
133
|
-
'@zohodesk/dot/lib': '@zohodesk/dot/es',
|
134
|
-
'@zohodesk/i18n/lib': '@zohodesk/i18n/es',
|
135
|
-
'@zohodesk/icons/lib': '@zohodesk/icons/es',
|
136
|
-
'@zohodesk/normalizer/lib': '@zohodesk/normalizer/es',
|
137
|
-
'@zohodesk/perf-components/lib': '@zohodesk/perf-components/es',
|
138
|
-
'@zohodesk/perf-middleware/lib': '@zohodesk/perf-middleware/es',
|
139
|
-
'@zohodesk/permissions/lib': '@zohodesk/permissions/es',
|
140
|
-
'@zohodesk/platform-middleware/lib': '@zohodesk/platform-middleware/es',
|
141
|
-
'@zohodesk/react-dnd/lib': '@zohodesk/react-dnd/es',
|
142
|
-
'@zohodesk/router-middleware/lib': '@zohodesk/router-middleware/es',
|
143
|
-
'@zohodesk/storage/lib': '@zohodesk/storage/es',
|
144
|
-
'@zohodesk/svg/lib': '@zohodesk/svg/es',
|
145
|
-
'@zohodesk/timetracker/lib': '@zohodesk/timetracker/es',
|
146
|
-
'@zohodesk/variables/lib': '@zohodesk/variables/es',
|
147
|
-
'@zohodesk/virtualizer/lib': '@zohodesk/virtualizer/es'
|
148
|
-
} : {}
|
132
|
+
alias: disableES5Transpile ? _libAlias.libAlias : {}
|
149
133
|
},
|
150
134
|
resolveLoader: {
|
151
135
|
modules: [_path.default.resolve(__dirname, '..', '..', 'node_modules'), 'node_modules']
|
@@ -10,6 +10,8 @@ var _pluginUtils = require("../pluginUtils");
|
|
10
10
|
|
11
11
|
var _loaderUtils = require("../loaderUtils");
|
12
12
|
|
13
|
+
var _libAlias = require("./libAlias");
|
14
|
+
|
13
15
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
14
16
|
|
15
17
|
let options = (0, _utils.getOptions)();
|
@@ -194,25 +196,7 @@ module.exports = {
|
|
194
196
|
},
|
195
197
|
resolve: {
|
196
198
|
modules: [_path.default.resolve(__dirname, '..', '..', 'node_modules'), 'node_modules'],
|
197
|
-
alias: disableES5Transpile ? {
|
198
|
-
'@zohodesk/components/lib': '@zohodesk/components/es',
|
199
|
-
// '@zohodesk/zc-custom/lib': '@zohodesk/zc-custom/es',
|
200
|
-
'@zohodesk/dot/lib': '@zohodesk/dot/es',
|
201
|
-
'@zohodesk/i18n/lib': '@zohodesk/i18n/es',
|
202
|
-
'@zohodesk/icons/lib': '@zohodesk/icons/es',
|
203
|
-
'@zohodesk/normalizer/lib': '@zohodesk/normalizer/es',
|
204
|
-
'@zohodesk/perf-components/lib': '@zohodesk/perf-components/es',
|
205
|
-
'@zohodesk/perf-middleware/lib': '@zohodesk/perf-middleware/es',
|
206
|
-
'@zohodesk/permissions/lib': '@zohodesk/permissions/es',
|
207
|
-
'@zohodesk/platform-middleware/lib': '@zohodesk/platform-middleware/es',
|
208
|
-
'@zohodesk/react-dnd/lib': '@zohodesk/react-dnd/es',
|
209
|
-
'@zohodesk/router-middleware/lib': '@zohodesk/router-middleware/es',
|
210
|
-
'@zohodesk/storage/lib': '@zohodesk/storage/es',
|
211
|
-
'@zohodesk/svg/lib': '@zohodesk/svg/es',
|
212
|
-
'@zohodesk/timetracker/lib': '@zohodesk/timetracker/es',
|
213
|
-
'@zohodesk/variables/lib': '@zohodesk/variables/es',
|
214
|
-
'@zohodesk/virtualizer/lib': '@zohodesk/virtualizer/es'
|
215
|
-
} : {}
|
199
|
+
alias: disableES5Transpile ? _libAlias.libAlias : {}
|
216
200
|
},
|
217
201
|
resolveLoader: {
|
218
202
|
modules: [_path.default.resolve(__dirname, '..', '..', 'node_modules'), 'node_modules']
|
package/lib/loaderUtils/index.js
CHANGED
@@ -3,16 +3,16 @@
|
|
3
3
|
Object.defineProperty(exports, "__esModule", {
|
4
4
|
value: true
|
5
5
|
});
|
6
|
-
Object.defineProperty(exports, "
|
6
|
+
Object.defineProperty(exports, "getCSSLoaders", {
|
7
7
|
enumerable: true,
|
8
8
|
get: function () {
|
9
|
-
return
|
9
|
+
return _getCSSLoaders.default;
|
10
10
|
}
|
11
11
|
});
|
12
|
-
Object.defineProperty(exports, "
|
12
|
+
Object.defineProperty(exports, "getDevJsLoaders", {
|
13
13
|
enumerable: true,
|
14
14
|
get: function () {
|
15
|
-
return
|
15
|
+
return _getDevJsLoaders.default;
|
16
16
|
}
|
17
17
|
});
|
18
18
|
|
@@ -55,6 +55,7 @@ let getDevPlugins = (options, publicPath) => {
|
|
55
55
|
},
|
56
56
|
efc: {
|
57
57
|
hasEFC: newOptionForEnableEFC,
|
58
|
+
templateFilePath,
|
58
59
|
nameScope: efcNameSpace,
|
59
60
|
localeAttr: efcLocaleAttr
|
60
61
|
},
|
@@ -162,6 +163,7 @@ let getDevPlugins = (options, publicPath) => {
|
|
162
163
|
plugins.push(new _plugins.EFCPlugin({
|
163
164
|
isDevelopment: true,
|
164
165
|
i18nManifestFileName,
|
166
|
+
templateFilePath,
|
165
167
|
i18nFileNameTemplate,
|
166
168
|
serverUrl: publicPath,
|
167
169
|
entryPointName: 'efc',
|
@@ -72,6 +72,7 @@ let getProdPlugins = (options, publicPath = '') => {
|
|
72
72
|
const {
|
73
73
|
hasEFC: newOptionForEnableEFC,
|
74
74
|
nameScope: efcNameSpace,
|
75
|
+
templateFilePath,
|
75
76
|
localeAttr: efcLocaleAttr
|
76
77
|
} = options.efc;
|
77
78
|
const hasEFC = newOptionForEnableEFC || prevOptionForEnableEFC;
|
@@ -166,6 +167,7 @@ let getProdPlugins = (options, publicPath = '') => {
|
|
166
167
|
isDevelopment,
|
167
168
|
serverUrl: publicPath,
|
168
169
|
i18nFileNameTemplate,
|
170
|
+
templateFilePath,
|
169
171
|
i18nManifestFileName,
|
170
172
|
entryPointName: 'efc',
|
171
173
|
// outputFile: 'zohodesk-efc-sdk-latest.js',
|
package/lib/pluginUtils/index.js
CHANGED
@@ -9,34 +9,28 @@ Object.defineProperty(exports, "getDevPlugins", {
|
|
9
9
|
return _getDevPlugins.default;
|
10
10
|
}
|
11
11
|
});
|
12
|
-
Object.defineProperty(exports, "getProdPlugins", {
|
13
|
-
enumerable: true,
|
14
|
-
get: function () {
|
15
|
-
return _getProdPlugins.default;
|
16
|
-
}
|
17
|
-
});
|
18
12
|
Object.defineProperty(exports, "getDocsPlugins", {
|
19
13
|
enumerable: true,
|
20
14
|
get: function () {
|
21
15
|
return _getDocsPlugins.default;
|
22
16
|
}
|
23
17
|
});
|
24
|
-
Object.defineProperty(exports, "
|
18
|
+
Object.defineProperty(exports, "getLibraryPlugins", {
|
25
19
|
enumerable: true,
|
26
20
|
get: function () {
|
27
|
-
return
|
21
|
+
return _getLibraryPlugins.default;
|
28
22
|
}
|
29
23
|
});
|
30
|
-
Object.defineProperty(exports, "
|
24
|
+
Object.defineProperty(exports, "getProdPlugins", {
|
31
25
|
enumerable: true,
|
32
26
|
get: function () {
|
33
|
-
return
|
27
|
+
return _getProdPlugins.default;
|
34
28
|
}
|
35
29
|
});
|
36
|
-
Object.defineProperty(exports, "
|
30
|
+
Object.defineProperty(exports, "getServerPlugins", {
|
37
31
|
enumerable: true,
|
38
32
|
get: function () {
|
39
|
-
return
|
33
|
+
return _getServerPlugins.default;
|
40
34
|
}
|
41
35
|
});
|
42
36
|
Object.defineProperty(exports, "getUMDCSSPlugins", {
|
@@ -45,6 +39,12 @@ Object.defineProperty(exports, "getUMDCSSPlugins", {
|
|
45
39
|
return _getUMDCSSPlugins.default;
|
46
40
|
}
|
47
41
|
});
|
42
|
+
Object.defineProperty(exports, "getUMDComponentPlugins", {
|
43
|
+
enumerable: true,
|
44
|
+
get: function () {
|
45
|
+
return _getUMDComponentPlugins.default;
|
46
|
+
}
|
47
|
+
});
|
48
48
|
|
49
49
|
var _getDevPlugins = _interopRequireDefault(require("./getDevPlugins"));
|
50
50
|
|
package/lib/plugins/EFCPlugin.js
CHANGED
@@ -17,6 +17,8 @@ var _I18nKeysIdentifer = _interopRequireDefault(require("./I18nSplitPlugin/I18nK
|
|
17
17
|
|
18
18
|
var _replaceCssDirTemplate = require("./RtlSplitPlugin/replaceCssDirTemplate");
|
19
19
|
|
20
|
+
var _EFCTemplatePlugin = _interopRequireDefault(require("./EFCTemplatePlugin"));
|
21
|
+
|
20
22
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
21
23
|
|
22
24
|
// import { getShortI18nAssets } from './I18nSplitPlugin/utils/hashUtils';
|
@@ -34,17 +36,19 @@ const {
|
|
34
36
|
efc: efcOptios
|
35
37
|
} = cliOptions;
|
36
38
|
const {
|
37
|
-
createSDkFile
|
39
|
+
createSDkFile,
|
40
|
+
cdnStatement
|
38
41
|
} = efcOptios;
|
39
42
|
|
40
43
|
class EFCPlugin {
|
41
44
|
constructor(options = {}) {
|
42
45
|
this.isDevelopment = options.isDevelopment;
|
46
|
+
this.templateFilePath = options.templateFilePath;
|
43
47
|
this.serverUrl = options.serverUrl;
|
44
48
|
this.i18nFileNameTemplate = options.i18nFileNameTemplate; // NOTE: this logic may be needed for i18n splited file name with contenthash cases
|
45
49
|
// this.i18nManifestFileName = options.i18nManifestFileName;
|
46
50
|
// IMPORTANT: here we mergeing optionds from pacakge.json and options via constructor
|
47
|
-
// So when debugging consider this as well
|
51
|
+
// So when debugging consider this as well
|
48
52
|
|
49
53
|
this.options = Object.assign({}, efcOptios, options);
|
50
54
|
this.options.entryPointName = options.entryPointName || 'efc';
|
@@ -125,20 +129,35 @@ class EFCPlugin {
|
|
125
129
|
${enableRTLSplit ? `const cssDir = ${cssDirStatement};` : ''}
|
126
130
|
const prod = !${this.isDevelopment};
|
127
131
|
let cdnVariableName = "${cdnVariableName}";
|
128
|
-
|
129
|
-
|
130
|
-
|
131
|
-
|
132
|
-
|
133
|
-
|
132
|
+
|
133
|
+
function getAssetUrl(ext) {
|
134
|
+
${cdnStatement ? `
|
135
|
+
return (() => {
|
136
|
+
let fu = (${cdnStatement});
|
137
|
+
return typeof fu === "function" ? fu(ext) : fu;
|
138
|
+
})();` : ''}
|
139
|
+
|
140
|
+
${publicPaths.callback ? `return (${publicPaths.callback})(ext)` : ''}
|
141
|
+
|
142
|
+
let assetURLs = {
|
143
|
+
//hook
|
144
|
+
js: ${JSON.stringify(jsPath || serverUrl)},
|
145
|
+
css: ${JSON.stringify(cssPath || serverUrl)},
|
146
|
+
i18n: ${JSON.stringify(i18nJsPath || serverUrl)}
|
147
|
+
};
|
148
|
+
|
149
|
+
return assetURLs[ext];
|
150
|
+
|
151
|
+
}
|
152
|
+
|
134
153
|
|
135
154
|
window.desk_urls={}
|
136
|
-
window.desk_urls.staticDomain = 'https:' +
|
155
|
+
window.desk_urls.staticDomain = 'https:' + getAssetUrl('js') + '/';
|
137
156
|
if (prod && cdnVariableName) {
|
138
|
-
window["${cdnVariableName}"] = 'https:' +
|
157
|
+
window["${cdnVariableName}"] = 'https:' + getAssetUrl('css') + '/';
|
139
158
|
}
|
140
159
|
|
141
|
-
let initalI18nAssets = ${initalI18nAssets}
|
160
|
+
let initalI18nAssets = ${initalI18nAssets};
|
142
161
|
let initialAssets = initalI18nAssets.concat(${JSON.stringify(enableRTLSplit ? filteredInitialFiles.map(filePath => (0, _replaceCssDirTemplate.replaceCssDirTemplate)(filePath, cssDirTemplate)) : filteredInitialFiles)});
|
143
162
|
|
144
163
|
let loadAsset = (id, type, url) => {
|
@@ -150,12 +169,12 @@ class EFCPlugin {
|
|
150
169
|
switch(type) {
|
151
170
|
case 'script':
|
152
171
|
case 'i18n':
|
153
|
-
el.src = (type === 'i18n'?
|
172
|
+
el.src = (type === 'i18n'? getAssetUrl('i18n') : getAssetUrl('js'))+'/'+url
|
154
173
|
el.defer = 'defer';
|
155
174
|
document.body.appendChild(el);
|
156
175
|
break;
|
157
176
|
case 'link':
|
158
|
-
el.href =
|
177
|
+
el.href = getAssetUrl('css')+'/'+url${enableRTLSplit ? `.replace(${JSON.stringify(cssDirTemplate)}, cssDir)` : ''}
|
159
178
|
el.rel = 'stylesheet';
|
160
179
|
document.head.appendChild(el);
|
161
180
|
break;
|
@@ -186,6 +205,17 @@ class EFCPlugin {
|
|
186
205
|
apply(compiler) {
|
187
206
|
if (!createSDkFile) {
|
188
207
|
return;
|
208
|
+
} //console.log('this.templateFilePath', this.templateFilePath, this.options);
|
209
|
+
|
210
|
+
|
211
|
+
if (this.templateFilePath) {
|
212
|
+
new _EFCTemplatePlugin.default({
|
213
|
+
templateFilePath: this.templateFilePath,
|
214
|
+
publicPath: this.serverUrl,
|
215
|
+
i18nFileNameTemplate: this.i18nFileNameTemplate,
|
216
|
+
entryPointName: this.options.entryPointName
|
217
|
+
}).apply(compiler);
|
218
|
+
return;
|
189
219
|
}
|
190
220
|
|
191
221
|
compiler.hooks.emit.tap('EFCPlugin', compilation => {
|
@@ -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
@@ -42,11 +42,14 @@ var _default = {
|
|
42
42
|
nameScope: 'ZOHODESK',
|
43
43
|
version: 'default',
|
44
44
|
outputFile: 'zohodesk-efc-sdk-[version].js',
|
45
|
+
templateFilePath: '',
|
45
46
|
localeAttr: 'data-efc-locale',
|
46
47
|
localeDefaultValue: 'en_US',
|
47
48
|
localeStatement: null,
|
48
49
|
cssDirAttr: 'data-efc-dir',
|
49
50
|
cssDirDefaultValue: 'ltr',
|
51
|
+
cdnStatement: '',
|
52
|
+
// cdnStatement: "new URL(document.querySelector(\"script[src*='zohodesk-efc-sdk']\").src).origin",
|
50
53
|
cssDirStatement: null
|
51
54
|
},
|
52
55
|
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/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",
|
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",
|