@zohodesk/react-cli 0.0.1-beta.99 → 0.0.1-betaa.138.2

Sign up to get free protection for your applications and to get access to all the features.
Files changed (202) hide show
  1. package/.eslintignore +7 -7
  2. package/.eslintrc.js +183 -183
  3. package/CHANGELOG.md +5 -0
  4. package/README.md +636 -491
  5. package/bin/cli.js +372 -367
  6. package/files/eslintrc.js +57 -0
  7. package/files/prettierrc.js +3 -0
  8. package/lib/babel/cmjs-plugins-presets.js +16 -9
  9. package/lib/babel/es-plugins-presets.js +26 -14
  10. package/lib/common/getEntries.js +31 -22
  11. package/lib/common/getPublicPathConfig.js +27 -13
  12. package/lib/common/index.js +21 -25
  13. package/lib/common/splitChunks.js +62 -53
  14. package/lib/common/templateParameters.js +10 -8
  15. package/lib/configs/jest.config.js +15 -25
  16. package/lib/configs/webpack.component.umd.config.js +31 -37
  17. package/lib/configs/webpack.css.umd.config.js +44 -47
  18. package/lib/configs/webpack.dev.config.js +70 -52
  19. package/lib/configs/webpack.docs.config.js +106 -106
  20. package/lib/configs/webpack.prod.config.js +95 -75
  21. package/lib/hooks/docsProptypeHook.js +32 -38
  22. package/lib/jest/commitedFilesResult.js +103 -74
  23. package/lib/jest/coverageCollector.js +41 -21
  24. package/lib/jest/jsonMaker.js +15 -16
  25. package/lib/jest/preProcessors/cssPreprocessor.js +16 -18
  26. package/lib/jest/preProcessors/jsPreprocessor.js +3 -5
  27. package/lib/jest/preProcessors/otherFilesPreprocessor.js +5 -6
  28. package/lib/jest/result.js +90 -45
  29. package/lib/jest/run.js +43 -43
  30. package/lib/jest/setup.js +102 -95
  31. package/lib/loaderUtils/getCSSLoaders.js +21 -22
  32. package/lib/loaderUtils/getDevJsLoaders.js +25 -23
  33. package/lib/loaderUtils/index.js +11 -13
  34. package/lib/loaders/docsLoader.js +15 -15
  35. package/lib/loaders/docsPropsLoader.js +14 -17
  36. package/lib/loaders/fileLoader.js +33 -35
  37. package/lib/loaders/scriptInstrumentLoader.js +21 -20
  38. package/lib/loaders/workerLoader.js +136 -0
  39. package/lib/middlewares/HMRMiddleware.js +54 -45
  40. package/lib/middlewares/SSTMiddleware.js +8 -5
  41. package/lib/pluginUtils/getDevPlugins.js +114 -52
  42. package/lib/pluginUtils/getDocsPlugins.js +25 -29
  43. package/lib/pluginUtils/getLibraryPlugins.js +8 -10
  44. package/lib/pluginUtils/getProdPlugins.js +163 -74
  45. package/lib/pluginUtils/getServerPlugins.js +8 -11
  46. package/lib/pluginUtils/getUMDCSSPlugins.js +11 -15
  47. package/lib/pluginUtils/getUMDComponentPlugins.js +11 -15
  48. package/lib/pluginUtils/index.js +36 -43
  49. package/lib/plugins/CdnChangePlugin.js +63 -0
  50. package/lib/plugins/CleanupStatsPlugin.js +18 -32
  51. package/lib/plugins/CustomAttributePlugin.js +79 -0
  52. package/lib/plugins/CustomAttributePlugin.md +35 -0
  53. package/lib/plugins/EFCPlugin.js +185 -0
  54. package/lib/plugins/I18NInjectIntoIndexPlugin.js +118 -52
  55. package/lib/plugins/I18nSplitPlugin/I18nDebugPlugin.js +60 -0
  56. package/lib/plugins/I18nSplitPlugin/I18nDependency.js +44 -0
  57. package/lib/plugins/I18nSplitPlugin/I18nDownlodLogic.js +266 -0
  58. package/lib/plugins/I18nSplitPlugin/I18nFilesEmitter.js +183 -0
  59. package/lib/plugins/I18nSplitPlugin/I18nKeysIdentifer.js +100 -0
  60. package/lib/plugins/I18nSplitPlugin/I18nSplit.md +86 -0
  61. package/lib/plugins/I18nSplitPlugin/README.md +25 -0
  62. package/lib/plugins/I18nSplitPlugin/index.js +185 -0
  63. package/lib/plugins/I18nSplitPlugin/utils/collectI18nKeys.js +64 -0
  64. package/lib/plugins/I18nSplitPlugin/utils/getI18nFileUrlPathTemplate.js +13 -0
  65. package/lib/plugins/I18nSplitPlugin/utils/getI18nKeysFormModules.js +26 -0
  66. package/lib/plugins/I18nSplitPlugin/utils/hashUtils.js +40 -0
  67. package/lib/plugins/I18nSplitPlugin/utils/index.js +31 -0
  68. package/lib/plugins/I18nSplitPlugin/utils/propertiesUtils.js +112 -0
  69. package/lib/plugins/ManifestPlugin.js +52 -63
  70. package/lib/plugins/ModuleStatsPlugin.js +83 -173
  71. package/lib/plugins/OptimizeJSPlugin.js +24 -41
  72. package/lib/plugins/PublicPathCallbackPlugin.js +42 -116
  73. package/lib/plugins/PublicPathChangePlugin.js +175 -284
  74. package/lib/plugins/ReportGeneratePlugin.js +150 -151
  75. package/lib/plugins/ResourceHintsPlugin.js +53 -35
  76. package/lib/plugins/ScriptInstrumentPlugin.js +22 -37
  77. package/lib/plugins/ServiceWorkerPlugin.js +81 -57
  78. package/lib/plugins/ShadowDOMSupportPlugin.js +153 -234
  79. package/lib/plugins/SourceMapHookPlugin.js +21 -33
  80. package/lib/plugins/TPHashMappingPlugin.js +67 -0
  81. package/lib/plugins/UglifyCSSPlugin.js +23 -30
  82. package/lib/plugins/UnusedFilesFindPlugin.js +137 -152
  83. package/lib/plugins/index.js +100 -91
  84. package/lib/plugins/webpackwatchrunplugin.js +18 -30
  85. package/lib/postcss-plugins/ExcludeRTLPlugin.js +14 -17
  86. package/lib/schemas/index.js +336 -81
  87. package/lib/servers/clusterHubServer.js +22 -26
  88. package/lib/servers/docsServer.js +3 -5
  89. package/lib/servers/docsServerCore.js +84 -91
  90. package/lib/servers/helpServer.js +19 -21
  91. package/lib/servers/impactServer.js +99 -92
  92. package/lib/servers/mockserver.js +24 -24
  93. package/lib/servers/scrServer.js +78 -98
  94. package/lib/servers/server.js +101 -122
  95. package/lib/servers/ssServer.js +63 -61
  96. package/lib/sh/pre-commit.sh +34 -34
  97. package/lib/sh/reportPublish.sh +45 -46
  98. package/lib/templates/CoverageScriptTemplate.js +45 -18
  99. package/lib/templates/WMSTemplate.js +17 -18
  100. package/lib/templates/linterConstant.js +6 -4
  101. package/lib/utils/babelPresets.js +12 -5
  102. package/lib/utils/buildstats.html +148 -148
  103. package/lib/utils/clean.js +12 -11
  104. package/lib/utils/copy.js +12 -34
  105. package/lib/utils/copyTimezones.js +9 -16
  106. package/lib/utils/createEventStream.js +24 -19
  107. package/lib/utils/cssClassNameGenerate.js +44 -73
  108. package/lib/utils/cssURLReplacer.js +60 -54
  109. package/lib/utils/dependencyPostPublish.js +20 -19
  110. package/lib/utils/fileUtils.js +66 -54
  111. package/lib/utils/folderIterator.js +20 -21
  112. package/lib/utils/getComponents.js +70 -27
  113. package/lib/utils/getCurrentBranch.js +11 -17
  114. package/lib/utils/getDependenciesImpactList.js +114 -187
  115. package/lib/utils/getHash.js +9 -13
  116. package/lib/utils/getIp.js +9 -9
  117. package/lib/utils/getOptions.js +26 -29
  118. package/lib/utils/getServerURL.js +19 -10
  119. package/lib/utils/index.js +147 -126
  120. package/lib/utils/init.js +2 -2
  121. package/lib/utils/initPreCommitHook.js +40 -32
  122. package/lib/utils/jsonHelper.js +37 -21
  123. package/lib/utils/lint/addScripts.js +27 -0
  124. package/lib/utils/lint/checkExistingConfig.js +67 -0
  125. package/lib/utils/lint/copyConfigs.js +24 -0
  126. package/lib/utils/lint/index.js +54 -0
  127. package/lib/utils/lint/lintScripts.js +11 -0
  128. package/lib/utils/lint/lintSetup.js +31 -0
  129. package/lib/utils/lint/lintStagedPreCommitHook.js +7 -0
  130. package/lib/utils/lint/question.js +30 -0
  131. package/lib/utils/lintReporter.js +70 -56
  132. package/lib/utils/mailSender.js +12 -27
  133. package/lib/utils/pullOrigin.js +21 -18
  134. package/lib/utils/reinstallDependencies.js +76 -85
  135. package/lib/utils/removeAttributes.js +25 -23
  136. package/lib/utils/repoClone.js +47 -45
  137. package/lib/utils/request.js +64 -77
  138. package/lib/utils/resultSchema.json +73 -73
  139. package/lib/utils/rtl.js +22 -29
  140. package/lib/utils/setEnvVariables.js +5 -6
  141. package/lib/utils/ssTestHack.js +21 -19
  142. package/lib/utils/switchBranch.js +21 -20
  143. package/lib/utils/urlConcat.js +22 -0
  144. package/package.json +141 -136
  145. package/templates/app/.eslintrc.js +140 -140
  146. package/templates/app/README.md +12 -12
  147. package/templates/app/app/index.html +24 -24
  148. package/templates/app/app/properties/ApplicationResources_en_US.properties +1 -1
  149. package/templates/app/app/properties/i18nkeys.json +3 -3
  150. package/templates/app/docs/all.html +69 -69
  151. package/templates/app/mockapi/index.js +18 -18
  152. package/templates/app/package.json +37 -37
  153. package/templates/app/src/actions/SampleActions/index.js +37 -37
  154. package/templates/app/src/actions/index.js +65 -65
  155. package/templates/app/src/appUrls.js +19 -19
  156. package/templates/app/src/components/Alert/Alert.js +134 -134
  157. package/templates/app/src/components/Alert/Alert.module.css +79 -79
  158. package/templates/app/src/components/FreezeLayer/FreezeLayer.css +37 -37
  159. package/templates/app/src/components/FreezeLayer/FreezeLayer.js +84 -84
  160. package/templates/app/src/components/Sample/Sample.module.css +11 -11
  161. package/templates/app/src/components/Sample/SampleList.js +61 -61
  162. package/templates/app/src/components/Slider/Slider.css +41 -41
  163. package/templates/app/src/components/Slider/Slider.js +55 -55
  164. package/templates/app/src/containers/AlertContainer/index.js +15 -15
  165. package/templates/app/src/containers/AppContainer/index.js +96 -96
  166. package/templates/app/src/containers/AppContainer/index.module.css +27 -27
  167. package/templates/app/src/containers/CustomMatch/index.js +65 -65
  168. package/templates/app/src/containers/DevTools/index.js +10 -10
  169. package/templates/app/src/containers/Header/index.js +67 -67
  170. package/templates/app/src/containers/Header/index.module.css +43 -43
  171. package/templates/app/src/containers/Redirect/index.js +63 -63
  172. package/templates/app/src/containers/Redirector/index.js +47 -47
  173. package/templates/app/src/containers/SampleListContainer/ListContainer.js +42 -42
  174. package/templates/app/src/containers/SampleListContainer/ListContainer.module.css +3 -3
  175. package/templates/app/src/historyChange.js +5 -5
  176. package/templates/app/src/index.html +10 -10
  177. package/templates/app/src/index.js +24 -24
  178. package/templates/app/src/middleware/PromiseMiddleware.js +59 -59
  179. package/templates/app/src/reducers/alertData.js +11 -11
  180. package/templates/app/src/reducers/index.js +6 -6
  181. package/templates/app/src/reducers/samples.js +19 -19
  182. package/templates/app/src/store/configureStore.dev.js +51 -51
  183. package/templates/app/src/store/configureStore.js +5 -5
  184. package/templates/app/src/store/configureStore.prod.js +26 -26
  185. package/templates/app/src/util/Common.js +5 -5
  186. package/templates/app/src/util/RequestAPI.js +132 -132
  187. package/templates/docs/all.html +249 -249
  188. package/templates/docs/component.html +178 -178
  189. package/templates/docs/components.html +221 -221
  190. package/templates/docs/css/b.min.css +6 -6
  191. package/templates/docs/css/component.css +42 -42
  192. package/templates/docs/css/componentTest.css +6 -6
  193. package/templates/docs/css/hopscotch.css +585 -585
  194. package/templates/docs/css/style.css +1022 -1022
  195. package/templates/docs/index.html +1493 -1493
  196. package/templates/docs/js/active-line.js +72 -72
  197. package/templates/docs/js/b.min.js +7 -7
  198. package/templates/docs/js/codemirror.js +9680 -9680
  199. package/templates/docs/js/designTokens.js +334 -334
  200. package/templates/docs/js/j.min.js +4 -4
  201. package/templates/docs/js/javascript.js +874 -874
  202. package/templates/docs/js/matchbrackets.js +145 -145
@@ -1,41 +1,38 @@
1
- 'use strict';
1
+ "use strict";
2
2
 
3
- var _path = require('path');
3
+ var _path = _interopRequireDefault(require("path"));
4
4
 
5
- var _path2 = _interopRequireDefault(_path);
5
+ var _miniCssExtractPlugin = _interopRequireDefault(require("mini-css-extract-plugin"));
6
6
 
7
- var _miniCssExtractPlugin = require('mini-css-extract-plugin');
7
+ var _utils = require("../utils");
8
8
 
9
- var _miniCssExtractPlugin2 = _interopRequireDefault(_miniCssExtractPlugin);
10
-
11
- var _utils = require('../utils');
12
-
13
- var _pluginUtils = require('../pluginUtils');
9
+ var _pluginUtils = require("../pluginUtils");
14
10
 
15
11
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
16
12
 
17
- var options = (0, _utils.getOptions)();
18
-
19
- var _options$umd$componen = options.umd.component,
20
- umdVar = _options$umd$componen.umdVar,
21
- isHtml = _options$umd$componen.isHtml,
22
- isDocs = _options$umd$componen.isDocs,
23
- watch = _options$umd$componen.watch,
24
- outputFolder = _options$umd$componen.outputFolder,
25
- cssUniqueness = _options$umd$componen.cssUniqueness,
26
- folder = _options$umd$componen.folder;
27
-
28
-
29
- var appPath = process.cwd();
30
- var className = cssUniqueness ? 'fz__[hash:base64:5]' : '[name]__[local]';
31
-
13
+ let options = (0, _utils.getOptions)();
14
+ let {
15
+ umd: {
16
+ component: {
17
+ umdVar,
18
+ isHtml,
19
+ isDocs,
20
+ watch,
21
+ outputFolder,
22
+ cssUniqueness,
23
+ folder
24
+ }
25
+ }
26
+ } = options;
27
+ let appPath = process.cwd();
28
+ let className = cssUniqueness ? 'fz__[hash:base64:5]' : '[name]__[local]';
32
29
  module.exports = {
33
30
  watch: watch,
34
31
  entry: {
35
- main: _path2.default.join(appPath, folder, isHtml ? 'html.js' : 'index.js')
32
+ main: _path.default.join(appPath, folder, isHtml ? 'html.js' : 'index.js')
36
33
  },
37
34
  output: {
38
- path: _path2.default.join(appPath, outputFolder),
35
+ path: _path.default.join(appPath, outputFolder),
39
36
  filename: 'js/[name].js',
40
37
  library: umdVar,
41
38
  libraryTarget: 'umd'
@@ -51,21 +48,18 @@ module.exports = {
51
48
  use: [{
52
49
  loader: 'babel-loader',
53
50
  options: {
54
- presets: [[require.resolve('babel-preset-env'), { modules: false }], require.resolve('babel-preset-react')],
55
- plugins: [[require.resolve('babel-plugin-transform-runtime'), {
56
- helpers: true,
57
- polyfill: true,
58
- regenerator: false,
59
- moduleName: 'babel-runtime'
60
- }], require.resolve('babel-plugin-syntax-object-rest-spread')],
51
+ presets: [[require.resolve('@babel/preset-env'), {
52
+ modules: false
53
+ }], require.resolve('@babel/preset-react')],
54
+ plugins: [require.resolve('@babel/plugin-proposal-object-rest-spread')],
61
55
  cacheDirectory: true
62
56
  }
63
57
  }],
64
- include: _path2.default.join(appPath, 'src')
58
+ include: _path.default.join(appPath, 'src')
65
59
  }, {
66
60
  test: /(\.module)?\.css$/,
67
61
  use: [{
68
- loader: _miniCssExtractPlugin2.default.loader,
62
+ loader: _miniCssExtractPlugin.default.loader,
69
63
  options: {
70
64
  publicPath: '../'
71
65
  }
@@ -101,9 +95,9 @@ module.exports = {
101
95
  }]
102
96
  },
103
97
  resolve: {
104
- modules: [_path2.default.resolve(__dirname, '..', '..', 'node_modules'), 'node_modules']
98
+ modules: [_path.default.resolve(__dirname, '..', '..', 'node_modules'), 'node_modules']
105
99
  },
106
100
  resolveLoader: {
107
- modules: [_path2.default.resolve(__dirname, '..', '..', 'node_modules'), 'node_modules']
101
+ modules: [_path.default.resolve(__dirname, '..', '..', 'node_modules'), 'node_modules']
108
102
  }
109
103
  };
@@ -1,45 +1,42 @@
1
- 'use strict';
1
+ "use strict";
2
2
 
3
- var _path = require('path');
3
+ var _path = _interopRequireDefault(require("path"));
4
4
 
5
- var _path2 = _interopRequireDefault(_path);
5
+ var _miniCssExtractPlugin = _interopRequireDefault(require("mini-css-extract-plugin"));
6
6
 
7
- var _miniCssExtractPlugin = require('mini-css-extract-plugin');
7
+ var _utils = require("../utils");
8
8
 
9
- var _miniCssExtractPlugin2 = _interopRequireDefault(_miniCssExtractPlugin);
9
+ var _cssClassNameGenerate = _interopRequireDefault(require("../utils/cssClassNameGenerate"));
10
10
 
11
- var _utils = require('../utils');
12
-
13
- var _cssClassNameGenerate = require('../utils/cssClassNameGenerate');
14
-
15
- var _cssClassNameGenerate2 = _interopRequireDefault(_cssClassNameGenerate);
16
-
17
- var _pluginUtils = require('../pluginUtils');
11
+ var _pluginUtils = require("../pluginUtils");
18
12
 
19
13
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
20
14
 
21
- var options = (0, _utils.getOptions)();
22
- var _options$umd$css = options.umd.css,
23
- umdVar = _options$umd$css.umdVar,
24
- watch = _options$umd$css.watch,
25
- outputFolder = _options$umd$css.outputFolder,
26
- cssUniqueness = _options$umd$css.cssUniqueness,
27
- folder = _options$umd$css.folder,
28
- publicPath = _options$umd$css.publicPath,
29
- packageVersion = options.packageVersion;
30
-
31
-
32
- var appPath = process.cwd();
33
-
34
- var publicPathStr = (publicPath || '//js.zohostatic.com/support/zohodeskcomponent@' + packageVersion) + '/' + outputFolder + '/';
35
-
15
+ let options = (0, _utils.getOptions)();
16
+ let {
17
+ umd: {
18
+ css: {
19
+ umdVar,
20
+ watch,
21
+ outputFolder,
22
+ cssUniqueness,
23
+ folder,
24
+ publicPath,
25
+ cssHashSelectors,
26
+ classNamePrefix
27
+ }
28
+ },
29
+ packageVersion
30
+ } = options;
31
+ let appPath = process.cwd();
32
+ let publicPathStr = `${publicPath || `${'//js.zohostatic.com/support/zohodeskcomponent@'}${packageVersion}`}/${outputFolder}/`;
36
33
  module.exports = {
37
34
  watch: watch,
38
35
  entry: {
39
- main: _path2.default.join(appPath, folder, 'css.js')
36
+ main: _path.default.join(appPath, folder, 'css.js')
40
37
  },
41
38
  output: {
42
- path: _path2.default.resolve(appPath, outputFolder),
39
+ path: _path.default.resolve(appPath, outputFolder),
43
40
  filename: '[name].js',
44
41
  library: umdVar,
45
42
  libraryTarget: 'umd',
@@ -61,33 +58,33 @@ module.exports = {
61
58
  use: [{
62
59
  loader: 'babel-loader',
63
60
  options: {
64
- presets: [[require.resolve('babel-preset-env'), { modules: false }], require.resolve('babel-preset-react')],
65
- plugins: [[require.resolve('babel-plugin-transform-runtime'), {
66
- helpers: true,
67
- polyfill: true,
68
- regenerator: false,
69
- moduleName: 'babel-runtime'
70
- }], require.resolve('babel-plugin-syntax-object-rest-spread')],
61
+ presets: [[require.resolve('@babel/preset-env'), {
62
+ modules: false
63
+ }], require.resolve('@babel/preset-react')],
64
+ plugins: [require.resolve('@babel/plugin-proposal-object-rest-spread')],
71
65
  cacheDirectory: true
72
66
  }
73
67
  }],
74
- include: _path2.default.join(appPath, 'src') /*,
75
- {
76
- test: /\.css$/,
77
- use: [MiniCssExtractPlugin.loader, 'css-loader']
78
- }*/
79
- }, {
68
+ include: _path.default.join(appPath, 'src')
69
+ }
70
+ /*,
71
+ {
72
+ test: /\.css$/,
73
+ use: [MiniCssExtractPlugin.loader, 'css-loader']
74
+ }*/
75
+ , {
80
76
  test: /(\.module)?\.css$/,
81
77
  use: [{
82
- loader: _miniCssExtractPlugin2.default.loader,
78
+ loader: _miniCssExtractPlugin.default.loader,
83
79
  options: {
84
80
  publicPath: '../'
85
81
  }
86
82
  }, {
87
83
  loader: 'css-loader',
88
84
  options: {
89
- modules: true,
90
- getLocalIdent: (0, _cssClassNameGenerate2.default)(cssUniqueness)
85
+ modules: {
86
+ getLocalIdent: (0, _cssClassNameGenerate.default)(cssUniqueness, cssHashSelectors, classNamePrefix)
87
+ }
91
88
  }
92
89
  }]
93
90
  }, {
@@ -111,9 +108,9 @@ module.exports = {
111
108
  }]
112
109
  },
113
110
  resolve: {
114
- modules: [_path2.default.resolve(__dirname, '..', '..', 'node_modules'), 'node_modules']
111
+ modules: [_path.default.resolve(__dirname, '..', '..', 'node_modules'), 'node_modules']
115
112
  },
116
113
  resolveLoader: {
117
- modules: [_path2.default.resolve(__dirname, '..', '..', 'node_modules'), 'node_modules']
114
+ modules: [_path.default.resolve(__dirname, '..', '..', 'node_modules'), 'node_modules']
118
115
  }
119
116
  };
@@ -1,63 +1,61 @@
1
- 'use strict';
1
+ "use strict";
2
2
 
3
- var _path = require('path');
3
+ var _path = _interopRequireDefault(require("path"));
4
4
 
5
- var _path2 = _interopRequireDefault(_path);
5
+ var _utils = require("../utils");
6
6
 
7
- var _utils = require('../utils');
7
+ var _common = require("../common");
8
8
 
9
- var _common = require('../common');
9
+ var _pluginUtils = require("../pluginUtils");
10
10
 
11
- var _pluginUtils = require('../pluginUtils');
12
-
13
- var _loaderUtils = require('../loaderUtils');
11
+ var _loaderUtils = require("../loaderUtils");
14
12
 
15
13
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
16
14
 
17
- var options = (0, _utils.getOptions)();
18
- var _options$app = options.app,
19
- folder = _options$app.folder,
20
- context = _options$app.context,
21
- server = _options$app.server,
22
- outputFolder = _options$app.outputFolder,
23
- rtlExclude = _options$app.rtlExclude,
24
- hasRTL = _options$app.hasRTL,
25
- cssUniqueness = _options$app.cssUniqueness,
26
- seperateCssModules = _options$app.seperateCssModules,
27
- changeRuntimeChunkChar = _options$app.changeRuntimeChunkChar,
28
- cssHashSelectors = _options$app.cssHashSelectors,
29
- classNamePrefix = _options$app.classNamePrefix,
30
- selectorReplace = _options$app.selectorReplace;
31
- var disableContextURL = server.disableContextURL;
32
-
33
-
34
- var appPath = process.cwd();
35
- var contextURL = disableContextURL ? '' : context;
36
- var serverUrl = (0, _utils.getServerURL)(server);
37
-
38
- var output = {
39
- path: _path2.default.join(appPath, outputFolder),
15
+ let options = (0, _utils.getOptions)();
16
+ let {
17
+ app: {
18
+ folder,
19
+ context,
20
+ server,
21
+ outputFolder,
22
+ rtlExclude,
23
+ hasRTL,
24
+ cssUniqueness,
25
+ seperateCssModules,
26
+ changeRuntimeChunkChar,
27
+ cssHashSelectors,
28
+ classNamePrefix,
29
+ selectorReplace,
30
+ disableES5Transpile
31
+ }
32
+ } = options;
33
+ let {
34
+ disableContextURL
35
+ } = server;
36
+ let appPath = process.cwd();
37
+ let contextURL = disableContextURL ? '' : context;
38
+ let serverUrl = (0, _utils.getServerURL)(server, 'https');
39
+ let output = {
40
+ path: _path.default.join(appPath, outputFolder),
40
41
  filename: 'js/[name].js',
41
42
  chunkFilename: 'js/[name].js',
42
- publicPath: [serverUrl, contextURL].filter(function (a) {
43
- return a;
44
- }).join('/') + '/',
45
- jsonpFunction: context + 'Jsonp'
43
+ publicPath: `${[serverUrl, contextURL].filter(a => a).join('/')}/`,
44
+ jsonpFunction: `${context}Jsonp`
46
45
  };
47
-
48
46
  module.exports = {
49
47
  entry: (0, _common.getEntries)(options, 'dev'),
50
48
  devtool: 'cheap-eval-source-map',
51
49
  mode: 'development',
52
- output: output,
53
- stats: { children: false },
50
+ output,
51
+ stats: {
52
+ children: false
53
+ },
54
54
  optimization: {
55
55
  splitChunks: _common.splitChunks,
56
56
  moduleIds: 'named',
57
57
  runtimeChunk: {
58
- name: function name(entrypoint) {
59
- return changeRuntimeChunkChar ? './runtime-' + entrypoint.name : './runtime~' + entrypoint.name;
60
- }
58
+ name: entrypoint => changeRuntimeChunkChar ? `./runtime-${entrypoint.name}` : `./runtime~${entrypoint.name}`
61
59
  }
62
60
  },
63
61
  plugins: (0, _pluginUtils.getDevPlugins)(options, output.publicPath),
@@ -67,7 +65,7 @@ module.exports = {
67
65
  rules: [{
68
66
  test: /\.js$/,
69
67
  use: (0, _loaderUtils.getDevJsLoaders)(options),
70
- include: _path2.default.join(appPath, folder)
68
+ include: _path.default.join(appPath, folder)
71
69
  }, seperateCssModules ? {
72
70
  test: /\.css$/,
73
71
  exclude: /\.module\.css$/,
@@ -92,25 +90,45 @@ module.exports = {
92
90
  use: [{
93
91
  loader: 'html-loader',
94
92
  options: {
95
- interpolate: 'require',
96
- ignoreCustomFragments: [/\{\{.*?}}/, /\$\{.*?}/],
97
- minimize: true,
98
- removeComments: true,
99
- collapseWhitespace: false,
100
- removeAttributeQuotes: false,
101
- minifyCSS: false,
102
- minifyJS: false
93
+ minimize: true
103
94
  }
104
95
  }]
96
+ }, {
97
+ test: /\.worker.js$/,
98
+ use: {
99
+ loader: require.resolve('../loaders/workerLoader.js'),
100
+ options: {
101
+ esModule: true,
102
+ filename: 'js/[name].js'
103
+ }
104
+ }
105
105
  }].filter(Boolean)
106
106
  },
107
107
  externals: {
108
108
  ZC: '$ZC'
109
109
  },
110
110
  resolve: {
111
- modules: [_path2.default.resolve(__dirname, '..', '..', 'node_modules'), 'node_modules']
111
+ modules: [_path.default.resolve(__dirname, '..', '..', 'node_modules'), 'node_modules'],
112
+ alias: disableES5Transpile ? {
113
+ '@zohodesk/components/lib': '@zohodesk/components/es',
114
+ '@zohodesk/dot/lib': '@zohodesk/dot/es',
115
+ '@zohodesk/i18n/lib': '@zohodesk/i18n/es',
116
+ '@zohodesk/icons/lib': '@zohodesk/icons/es',
117
+ '@zohodesk/normalizer/lib': '@zohodesk/normalizer/es',
118
+ '@zohodesk/perf-components/lib': '@zohodesk/perf-components/es',
119
+ '@zohodesk/perf-middleware/lib': '@zohodesk/perf-middleware/es',
120
+ '@zohodesk/permissions/lib': '@zohodesk/permissions/es',
121
+ '@zohodesk/platform-middleware/lib': '@zohodesk/platform-middleware/es',
122
+ '@zohodesk/react-dnd/lib': '@zohodesk/react-dnd/es',
123
+ '@zohodesk/router-middleware/lib': '@zohodesk/router-middleware/es',
124
+ '@zohodesk/storage/lib': '@zohodesk/storage/es',
125
+ '@zohodesk/svg/lib': '@zohodesk/svg/es',
126
+ '@zohodesk/timetracker/lib': '@zohodesk/timetracker/es',
127
+ '@zohodesk/variables/lib': '@zohodesk/variables/es',
128
+ '@zohodesk/virtualizer/lib': '@zohodesk/virtualizer/es'
129
+ } : {}
112
130
  },
113
131
  resolveLoader: {
114
- modules: [_path2.default.resolve(__dirname, '..', '..', 'node_modules'), 'node_modules']
132
+ modules: [_path.default.resolve(__dirname, '..', '..', 'node_modules'), 'node_modules']
115
133
  }
116
134
  };
@@ -1,116 +1,116 @@
1
- 'use strict';
1
+ "use strict";
2
2
 
3
- var _path = require('path');
3
+ var _path = _interopRequireDefault(require("path"));
4
4
 
5
- var _path2 = _interopRequireDefault(_path);
5
+ var _utils = require("../utils");
6
6
 
7
- var _utils = require('../utils');
7
+ var _pluginUtils = require("../pluginUtils");
8
8
 
9
- var _pluginUtils = require('../pluginUtils');
10
-
11
- var _loaderUtils = require('../loaderUtils');
9
+ var _loaderUtils = require("../loaderUtils");
12
10
 
13
11
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
14
12
 
15
- var options = (0, _utils.getOptions)();
16
- var _options$docs = options.docs,
17
- componentFolder = _options$docs.componentFolder,
18
- cssUniqueness = _options$docs.cssUniqueness,
19
- hasRTL = _options$docs.hasRTL,
20
- rtlExclude = _options$docs.rtlExclude,
21
- cssHashSelectors = _options$docs.cssHashSelectors,
22
- classNamePrefix = _options$docs.classNamePrefix,
23
- folder = options.app.folder;
24
-
25
- var appPath = process.cwd();
13
+ let options = (0, _utils.getOptions)();
14
+ let {
15
+ docs: {
16
+ componentFolder,
17
+ cssUniqueness,
18
+ hasRTL,
19
+ rtlExclude,
20
+ cssHashSelectors,
21
+ classNamePrefix
22
+ },
23
+ app: {
24
+ folder
25
+ }
26
+ } = options;
27
+ let appPath = process.cwd();
26
28
 
27
- module.exports = function (isSSTest) {
28
- return {
29
- entry: {
30
- main: [_path2.default.resolve(__dirname, '..', 'hooks', 'docsProptypeHook.js'), _path2.default.join(appPath, componentFolder, 'index.js')],
31
- vendor: ['react', 'react-dom', 'redux', 'react-redux']
32
- },
33
- devtool: 'none',
34
- mode: 'development',
35
- output: {
36
- path: _path2.default.join(appPath, 'build'),
37
- filename: 'js/[name].js',
38
- publicPath: '/docs/',
39
- library: 'Component',
40
- libraryTarget: 'umd'
41
- },
42
- plugins: (0, _pluginUtils.getDocsPlugins)(isSSTest, options),
43
- module: {
44
- rules: [{
45
- test: /\.js$/,
46
- use: [{
47
- loader: 'babel-loader',
48
- options: {
49
- presets: [[require.resolve('babel-preset-env'), { modules: false }], require.resolve('babel-preset-react')],
50
- plugins: [[require.resolve('babel-plugin-transform-runtime'), {
51
- helpers: true,
52
- polyfill: true,
53
- regenerator: false,
54
- moduleName: 'babel-runtime'
55
- }], require.resolve('babel-plugin-syntax-dynamic-import'), require.resolve('babel-plugin-syntax-object-rest-spread')],
56
- cacheDirectory: true
57
- }
58
- }],
59
- include: _path2.default.join(appPath, folder)
60
- }, {
61
- test: /\.docs\.js$/,
62
- use: require.resolve('../loaders/docsLoader.js'),
63
- include: _path2.default.join(appPath, folder),
64
- exclude: /node_modules/
65
- }, {
66
- test: /(\.module)?\.css$/,
67
- use: (0, _loaderUtils.getCSSLoaders)(hasRTL, rtlExclude, false, cssUniqueness, null, cssHashSelectors, classNamePrefix)
68
- }, {
69
- test: /\.jpe?g$|\.gif$|\.png$/,
70
- use: ['url-loader?limit=1000&name=./images/[name].[ext]']
71
- }, {
72
- test: /\.woff2|\.woff$|\.ttf$|\.eot$/,
73
- use: ['url-loader?limit=1000&name=./fonts/[name].[ext]']
74
- }, {
75
- test: /\.svg$/,
76
- use: ['url-loader?limit=1&name=./fonts/[name].[ext]']
77
- }, {
78
- test: /\.html$/,
79
- use: {
80
- loader: 'html-loader',
81
- options: {
82
- attrs: [':data-src'],
83
- interpolate: 'require'
84
- }
29
+ module.exports = isSSTest => ({
30
+ entry: {
31
+ main: [_path.default.resolve(__dirname, '..', 'hooks', 'docsProptypeHook.js'), _path.default.join(appPath, componentFolder, 'index.js')],
32
+ vendor: ['react', 'react-dom', 'redux', 'react-redux']
33
+ },
34
+ devtool: 'none',
35
+ mode: 'development',
36
+ output: {
37
+ path: _path.default.join(appPath, 'build'),
38
+ filename: 'js/[name].js',
39
+ publicPath: '/docs/',
40
+ library: 'Component',
41
+ libraryTarget: 'umd'
42
+ },
43
+ plugins: (0, _pluginUtils.getDocsPlugins)(isSSTest, options),
44
+ module: {
45
+ rules: [{
46
+ test: /\.js$/,
47
+ use: [{
48
+ loader: 'babel-loader',
49
+ options: {
50
+ presets: [[require.resolve('@babel/preset-env'), {
51
+ modules: false
52
+ }], require.resolve('@babel/preset-react')],
53
+ plugins: [[require.resolve('@babel/plugin-transform-runtime'), {
54
+ helpers: true,
55
+ regenerator: false
56
+ }], require.resolve('babel-plugin-syntax-dynamic-import'), require.resolve('babel-plugin-syntax-object-rest-spread')],
57
+ cacheDirectory: true
58
+ }
59
+ }],
60
+ include: _path.default.join(appPath, folder)
61
+ }, {
62
+ test: /\.docs\.js$/,
63
+ use: require.resolve('../loaders/docsLoader.js'),
64
+ include: _path.default.join(appPath, folder),
65
+ exclude: /node_modules/
66
+ }, {
67
+ test: /(\.module)?\.css$/,
68
+ use: (0, _loaderUtils.getCSSLoaders)(hasRTL, rtlExclude, false, cssUniqueness, null, cssHashSelectors, classNamePrefix)
69
+ }, {
70
+ test: /\.jpe?g$|\.gif$|\.png$/,
71
+ use: ['url-loader?limit=1000&name=./images/[name].[ext]']
72
+ }, {
73
+ test: /\.woff2|\.woff$|\.ttf$|\.eot$/,
74
+ use: ['url-loader?limit=1000&name=./fonts/[name].[ext]']
75
+ }, {
76
+ test: /\.svg$/,
77
+ use: ['url-loader?limit=1&name=./fonts/[name].[ext]']
78
+ }, {
79
+ test: /\.html$/,
80
+ use: {
81
+ loader: 'html-loader',
82
+ options: {
83
+ attrs: [':data-src'],
84
+ interpolate: 'require'
85
+ }
86
+ }
87
+ }, {
88
+ test: /\.ogg$/,
89
+ use: ['file-loader?name=./fonts/[name].[ext]']
90
+ }, {
91
+ test: /\.tmpl$/,
92
+ use: [{
93
+ loader: 'html-loader',
94
+ options: {
95
+ interpolate: 'require',
96
+ ignoreCustomFragments: [/\{\{.*?}}/, /\$\{.*?}/],
97
+ minimize: true,
98
+ removeComments: true,
99
+ collapseWhitespace: false,
100
+ removeAttributeQuotes: false,
101
+ minifyCSS: false,
102
+ minifyJS: false
85
103
  }
86
- }, {
87
- test: /\.ogg$/,
88
- use: ['file-loader?name=./fonts/[name].[ext]']
89
- }, {
90
- test: /\.tmpl$/,
91
- use: [{
92
- loader: 'html-loader',
93
- options: {
94
- interpolate: 'require',
95
- ignoreCustomFragments: [/\{\{.*?}}/, /\$\{.*?}/],
96
- minimize: true,
97
- removeComments: true,
98
- collapseWhitespace: false,
99
- removeAttributeQuotes: false,
100
- minifyCSS: false,
101
- minifyJS: false
102
- }
103
- }]
104
104
  }]
105
- },
106
- externals: {
107
- ZC: '$ZC'
108
- },
109
- resolve: {
110
- modules: [_path2.default.resolve(__dirname, '..', '..', 'node_modules'), 'node_modules']
111
- },
112
- resolveLoader: {
113
- modules: [_path2.default.resolve(__dirname, '..', '..', 'node_modules'), 'node_modules']
114
- }
115
- };
116
- };
105
+ }]
106
+ },
107
+ externals: {
108
+ ZC: '$ZC'
109
+ },
110
+ resolve: {
111
+ modules: [_path.default.resolve(__dirname, '..', '..', 'node_modules'), 'node_modules']
112
+ },
113
+ resolveLoader: {
114
+ modules: [_path.default.resolve(__dirname, '..', '..', 'node_modules'), 'node_modules']
115
+ }
116
+ });