@zohodesk/react-cli 0.0.1-beta.16 → 0.0.1-beta.160

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.
Files changed (226) hide show
  1. package/.eslintignore +1 -0
  2. package/.eslintrc.js +46 -3
  3. package/CHANGELOG.md +5 -0
  4. package/README.md +650 -0
  5. package/bin/cli.js +134 -27
  6. package/cert/cert.pem +37 -129
  7. package/cert/key.pem +27 -27
  8. package/cert/passphrase.pem +1 -0
  9. package/files/eslintrc.js +62 -0
  10. package/files/prettierrc.js +3 -0
  11. package/lib/babel/cmjs-plugins-presets.js +16 -9
  12. package/lib/babel/es-plugins-presets.js +26 -14
  13. package/lib/common/getEntries.js +33 -24
  14. package/lib/common/getPublicPathConfig.js +40 -0
  15. package/lib/common/index.js +27 -13
  16. package/lib/common/splitChunks.js +64 -26
  17. package/lib/common/sslcertUpdater.js +59 -0
  18. package/lib/common/templateParameters.js +25 -0
  19. package/lib/configs/jest.config.js +18 -28
  20. package/lib/configs/webpack.component.umd.config.js +31 -37
  21. package/lib/configs/webpack.css.umd.config.js +44 -44
  22. package/lib/configs/webpack.dev.config.js +113 -57
  23. package/lib/configs/webpack.docs.config.js +104 -98
  24. package/lib/configs/webpack.impact.config.js +116 -0
  25. package/lib/configs/webpack.prod.config.js +154 -86
  26. package/lib/hooks/docsProptypeHook.js +32 -38
  27. package/lib/jest/commitedFilesResult.js +144 -71
  28. package/lib/jest/coverageCollector.js +62 -29
  29. package/lib/jest/jsonMaker.js +54 -0
  30. package/lib/jest/preProcessors/cssPreprocessor.js +16 -18
  31. package/lib/jest/preProcessors/jsPreprocessor.js +5 -6
  32. package/lib/jest/preProcessors/otherFilesPreprocessor.js +5 -6
  33. package/lib/jest/result.js +91 -41
  34. package/lib/jest/run.js +74 -27
  35. package/lib/jest/setup.js +103 -102
  36. package/lib/loaderUtils/getCSSLoaders.js +77 -0
  37. package/lib/loaderUtils/getDevJsLoaders.js +30 -23
  38. package/lib/loaderUtils/index.js +14 -7
  39. package/lib/loaders/docsLoader.js +15 -15
  40. package/lib/loaders/docsPropsLoader.js +14 -17
  41. package/lib/loaders/fileBountryLoader.js +17 -0
  42. package/lib/loaders/fileLoader.js +47 -38
  43. package/lib/loaders/scriptInstrumentLoader.js +21 -20
  44. package/lib/loaders/selectorMappingLoader.js +75 -0
  45. package/lib/loaders/workerLoader.js +136 -0
  46. package/lib/middlewares/HMRMiddleware.js +59 -41
  47. package/lib/middlewares/SSTMiddleware.js +21 -0
  48. package/lib/pluginUtils/getDevPlugins.js +173 -26
  49. package/lib/pluginUtils/getDocsPlugins.js +32 -17
  50. package/lib/pluginUtils/getLibraryImactPlugins.js +23 -0
  51. package/lib/pluginUtils/getLibraryPlugins.js +8 -10
  52. package/lib/pluginUtils/getProdPlugins.js +238 -37
  53. package/lib/pluginUtils/getServerPlugins.js +8 -11
  54. package/lib/pluginUtils/getUMDCSSPlugins.js +11 -15
  55. package/lib/pluginUtils/getUMDComponentPlugins.js +11 -15
  56. package/lib/pluginUtils/index.js +36 -43
  57. package/lib/plugins/CdnChangePlugin.js +77 -0
  58. package/lib/plugins/CleanupStatsPlugin.js +28 -0
  59. package/lib/plugins/EFCPlugin.js +211 -0
  60. package/lib/plugins/EFCPlugin.md +6 -0
  61. package/lib/plugins/I18NInjectIntoIndexPlugin.js +141 -0
  62. package/lib/plugins/I18nSplitPlugin/I18nDebugPlugin.js +60 -0
  63. package/lib/plugins/I18nSplitPlugin/I18nDependency.js +44 -0
  64. package/lib/plugins/I18nSplitPlugin/I18nDownlodLogic.js +266 -0
  65. package/lib/plugins/I18nSplitPlugin/I18nFilesEmitter.js +183 -0
  66. package/lib/plugins/I18nSplitPlugin/I18nKeysIdentifer.js +100 -0
  67. package/lib/plugins/I18nSplitPlugin/I18nSplit.md +86 -0
  68. package/lib/plugins/I18nSplitPlugin/README.md +25 -0
  69. package/lib/plugins/I18nSplitPlugin/index.js +185 -0
  70. package/lib/plugins/I18nSplitPlugin/utils/collectI18nKeys.js +64 -0
  71. package/lib/plugins/I18nSplitPlugin/utils/getI18nFileUrlPathTemplate.js +13 -0
  72. package/lib/plugins/I18nSplitPlugin/utils/getI18nKeysFormModules.js +26 -0
  73. package/lib/plugins/I18nSplitPlugin/utils/hashUtils.js +40 -0
  74. package/lib/plugins/I18nSplitPlugin/utils/index.js +31 -0
  75. package/lib/plugins/I18nSplitPlugin/utils/propertiesUtils.js +112 -0
  76. package/lib/plugins/ManifestPlugin.js +52 -63
  77. package/lib/plugins/ModuleStatsPlugin.js +98 -97
  78. package/lib/plugins/OptimizeJSPlugin.js +24 -41
  79. package/lib/plugins/PublicPathCallbackPlugin.js +63 -0
  80. package/lib/plugins/PublicPathChangePlugin.js +187 -174
  81. package/lib/plugins/ReportGeneratePlugin.js +181 -0
  82. package/lib/plugins/RequireVariablePublicPlugin.js +30 -0
  83. package/lib/plugins/ResourceHintsPlugin.js +53 -35
  84. package/lib/plugins/RtlSplitPlugin/OverwriteCssPathForRTL.js +80 -0
  85. package/lib/plugins/RtlSplitPlugin/RtlCssPlugin.js +82 -0
  86. package/lib/plugins/RtlSplitPlugin/RtrSplit.md +30 -0
  87. package/lib/plugins/RtlSplitPlugin/replaceCssDirTemplate.js +26 -0
  88. package/lib/plugins/ScriptInstrumentPlugin.js +22 -37
  89. package/lib/plugins/ServiceWorkerPlugin.js +107 -0
  90. package/lib/plugins/ShadowDOMSupportPlugin.js +270 -0
  91. package/lib/plugins/SourceMapHookPlugin.js +25 -31
  92. package/lib/plugins/TPHashMappingPlugin.js +67 -0
  93. package/lib/plugins/UglifyCSSPlugin.js +23 -30
  94. package/lib/plugins/UnusedFilesFindPlugin.js +150 -97
  95. package/lib/plugins/index.js +118 -55
  96. package/lib/plugins/libraryImpactPlugin.js +190 -0
  97. package/lib/plugins/webpackwatchrunplugin.js +26 -0
  98. package/lib/postcss-plugins/ExcludeRTLPlugin.js +23 -0
  99. package/lib/postcss-plugins/RTLSplitPlugin.js +138 -0
  100. package/lib/schemas/index.js +463 -52
  101. package/lib/servers/clusterHubServer.js +22 -26
  102. package/lib/servers/docsServer.js +3 -5
  103. package/lib/servers/docsServerCore.js +93 -85
  104. package/lib/servers/helpServer.js +19 -21
  105. package/lib/servers/httpsOptions.js +19 -0
  106. package/lib/servers/impactServer.js +99 -92
  107. package/lib/servers/mockserver.js +44 -0
  108. package/lib/servers/nowatchserver.js +275 -0
  109. package/lib/servers/scrServer.js +147 -0
  110. package/lib/servers/server.js +118 -124
  111. package/lib/servers/ssServer.js +107 -65
  112. package/lib/sh/reportPublish.sh +16 -10
  113. package/lib/templates/CoverageScriptTemplate.js +45 -18
  114. package/lib/templates/WMSTemplate.js +17 -18
  115. package/lib/templates/linterConstant.js +10 -0
  116. package/lib/utils/babelPresets.js +12 -5
  117. package/lib/utils/buildstats.html +148 -0
  118. package/lib/utils/clean.js +12 -11
  119. package/lib/utils/copy.js +13 -127
  120. package/lib/utils/copyTimezones.js +21 -0
  121. package/lib/utils/createEventStream.js +24 -19
  122. package/lib/utils/cssClassNameGenerate.js +70 -0
  123. package/lib/utils/cssURLReplacer.js +67 -54
  124. package/lib/utils/dependencyPostPublish.js +42 -0
  125. package/lib/utils/fileUtils.js +125 -0
  126. package/lib/utils/folderIterator.js +47 -0
  127. package/lib/utils/getComponents.js +126 -0
  128. package/lib/utils/getCurrentBranch.js +11 -17
  129. package/lib/utils/getDependenciesImpactList.js +151 -0
  130. package/lib/utils/getHash.js +26 -0
  131. package/lib/utils/getIp.js +20 -0
  132. package/lib/utils/getOptions.js +55 -30
  133. package/lib/utils/getServerURL.js +25 -8
  134. package/lib/utils/index.js +259 -82
  135. package/lib/utils/init.js +2 -2
  136. package/lib/utils/initPreCommitHook.js +40 -31
  137. package/lib/utils/jsonHelper.js +97 -0
  138. package/lib/utils/libraryImpactConfig.js +63 -0
  139. package/lib/utils/lint/addScripts.js +27 -0
  140. package/lib/utils/lint/checkExistingConfig.js +67 -0
  141. package/lib/utils/lint/copyConfigs.js +24 -0
  142. package/lib/utils/lint/index.js +54 -0
  143. package/lib/utils/lint/lintScripts.js +11 -0
  144. package/lib/utils/lint/lintSetup.js +31 -0
  145. package/lib/utils/lint/lintStagedPreCommitHook.js +7 -0
  146. package/lib/utils/lint/question.js +30 -0
  147. package/lib/utils/lintReporter.js +142 -0
  148. package/lib/utils/mailSender.js +16 -25
  149. package/lib/utils/pullOrigin.js +28 -0
  150. package/lib/utils/reinstallDependencies.js +133 -0
  151. package/lib/utils/removeAttributes.js +25 -23
  152. package/lib/utils/repoClone.js +56 -63
  153. package/lib/utils/request.js +64 -77
  154. package/lib/utils/resultSchema.json +73 -0
  155. package/lib/utils/rtl.js +42 -0
  156. package/lib/utils/setEnvVariables.js +5 -6
  157. package/lib/utils/ssTestHack.js +48 -0
  158. package/lib/utils/switchBranch.js +28 -0
  159. package/lib/utils/urlConcat.js +22 -0
  160. package/package.json +92 -64
  161. package/templates/app/.eslintrc.js +140 -0
  162. package/templates/app/README.md +12 -12
  163. package/templates/app/app/index.html +24 -8
  164. package/templates/app/app/properties/ApplicationResources_en_US.properties +1 -1
  165. package/templates/app/app/properties/i18nkeys.json +3 -3
  166. package/templates/app/docs/all.html +69 -69
  167. package/templates/app/mockapi/index.js +18 -13
  168. package/templates/app/package.json +37 -17
  169. package/templates/app/src/actions/SampleActions/index.js +37 -0
  170. package/templates/app/src/actions/index.js +65 -0
  171. package/templates/app/src/appUrls.js +19 -0
  172. package/templates/app/src/components/Alert/Alert.js +134 -0
  173. package/templates/app/src/components/Alert/Alert.module.css +79 -0
  174. package/templates/app/src/components/FreezeLayer/FreezeLayer.css +37 -0
  175. package/templates/app/src/components/FreezeLayer/FreezeLayer.js +84 -0
  176. package/templates/app/src/components/Sample/Sample.module.css +11 -0
  177. package/templates/app/src/components/Sample/SampleList.js +61 -0
  178. package/templates/app/src/components/Slider/Slider.css +41 -0
  179. package/templates/app/src/components/Slider/Slider.js +55 -0
  180. package/templates/app/src/containers/AlertContainer/index.js +15 -0
  181. package/templates/app/src/containers/AppContainer/index.js +96 -0
  182. package/templates/app/src/containers/AppContainer/index.module.css +27 -0
  183. package/templates/app/src/containers/CustomMatch/index.js +65 -0
  184. package/templates/app/src/containers/DevTools/index.js +10 -0
  185. package/templates/app/src/containers/Header/index.js +67 -0
  186. package/templates/app/src/containers/Header/index.module.css +43 -0
  187. package/templates/app/src/containers/Redirect/index.js +63 -0
  188. package/templates/app/src/containers/Redirector/index.js +47 -0
  189. package/templates/app/src/containers/SampleListContainer/ListContainer.js +42 -0
  190. package/templates/app/src/containers/SampleListContainer/ListContainer.module.css +3 -0
  191. package/templates/app/src/historyChange.js +5 -0
  192. package/templates/app/src/index.html +10 -0
  193. package/templates/app/src/index.js +24 -0
  194. package/templates/app/src/middleware/PromiseMiddleware.js +59 -0
  195. package/templates/app/src/reducers/alertData.js +11 -0
  196. package/templates/app/src/reducers/index.js +6 -0
  197. package/templates/app/src/reducers/samples.js +19 -0
  198. package/templates/app/src/store/configureStore.dev.js +51 -0
  199. package/templates/app/src/store/configureStore.js +5 -0
  200. package/templates/app/src/store/configureStore.prod.js +26 -0
  201. package/templates/app/src/util/Common.js +5 -0
  202. package/templates/app/src/util/RequestAPI.js +132 -0
  203. package/templates/appold/README.md +12 -0
  204. package/templates/appold/app/index.html +8 -0
  205. package/templates/appold/app/properties/ApplicationResources_en_US.properties +1 -0
  206. package/templates/appold/app/properties/i18nkeys.json +3 -0
  207. package/templates/appold/docs/all.html +69 -0
  208. package/templates/appold/mockapi/index.js +13 -0
  209. package/templates/{app → appold}/mockapi/tickets.json +0 -0
  210. package/templates/appold/package.json +17 -0
  211. package/templates/appold/src/components/Text/Text.css +0 -0
  212. package/templates/appold/src/components/Text/Text.js +23 -0
  213. package/templates/appold/src/components/Text/__tests__/Text.spec.js +30 -0
  214. package/templates/appold/src/components/Text/docs/Text__default.docs.js +16 -0
  215. package/templates/appold/src/components/docs.js +1 -0
  216. package/templates/appold/src/components/index.js +5 -0
  217. package/templates/appold/src/index.js +13 -0
  218. package/templates/docs/all.html +1 -1
  219. package/templates/docs/component.html +110 -69
  220. package/templates/docs/components.html +221 -0
  221. package/templates/docs/css/component.css +12 -14
  222. package/templates/docs/css/componentTest.css +7 -0
  223. package/templates/docs/css/style.css +150 -206
  224. package/templates/docs/impactReportTemplate.html +154 -0
  225. package/templates/docs/index.html +1482 -1336
  226. package/templates/library/src/index.js +0 -0
@@ -0,0 +1,77 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = void 0;
7
+
8
+ var _miniCssExtractPlugin = _interopRequireDefault(require("mini-css-extract-plugin"));
9
+
10
+ var _cssClassNameGenerate = _interopRequireDefault(require("../utils/cssClassNameGenerate"));
11
+
12
+ var _utils = require("../utils");
13
+
14
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
15
+
16
+ let options = (0, _utils.getOptions)();
17
+ let isWin = process.platform === 'win32';
18
+
19
+ let getCSSLoaders = (hasRTL, rtlExclude, classNameBlob, cssUniqueness, selectorReplace, cssHashSelectors, classNamePrefix) => {
20
+ const {
21
+ devCssFileBountry
22
+ } = options.app;
23
+ const {
24
+ cssSelectorZipPath
25
+ } = options.impactService;
26
+ let rtlExcludeLocal = isWin ? rtlExclude.map(r => r.replace(/\//g, '\\')) : rtlExclude;
27
+ let cssLoaderOptions = {
28
+ importLoaders: hasRTL ? 1 : 0,
29
+ modules: {},
30
+ sourceMap: true
31
+ };
32
+
33
+ if (classNameBlob) {
34
+ cssLoaderOptions.modules.localIdentName = classNameBlob;
35
+ } else {
36
+ cssLoaderOptions.modules.getLocalIdent = (0, _cssClassNameGenerate.default)(cssUniqueness, cssHashSelectors, classNamePrefix);
37
+ }
38
+
39
+ return [cssSelectorZipPath && {
40
+ loader: require.resolve('../loaders/selectorMappingLoader')
41
+ }, {
42
+ loader: _miniCssExtractPlugin.default.loader,
43
+ options: {
44
+ publicPath: '../'
45
+ }
46
+ }, {
47
+ loader: 'css-loader',
48
+ options: cssLoaderOptions
49
+ }, devCssFileBountry && {
50
+ loader: require.resolve('../loaders/fileBountryLoader'),
51
+ options: {
52
+ devCssFileBountry
53
+ }
54
+ }, hasRTL || selectorReplace ? {
55
+ loader: 'postcss-loader',
56
+ options: {
57
+ ident: 'postcss',
58
+ plugins: function () {
59
+ return [selectorReplace && require('postcss-selector-replace')(selectorReplace), hasRTL && require('../postcss-plugins/ExcludeRTLPlugin')({
60
+ ignore: rtlExcludeLocal,
61
+ plugins: [require('@zohodesk/postcss-rtl')({
62
+ addPrefixToSelector: function addPrefixToSelector(selector, prefix) {
63
+ if (prefix === '[dir]') {
64
+ return selector;
65
+ }
66
+
67
+ return `${prefix} ${selector}`; // Make selectors like [dir=rtl] > .selector
68
+ }
69
+ })]
70
+ })].filter(Boolean);
71
+ }
72
+ }
73
+ } : null].filter(Boolean);
74
+ };
75
+
76
+ var _default = getCSSLoaders;
77
+ exports.default = _default;
@@ -1,22 +1,26 @@
1
- 'use strict';
1
+ "use strict";
2
2
 
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
+ exports.default = void 0;
6
7
 
7
- var _path = require('path');
8
-
9
- var _path2 = _interopRequireDefault(_path);
8
+ var _path = _interopRequireDefault(require("path"));
10
9
 
11
10
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
12
11
 
13
- var getDevJsLoaders = function getDevJsLoaders(options) {
14
- var _options$app = options.app,
15
- disableES5Transpile = _options$app.disableES5Transpile,
16
- instrumentScript = _options$app.instrumentScript,
17
- enableEslint = options.esLint.enable;
18
-
19
- var loaders = [];
12
+ let getDevJsLoaders = options => {
13
+ let {
14
+ app: {
15
+ disableES5Transpile,
16
+ instrumentScript,
17
+ devConsoleExculde
18
+ },
19
+ esLint: {
20
+ enable: enableEslint
21
+ }
22
+ } = options;
23
+ let loaders = [];
20
24
 
21
25
  if (instrumentScript) {
22
26
  loaders.push({
@@ -27,19 +31,21 @@ var getDevJsLoaders = function getDevJsLoaders(options) {
27
31
  loaders.push({
28
32
  loader: 'babel-loader',
29
33
  options: {
30
- presets: [[require.resolve('babel-preset-env'), disableES5Transpile ? {
34
+ presets: [[require.resolve('@babel/preset-env'), disableES5Transpile ? {
31
35
  modules: false,
32
- useBuiltIns: true,
36
+ useBuiltIns: 'usage',
37
+ corejs: 3,
33
38
  targets: {
34
- browsers: ['Chrome >= 60', 'Safari >= 10.1', 'iOS >= 10.3', 'Firefox >= 54', 'Edge >= 15']
39
+ browsers: ['last 3 Chrome versions', 'last 3 Firefox versions', 'last 3 Edge versions']
35
40
  }
36
- } : { modules: false }], require.resolve('babel-preset-react')],
37
- plugins: disableES5Transpile ? [require.resolve('babel-plugin-syntax-dynamic-import')] : [[require.resolve('babel-plugin-transform-runtime'), {
38
- helpers: true,
39
- polyfill: true,
40
- regenerator: false,
41
- moduleName: 'babel-runtime'
42
- }], require.resolve('babel-plugin-syntax-dynamic-import')],
41
+ } : {
42
+ modules: false
43
+ }], require.resolve('@babel/preset-react')],
44
+ plugins: disableES5Transpile ? [require.resolve('@babel/plugin-syntax-dynamic-import'), require.resolve('babel-plugin-lodash'), require.resolve('@babel/plugin-proposal-object-rest-spread'), devConsoleExculde ? [require.resolve('babel-plugin-transform-remove-console'), {
45
+ exclude: ['error', 'log']
46
+ }] : null].filter(Boolean) : [require.resolve('@babel/plugin-syntax-dynamic-import'), require.resolve('babel-plugin-lodash'), require.resolve('@babel/plugin-proposal-object-rest-spread'), devConsoleExculde ? [require.resolve('babel-plugin-transform-remove-console'), {
47
+ exclude: ['error', 'log']
48
+ }] : null].filter(Boolean),
43
49
  cacheDirectory: true
44
50
  }
45
51
  });
@@ -50,7 +56,7 @@ var getDevJsLoaders = function getDevJsLoaders(options) {
50
56
  options: {
51
57
  emitError: true,
52
58
  emitWarning: true,
53
- configFile: _path2.default.join(__dirname, '..', '..', '.eslintrc.js')
59
+ configFile: _path.default.join(__dirname, '..', '..', '.eslintrc.js')
54
60
  }
55
61
  });
56
62
  }
@@ -58,4 +64,5 @@ var getDevJsLoaders = function getDevJsLoaders(options) {
58
64
  return loaders;
59
65
  };
60
66
 
61
- exports.default = getDevJsLoaders;
67
+ var _default = getDevJsLoaders;
68
+ exports.default = _default;
@@ -1,16 +1,23 @@
1
- 'use strict';
1
+ "use strict";
2
2
 
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
-
7
- var _getDevJsLoaders = require('./getDevJsLoaders');
8
-
9
- Object.defineProperty(exports, 'getDevJsLoaders', {
6
+ Object.defineProperty(exports, "getDevJsLoaders", {
10
7
  enumerable: true,
11
- get: function get() {
12
- return _interopRequireDefault(_getDevJsLoaders).default;
8
+ get: function () {
9
+ return _getDevJsLoaders.default;
13
10
  }
14
11
  });
12
+ Object.defineProperty(exports, "getCSSLoaders", {
13
+ enumerable: true,
14
+ get: function () {
15
+ return _getCSSLoaders.default;
16
+ }
17
+ });
18
+
19
+ var _getDevJsLoaders = _interopRequireDefault(require("./getDevJsLoaders"));
20
+
21
+ var _getCSSLoaders = _interopRequireDefault(require("./getCSSLoaders"));
15
22
 
16
23
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
@@ -1,22 +1,22 @@
1
- 'use strict';
1
+ "use strict";
2
2
 
3
- var _fs = require('fs');
3
+ var _fs = _interopRequireDefault(require("fs"));
4
4
 
5
- var _fs2 = _interopRequireDefault(_fs);
6
-
7
- var _path = require('path');
8
-
9
- var _path2 = _interopRequireDefault(_path);
5
+ var _path = _interopRequireDefault(require("path"));
10
6
 
11
7
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
12
8
 
13
9
  module.exports = function (source) {
14
- var comNameAry = this.resourcePath.split(_path2.default.sep);
15
- var filePath = this.resourcePath;
16
- var appPath = _fs2.default.realpathSync(process.cwd());
17
- var changePath = filePath.replace('/lib/', '/src/');
18
- var comName = comNameAry[comNameAry.length - 1];
19
- var name = comName.substring(0, comName.lastIndexOf('.'));
20
- var src = _fs2.default.readFileSync(filePath.startsWith(appPath) ? filePath : changePath).toString();
21
- return source + ';' + name + '.source=' + JSON.stringify(src) + ';' + name + '.filePath=' + JSON.stringify(filePath);
10
+ let comNameAry = this.resourcePath.split(_path.default.sep);
11
+ let filePath = this.resourcePath;
12
+
13
+ let appPath = _fs.default.realpathSync(process.cwd());
14
+
15
+ let changePath = filePath.replace('/lib/', '/src/');
16
+ let comName = comNameAry[comNameAry.length - 1];
17
+ let name = comName.substring(0, comName.lastIndexOf('.'));
18
+
19
+ let src = _fs.default.readFileSync(filePath.startsWith(appPath) ? filePath : changePath).toString();
20
+
21
+ return `${source};${name}.source=${JSON.stringify(src)};${name}.filePath=${JSON.stringify(filePath)}`;
22
22
  };
@@ -1,30 +1,27 @@
1
- 'use strict';
1
+ "use strict";
2
2
 
3
- var _reactDocgen = require('react-docgen');
3
+ var _reactDocgen = _interopRequireDefault(require("react-docgen"));
4
4
 
5
- var _reactDocgen2 = _interopRequireDefault(_reactDocgen);
5
+ var _path = _interopRequireDefault(require("path"));
6
6
 
7
- var _path = require('path');
8
-
9
- var _path2 = _interopRequireDefault(_path);
10
-
11
- var _utils = require('../utils');
7
+ var _utils = require("../utils");
12
8
 
13
9
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
14
10
 
15
11
  // import loaderUtils from 'loader-utils';
16
- module.exports = function (source) {
17
- undefined.cacheable && undefined.cacheable();
18
- // let query = loaderUtils.parseQuery(this.query);
12
+ module.exports = source => {
13
+ (void 0).cacheable && (void 0).cacheable(); // let query = loaderUtils.parseQuery(this.query);
14
+
15
+ let value = {};
19
16
 
20
- var value = {};
21
17
  try {
22
- value = _reactDocgen2.default.parse(source);
18
+ value = _reactDocgen.default.parse(source);
23
19
  } catch (e) {
24
20
  (0, _utils.log)('ERROR in docgen-loader', e);
25
21
  }
26
- var comNameAry = undefined.resourcePath.split(_path2.default.sep);
27
- var comName = comNameAry[comNameAry.length - 1];
28
- var name = comName.substring(0, comName.lastIndexOf('.'));
29
- return source + ';' + name + '.propsObj=' + JSON.stringify(value);
22
+
23
+ let comNameAry = (void 0).resourcePath.split(_path.default.sep);
24
+ let comName = comNameAry[comNameAry.length - 1];
25
+ let name = comName.substring(0, comName.lastIndexOf('.'));
26
+ return `${source};${name}.propsObj=${JSON.stringify(value)}`;
30
27
  };
@@ -0,0 +1,17 @@
1
+ "use strict";
2
+
3
+ var _path = _interopRequireDefault(require("path"));
4
+
5
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
6
+
7
+ module.exports = function (source) {
8
+ const {
9
+ rootContext,
10
+ resourcePath,
11
+ query
12
+ } = this;
13
+ const {
14
+ devCssFileBountry
15
+ } = query;
16
+ return `/*${devCssFileBountry} ${_path.default.relative(rootContext, resourcePath)}*/\n${source}`;
17
+ };
@@ -1,62 +1,64 @@
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 _loaderUtils = _interopRequireDefault(require("loader-utils"));
6
6
 
7
- var _loaderUtils = require('loader-utils');
8
-
9
- var _loaderUtils2 = _interopRequireDefault(_loaderUtils);
7
+ var _common = require("../common");
10
8
 
11
9
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
12
10
 
13
11
  module.exports = function (content) {
12
+ let {
13
+ userRequest
14
+ } = this._module.issuer;
14
15
  this.cacheable && this.cacheable();
16
+
15
17
  if (!this.emitFile) {
16
18
  throw new Error('emitFile is required from module system');
17
19
  }
18
20
 
19
- var options = _loaderUtils2.default.getOptions(this) || {};
20
- var query = this.resourceQuery ? _loaderUtils2.default.parseQuery(this.resourceQuery) : {};
21
-
22
- // let configKey = query.config || 'fileLoader';
21
+ let options = _loaderUtils.default.getOptions(this) || {};
22
+ let query = this.resourceQuery ? _loaderUtils.default.parseQuery(this.resourceQuery) : {}; // let configKey = query.config || 'fileLoader';
23
23
 
24
- var config = {
25
- publicPath: false,
24
+ let config = {
25
+ // publicPath: false,
26
26
  useRelativePath: false,
27
- name: '[hash].[ext]',
28
- publicPathStrigify: true
29
- };
27
+ name: '[hash].[ext]' // publicPathStrigify: true
30
28
 
31
- // options takes precedence over config
32
- Object.keys(options).forEach(function (attr) {
29
+ }; // options takes precedence over config
30
+
31
+ Object.keys(options).forEach(attr => {
33
32
  config[attr] = options[attr];
34
- });
33
+ }); // query takes precedence over config and options
35
34
 
36
- // query takes precedence over config and options
37
- Object.keys(query).forEach(function (attr) {
35
+ Object.keys(query).forEach(attr => {
38
36
  config[attr] = query[attr];
39
37
  });
38
+ let context = config.context || options.context;
40
39
 
41
- var context = config.context || options.context;
42
- var url = _loaderUtils2.default.interpolateName(this, config.name, {
40
+ let url = _loaderUtils.default.interpolateName(this, config.name, {
43
41
  context: context,
44
42
  content: content,
45
43
  regExp: config.regExp
46
44
  });
47
45
 
48
- var outputPath = '';
46
+ let outputPath = '';
47
+ let filePath = this.resourcePath;
49
48
 
50
- var filePath = this.resourcePath;
51
49
  if (config.useRelativePath) {
52
- var issuerContext = this._module && this._module.issuer && this._module.issuer.context || context;
53
- var relativeUrl = issuerContext && _path2.default.relative(issuerContext, filePath).split(_path2.default.sep).join('/');
54
- var relativePath = relativeUrl && _path2.default.dirname(relativeUrl) + '/';
50
+ let issuerContext = this._module && this._module.issuer && this._module.issuer.context || context;
51
+
52
+ let relativeUrl = issuerContext && _path.default.relative(issuerContext, filePath).split(_path.default.sep).join('/');
53
+
54
+ let relativePath = relativeUrl && `${_path.default.dirname(relativeUrl)}/`;
55
+
55
56
  if (~relativePath.indexOf('../')) {
56
- outputPath = _path2.default.posix.join(outputPath, relativePath, url);
57
+ outputPath = _path.default.posix.join(outputPath, relativePath, url);
57
58
  } else {
58
59
  outputPath = relativePath + url;
59
60
  }
61
+
60
62
  url = relativePath + url;
61
63
  } else if (config.outputPath) {
62
64
  // support functions as outputPath to generate them dynamically
@@ -66,21 +68,28 @@ module.exports = function (content) {
66
68
  outputPath = url;
67
69
  }
68
70
 
69
- var publicPath = '__webpack_public_path__ + ' + JSON.stringify(url);
70
- if (config.publicPath !== false) {
71
- // support functions as publicPath to generate them dynamically
72
- if (config.publicPathStringify) {
73
- publicPath = JSON.Stringify(typeof config.publicPath === 'function' ? config.publicPath(url) : config.publicPath + url);
74
- } else {
75
- publicPath = typeof config.publicPath === 'function' ? config.publicPath(url) : config.publicPath + url;
76
- }
77
- }
71
+ let requestFromJS = /\.js$/.test(userRequest);
72
+ let publicPath = requestFromJS ? (0, _common.getPublicPathConfig)(url) : `__webpack_public_path__ + ${JSON.stringify(url)}`; // if (config.publicPath !== false) {
73
+ // // support functions as publicPath to generate them dynamically
74
+ // if (config.publicPathStringify) {
75
+ // publicPath = JSON.Stringify(
76
+ // typeof config.publicPath === 'function'
77
+ // ? config.publicPath(url)
78
+ // : config.publicPath + url
79
+ // );
80
+ // } else {
81
+ // publicPath =
82
+ // typeof config.publicPath === 'function'
83
+ // ? config.publicPath(url)
84
+ // : config.publicPath + url;
85
+ // }
86
+ // }
78
87
 
79
88
  if (query.emitFile === undefined || query.emitFile) {
80
89
  this.emitFile(outputPath, content);
81
90
  }
82
91
 
83
- return 'module.exports = ' + publicPath + ';';
92
+ return `module.exports = ${publicPath};`;
84
93
  };
85
94
 
86
95
  module.exports.raw = true;
@@ -1,18 +1,16 @@
1
- 'use strict';
1
+ "use strict";
2
2
 
3
- var _esprima = require('esprima');
3
+ var esprima = _interopRequireWildcard(require("esprima"));
4
4
 
5
- var esprima = _interopRequireWildcard(_esprima);
6
-
7
- var _escodegen = require('escodegen');
8
-
9
- var _escodegen2 = _interopRequireDefault(_escodegen);
5
+ var _escodegen = _interopRequireDefault(require("escodegen"));
10
6
 
11
7
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
12
8
 
13
- function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } }
9
+ function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
14
10
 
15
- var start = {
11
+ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
12
+
13
+ let start = {
16
14
  type: 'ExpressionStatement',
17
15
  expression: {
18
16
  type: 'CallExpression',
@@ -56,22 +54,28 @@ var start = {
56
54
  }
57
55
  };
58
56
 
59
- var scriptInstrumentLoader = function scriptInstrumentLoader(source) {
60
- var parsed = esprima.parseModule(source, { jsx: true });
61
- for (var i in parsed.body) {
57
+ let scriptInstrumentLoader = function (source) {
58
+ let parsed = esprima.parseModule(source, {
59
+ jsx: true
60
+ });
61
+
62
+ for (let i in parsed.body) {
62
63
  if (parsed.body[i].type === 'FunctionDeclaration' || parsed.body[i].type === 'ExportDefaultDeclaration' || parsed.body[i].type === 'ExportNamedDeclaration') {
63
- var ParsedTemp = void 0;
64
+ let ParsedTemp;
65
+
64
66
  if (parsed.body[i].type === 'FunctionDeclaration') {
65
67
  ParsedTemp = parsed.body[i];
66
68
  } else {
67
69
  ParsedTemp = parsed.body[i].declaration;
68
70
  }
71
+
69
72
  if (ParsedTemp) {
70
73
  if (ParsedTemp.id) {
71
- var funcname = ParsedTemp.id.name;
74
+ let funcname = ParsedTemp.id.name;
75
+
72
76
  if (funcname !== 'mapStateToProps') {
73
77
  if (!funcname.includes('_')) {
74
- var startFunc = JSON.parse(JSON.stringify(start));
78
+ let startFunc = JSON.parse(JSON.stringify(start));
75
79
  startFunc.expression.arguments[0].value = this.resourcePath;
76
80
  startFunc.expression.arguments[0].raw = this.resourcePath;
77
81
  startFunc.expression.arguments[1].value = funcname;
@@ -84,8 +88,7 @@ var scriptInstrumentLoader = function scriptInstrumentLoader(source) {
84
88
  }
85
89
  }
86
90
 
87
- return _escodegen2.default.generate(parsed);
88
- // function removeDuplicates(arr) {
91
+ return _escodegen.default.generate(parsed); // function removeDuplicates(arr) {
89
92
  // let uniqueArray = [];
90
93
  // for (let i = 0; i < arr.length; i++) {
91
94
  // if (uniqueArray.indexOf(arr[i]) == -1) {
@@ -97,9 +100,7 @@ var scriptInstrumentLoader = function scriptInstrumentLoader(source) {
97
100
  // funcArray = removeDuplicates(funcArray);
98
101
  };
99
102
 
100
- module.exports = scriptInstrumentLoader;
101
-
102
- // let start = {
103
+ module.exports = scriptInstrumentLoader; // let start = {
103
104
  // type: 'ExpressionStatement',
104
105
  // expression: {
105
106
  // type: 'CallExpression',
@@ -0,0 +1,75 @@
1
+ "use strict";
2
+
3
+ var _path = _interopRequireDefault(require("path"));
4
+
5
+ var _fs = _interopRequireDefault(require("fs"));
6
+
7
+ var _utils = require("../utils");
8
+
9
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
10
+
11
+ let options = (0, _utils.getOptions)();
12
+ const {
13
+ cssSelectorZipPath
14
+ } = options.impactService;
15
+
16
+ const zipname = _path.default.parse(cssSelectorZipPath).name; // console.log({ cssSelectorZipPath, zipname });
17
+ // TODO:NOTE: need to check about .. path related files creation
18
+ // for now no css files have given form react-cli need to make sure about it.
19
+
20
+
21
+ let zippath = _path.default.join(process.cwd(), cssSelectorZipPath);
22
+
23
+ if (_fs.default.existsSync(_path.default.join(process.cwd(), cssSelectorZipPath))) {
24
+ _fs.default.rmSync(zippath);
25
+
26
+ console.log('zip file deleted', zippath); // fs.rmSync(zippath, {force:true})
27
+ // console.log('created folder ==> ', dpath);
28
+ } // const minicssComment =
29
+ // '// extracted by mini-css-extract-plugin\n';
30
+
31
+
32
+ const startStr = '// extracted by mini-css-extract-plugin\n' + 'module.exports = ';
33
+
34
+ module.exports = function (source) {
35
+ const {
36
+ rootContext,
37
+ resourcePath
38
+ } = this;
39
+
40
+ const relativePath = _path.default.relative(rootContext, resourcePath);
41
+
42
+ let fpath = _path.default.join(rootContext, zipname, relativePath);
43
+
44
+ let originalpath = _path.default.join(rootContext, relativePath);
45
+
46
+ if (relativePath.startsWith('..')) {
47
+ throw `unexpected path ${relativePath}`;
48
+ }
49
+
50
+ let dpath = fpath.slice(0, fpath.lastIndexOf(_path.default.sep));
51
+
52
+ if (!_fs.default.existsSync(originalpath)) {
53
+ throw `originalpath not exixt ${originalpath}`;
54
+ }
55
+
56
+ if (!_fs.default.existsSync(dpath)) {
57
+ _fs.default.mkdirSync(dpath, {
58
+ recursive: true
59
+ });
60
+ }
61
+
62
+ let jsonStr = '{}';
63
+
64
+ if (source.startsWith(startStr)) {
65
+ // source will be like
66
+ // `// extracted by mini-css-extract-plugin\nmodule.exports = {"app":"zd-app"};`
67
+ jsonStr = source.slice(startStr.length, -1);
68
+ }
69
+
70
+ _fs.default.writeFileSync(`${fpath}_map`, jsonStr);
71
+
72
+ _fs.default.writeFileSync(fpath, _fs.default.readFileSync(originalpath));
73
+
74
+ return source;
75
+ };