@zohodesk/client_build_tool 0.0.15-exp.1 → 0.0.15-exp.10

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/CHANGELOG.md CHANGED
@@ -1,32 +1,5 @@
1
1
  # Changelog and Release Notes
2
2
 
3
- # v0.0.15 (11-10-2025)
4
-
5
- **Feature:-**
6
- - Chunk Dependency Mapping: Added a new feature that generates a JSON file listing all chunk dependencies in the Webpack build
7
- For example, if main.js is a chunk, the generated JSON will include all of its direct imports (dependencies).
8
- - Purpose:
9
- To provide clear visibility into chunk relationships and dependencies for debugging, optimization, and performance analysis.
10
-
11
- ```
12
- chunkGraph:{
13
- enable: { value: true },
14
- fileName: ''
15
- }
16
- ```
17
-
18
- - Preload Chunk Split Visualization
19
- Enhanced the Preload Chunk (PLC) mechanism to identify and list the sub-chunks generated from a preloaded parent chunk.
20
- When a chunk is configured for preloading (e.g., ticket.js), the system now traces and records all the split chunks associated with it — for example
21
-
22
- ```
23
- resourceHints: {
24
- enable: true,
25
- PreloadChunkNames: [//name of chunks to be preload//]
26
- },
27
- ```
28
-
29
-
30
3
  # v0.0.14 (06-10-2025)
31
4
 
32
5
  **Feature:-**
package/README.md CHANGED
@@ -306,32 +306,136 @@ First Release
306
306
  - 'templates' command to create es for react library
307
307
  # Changelog and Release Notes
308
308
 
309
- # v0.0.15 (11-10-2025)
309
+ # v0.0.14 (06-10-2025)
310
310
 
311
311
  **Feature:-**
312
- - Chunk Dependency Mapping: Added a new feature that generates a JSON file listing all chunk dependencies in the Webpack build
313
- For example, if main.js is a chunk, the generated JSON will include all of its direct imports (dependencies).
314
- - Purpose:
315
- To provide clear visibility into chunk relationships and dependencies for debugging, optimization, and performance analysis.
312
+ - Added integrity and crossorigin attributes for all the js and css files in index.html
316
313
 
314
+ ```enableSubResourceIntegrity: true
317
315
  ```
318
- chunkGraph:{
319
- enable: { value: true },
320
- fileName: ''
321
- }
322
- ```
316
+ **Adjustments:-**
317
+ - add ts-loader to parse tsx and ts files
323
318
 
324
- - Preload Chunk Split Visualization
325
- Enhanced the Preload Chunk (PLC) mechanism to identify and list the sub-chunks generated from a preloaded parent chunk.
326
- When a chunk is configured for preloading (e.g., ticket.js), the system now traces and records all the split chunks associated with it — for example
319
+ # v0.0.13 (02-09-2025)
327
320
 
328
- ```
329
- resourceHints: {
321
+ **Adjustments:-**
322
+ - Source map files are created in the smap/ folder by default. However, they are also being created in the js/ folder to resolve the issue where Murphy was unable to locate them.
323
+
324
+ **Feature:-**
325
+ - Added support for Murphy to be built as a separate chunk and injected as the top script in the initial HTML.
326
+ - To enable this support , add this in your configuration
327
+
328
+ ```murphyBootstrapHtml{
330
329
  enable: true,
331
- PreloadChunkNames: [//name of chunks to be preload//]
332
- },
330
+ chunkName: '',
331
+ filePath: ''
332
+ }```
333
+
334
+
335
+
336
+ # v0.0.12 (14-08-2025)
337
+
338
+ - Fixed the initial i18n loading issue caused by using the same function in both the i18nRuntimeDealer plugin and decidePublicPath
339
+
340
+ # v0.0.11 (07-08-2025) (had an issue while enable i18n chunk split plugin)
341
+ - remove babel-plugin-module-resolver dependencies
342
+
343
+ **Adjustments:-**
344
+ - Public Folder configuration is separated for development and production
345
+
346
+ **Bug Fix:-**
347
+ - Fixed the issue where the build log was not visible when `stats (bundle integrity)` was enabled. The problem was resolved by adding an error check in the `bundleIntegrity plugin`.
348
+ - Removed the babel-plugin-module-resolver dependency to resolve the alias resolution issue in the application.
349
+ - Fixed the issue where a space in the variable name causes it to return an undefined value.
350
+ - Fixed the URL path generation issue that occurred while using context in the development setup.
351
+
352
+
353
+ # v0.0.10 (12-05-2025)
354
+ **Feature:-**
355
+ - `alias` support for `build:es` and `build:lib`
356
+ - Add babel-plugin-module-resolver dependencies
357
+ - Modify getBabelPlugin to include module resolver with aliases
358
+
359
+ **Bug Fix:-**
360
+ - Enhance runBabelForTSFile to handle both .tsx and .ts file extensions
361
+ - Update mockApiHandler to ensure mock function is called correctly
362
+
363
+ **Change:-**
364
+ - Refactor defaultConfigValues.js to include cli options for enableRTLSplit
365
+
366
+ ## v0.0.9
367
+
368
+ **Feature:-**
369
+ - externals was added to Prevent bundling of certain imported packages and retrieve these external dependencies at runtime.
370
+ - to use externals, we use the following pattern in `app > externals` :
371
+
372
+ For example
333
373
  ```
374
+ externals: {
375
+ <key> : <value>
376
+ }
377
+ ```
378
+
379
+ ## v0.0.6 (4-09-2023)
380
+
381
+ **Feature:-**
382
+ - Generating bundle integrity report json file for the build assets only in production mode. To use this feature we need to add `stats > enable` or cli flags `enable_stats`.
383
+ - Added Resource Cleanup plugin to cleanup resource retained by build tool. this plugin is controlled by efc flag resourcecleanup flag.
384
+ - added support for using regex expression to get group of chunks chunkId via Resource Hint plugin prefetch/preload hook.
385
+ only will be activate when `resourceHints` => `allowPrefetchingMultipleChunks` as `true`
386
+ - added support for glob pattern for custom chunks split logic.
387
+ - added options to split chunks base config in the key `app` => `customChunksBaseConfig` as object
388
+
389
+ **Change:-**
390
+ - i18n name not generated issue fix.
391
+ - public path not correctly set issue fix.
392
+ - changing plugin hook stages in i18nRuntimePlugin and sourceMapPlugin
393
+ ## v0.0.5 (6-08-2023)
394
+
395
+ **Changes:--**
396
+ - Typo fix in i18nRuntimeDealerPlugin.js
397
+ - fixing some bugs in resolvers.js file
398
+
399
+ ## v0.0.3 (1-08-2023)
400
+
401
+ **Changes:--**
402
+ - `devtool` default value changed from `hidden-cheap-source-map` to `source-map`
403
+ - unwanted files deleted from build
404
+
405
+ **Issue Fix:--**
406
+ - The issue with the source map not being created in the build has been fixed."
407
+
334
408
 
409
+ ## v0.0.2 (28-04-2023)
410
+
411
+ **Features:-**
412
+
413
+ - `devModeContentHashAllowedTypes` support added for some project there will be a need for hash even though they run dev mode. for details [details](https://zgit.csez.zohocorpin.com/zohodesk/react-cli/-/blob/3.0.0/packages/client_build_tool/ConfigurationDocumentation.md#devModeContentHashAllowedTypes)
414
+ - `devLikeHash` support for disable content hash for file names in production mode. for details [details](https://zgit.csez.zohocorpin.com/zohodesk/react-cli/-/blob/3.0.0/packages/client_build_tool/ConfigurationDocumentation.md#devLikeHash)
415
+ - `disableReactDevWarning` disable react dev warning such as prop-type warnings will be removed in dev mode build or server. for details [details](https://zgit.csez.zohocorpin.com/zohodesk/react-cli/-/blob/3.0.0/packages/client_build_tool/ConfigurationDocumentation.md#disableReactDevWarning) can be enabled via `--disable_react_dev_warning` too.
416
+ - `statsLogConfig` support to customize default webpack log after build finished. for details [details](https://zgit.csez.zohocorpin.com/zohodesk/react-cli/-/blob/3.0.0/packages/client_build_tool/ConfigurationDocumentation.md#statsLogConfig) can be enabled via `--disable_react_dev_warning` too.
417
+ - `enableChunkHash` renamed as `enableFileNameHashing`
418
+
419
+ - `pre_processor` command to run the preprocessor.js file.preProcessor runs in build, start, buildEs, buildLib commands bu default. and we have watch mode support as well with the option (`-w`)
420
+ - `createSeparateSmap` flag `source_map_enable` renamed as `enable_smap`
421
+ - `removeAttribute` option changes as `babelCustomizations.removeAttribute`
422
+ - `removePropTypes` support for remove the prop types package in the output build.
423
+ - `devConsoleExclude` support for remove the _console statements_ such as _console.log_, _console.warn_ in the output build.
424
+ - `manifestJson` default value set as false.
425
+ - `customAttributes` support for add attributes to html, link , script tag in the output build.
426
+
427
+
428
+ ## v0.0.1 (18-04-2023)
429
+
430
+ First Release
431
+ **Features:-**
432
+
433
+ - 'start' command to run react app
434
+ - 'build' command to create build for react app
435
+ - 'build:lib' command to create lib for react library
436
+ - 'build:es' command to create es for react library
437
+ - 'templates' command to create es for react library
438
+ # Changelog and Release Notes
335
439
 
336
440
  # v0.0.14 (06-10-2025)
337
441
 
package/README_backup.md CHANGED
@@ -294,6 +294,137 @@ For example
294
294
  - `customAttributes` support for add attributes to html, link , script tag in the output build.
295
295
 
296
296
 
297
+ ## v0.0.1 (18-04-2023)
298
+
299
+ First Release
300
+ **Features:-**
301
+
302
+ - 'start' command to run react app
303
+ - 'build' command to create build for react app
304
+ - 'build:lib' command to create lib for react library
305
+ - 'build:es' command to create es for react library
306
+ - 'templates' command to create es for react library
307
+ # Changelog and Release Notes
308
+
309
+ # v0.0.14 (06-10-2025)
310
+
311
+ **Feature:-**
312
+ - Added integrity and crossorigin attributes for all the js and css files in index.html
313
+
314
+ ```enableSubResourceIntegrity: true
315
+ ```
316
+ **Adjustments:-**
317
+ - add ts-loader to parse tsx and ts files
318
+
319
+ # v0.0.13 (02-09-2025)
320
+
321
+ **Adjustments:-**
322
+ - Source map files are created in the smap/ folder by default. However, they are also being created in the js/ folder to resolve the issue where Murphy was unable to locate them.
323
+
324
+ **Feature:-**
325
+ - Added support for Murphy to be built as a separate chunk and injected as the top script in the initial HTML.
326
+ - To enable this support , add this in your configuration
327
+
328
+ ```murphyBootstrapHtml{
329
+ enable: true,
330
+ chunkName: '',
331
+ filePath: ''
332
+ }```
333
+
334
+
335
+
336
+ # v0.0.12 (14-08-2025)
337
+
338
+ - Fixed the initial i18n loading issue caused by using the same function in both the i18nRuntimeDealer plugin and decidePublicPath
339
+
340
+ # v0.0.11 (07-08-2025) (had an issue while enable i18n chunk split plugin)
341
+ - remove babel-plugin-module-resolver dependencies
342
+
343
+ **Adjustments:-**
344
+ - Public Folder configuration is separated for development and production
345
+
346
+ **Bug Fix:-**
347
+ - Fixed the issue where the build log was not visible when `stats (bundle integrity)` was enabled. The problem was resolved by adding an error check in the `bundleIntegrity plugin`.
348
+ - Removed the babel-plugin-module-resolver dependency to resolve the alias resolution issue in the application.
349
+ - Fixed the issue where a space in the variable name causes it to return an undefined value.
350
+ - Fixed the URL path generation issue that occurred while using context in the development setup.
351
+
352
+
353
+ # v0.0.10 (12-05-2025)
354
+ **Feature:-**
355
+ - `alias` support for `build:es` and `build:lib`
356
+ - Add babel-plugin-module-resolver dependencies
357
+ - Modify getBabelPlugin to include module resolver with aliases
358
+
359
+ **Bug Fix:-**
360
+ - Enhance runBabelForTSFile to handle both .tsx and .ts file extensions
361
+ - Update mockApiHandler to ensure mock function is called correctly
362
+
363
+ **Change:-**
364
+ - Refactor defaultConfigValues.js to include cli options for enableRTLSplit
365
+
366
+ ## v0.0.9
367
+
368
+ **Feature:-**
369
+ - externals was added to Prevent bundling of certain imported packages and retrieve these external dependencies at runtime.
370
+ - to use externals, we use the following pattern in `app > externals` :
371
+
372
+ For example
373
+ ```
374
+ externals: {
375
+ <key> : <value>
376
+ }
377
+ ```
378
+
379
+ ## v0.0.6 (4-09-2023)
380
+
381
+ **Feature:-**
382
+ - Generating bundle integrity report json file for the build assets only in production mode. To use this feature we need to add `stats > enable` or cli flags `enable_stats`.
383
+ - Added Resource Cleanup plugin to cleanup resource retained by build tool. this plugin is controlled by efc flag resourcecleanup flag.
384
+ - added support for using regex expression to get group of chunks chunkId via Resource Hint plugin prefetch/preload hook.
385
+ only will be activate when `resourceHints` => `allowPrefetchingMultipleChunks` as `true`
386
+ - added support for glob pattern for custom chunks split logic.
387
+ - added options to split chunks base config in the key `app` => `customChunksBaseConfig` as object
388
+
389
+ **Change:-**
390
+ - i18n name not generated issue fix.
391
+ - public path not correctly set issue fix.
392
+ - changing plugin hook stages in i18nRuntimePlugin and sourceMapPlugin
393
+ ## v0.0.5 (6-08-2023)
394
+
395
+ **Changes:--**
396
+ - Typo fix in i18nRuntimeDealerPlugin.js
397
+ - fixing some bugs in resolvers.js file
398
+
399
+ ## v0.0.3 (1-08-2023)
400
+
401
+ **Changes:--**
402
+ - `devtool` default value changed from `hidden-cheap-source-map` to `source-map`
403
+ - unwanted files deleted from build
404
+
405
+ **Issue Fix:--**
406
+ - The issue with the source map not being created in the build has been fixed."
407
+
408
+
409
+ ## v0.0.2 (28-04-2023)
410
+
411
+ **Features:-**
412
+
413
+ - `devModeContentHashAllowedTypes` support added for some project there will be a need for hash even though they run dev mode. for details [details](https://zgit.csez.zohocorpin.com/zohodesk/react-cli/-/blob/3.0.0/packages/client_build_tool/ConfigurationDocumentation.md#devModeContentHashAllowedTypes)
414
+ - `devLikeHash` support for disable content hash for file names in production mode. for details [details](https://zgit.csez.zohocorpin.com/zohodesk/react-cli/-/blob/3.0.0/packages/client_build_tool/ConfigurationDocumentation.md#devLikeHash)
415
+ - `disableReactDevWarning` disable react dev warning such as prop-type warnings will be removed in dev mode build or server. for details [details](https://zgit.csez.zohocorpin.com/zohodesk/react-cli/-/blob/3.0.0/packages/client_build_tool/ConfigurationDocumentation.md#disableReactDevWarning) can be enabled via `--disable_react_dev_warning` too.
416
+ - `statsLogConfig` support to customize default webpack log after build finished. for details [details](https://zgit.csez.zohocorpin.com/zohodesk/react-cli/-/blob/3.0.0/packages/client_build_tool/ConfigurationDocumentation.md#statsLogConfig) can be enabled via `--disable_react_dev_warning` too.
417
+ - `enableChunkHash` renamed as `enableFileNameHashing`
418
+
419
+ - `pre_processor` command to run the preprocessor.js file.preProcessor runs in build, start, buildEs, buildLib commands bu default. and we have watch mode support as well with the option (`-w`)
420
+ - `createSeparateSmap` flag `source_map_enable` renamed as `enable_smap`
421
+ - `removeAttribute` option changes as `babelCustomizations.removeAttribute`
422
+ - `removePropTypes` support for remove the prop types package in the output build.
423
+ - `devConsoleExclude` support for remove the _console statements_ such as _console.log_, _console.warn_ in the output build.
424
+ - `manifestJson` default value set as false.
425
+ - `customAttributes` support for add attributes to html, link , script tag in the output build.
426
+
427
+
297
428
  ## v0.0.1 (18-04-2023)
298
429
 
299
430
  First Release
@@ -7,8 +7,6 @@ exports.default = void 0;
7
7
 
8
8
  var _os = require("os");
9
9
 
10
- var _webpack = require("webpack");
11
-
12
10
  // NOTE: Don't use 'config_file' as cli option it was reserved
13
11
  var _default = {
14
12
  context: {
@@ -362,13 +360,6 @@ var _default = {
362
360
  enableSubResourceIntegrity: {
363
361
  value: false,
364
362
  cli: 'enable_sub_resource_integrity'
365
- },
366
- chunkGraph: {
367
- enable: {
368
- value: false,
369
- cli: 'chunk_graph_enable'
370
- },
371
- fileName: ''
372
363
  }
373
364
  };
374
365
  exports.default = _default;
@@ -33,7 +33,7 @@ class InjectChunkGraphPlugin {
33
33
  const runtimeChunk = stats.chunks.find(chunk => chunk.names?.some(n => n.includes('runtime~main')));
34
34
  const runtimeChunkName = runtimeChunk.files[0];
35
35
  const originalSource = compilation.assets[runtimeChunkName].source();
36
- const newSource = originalSource.replace('{{--preload-chunk-graph-object}}', `${JSON.stringify(chunkGraph)}`); // Update the runtime asset with injected code
36
+ const newSource = originalSource.replace('__PRELOAD_CHUNK_GRAPH__', `${JSON.stringify(chunkGraph)}`); // Update the runtime asset with injected code
37
37
 
38
38
  compilation.updateAsset(runtimeChunkName, new RawSource(newSource));
39
39
  });
@@ -145,7 +145,7 @@ class ResourceHintsRuntimePlugin extends _webpack.RuntimeModule {
145
145
 
146
146
  // Preload a chunk (${pluginName})
147
147
  ${_webpack.RuntimeGlobals.require}.plc = function preloadChunk(chunkId) {
148
- const preloadChunkGraph = {{--preload-chunk-graph-object}}
148
+ const preloadChunkGraph = __PRELOAD_CHUNK_GRAPH__
149
149
  ${`
150
150
  if (typeof preloadChunkGraph !== 'object' || !preloadChunkGraph) return;
151
151
  preloadChunkGraph[chunkId].forEach(idOfAChunk => {
@@ -13,7 +13,7 @@ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { de
13
13
 
14
14
  /* eslint-disable no-use-before-define */
15
15
  function configChunkHierarchyPlugin(options) {
16
- if (options.chunkGraph.enable && (0, _modeUtils.isProductionMode)(options.mode)) {
16
+ if (options.chunkGraph.enable || (0, _modeUtils.isProductionMode)(mode)) {
17
17
  return new _ChunkHierarchyPlugin.default(options.chunkGraph.fileName);
18
18
  }
19
19
 
@@ -51,8 +51,6 @@ var _configMurphyInjectorPlugin = require("./pluginConfigs/configMurphyInjectorP
51
51
 
52
52
  var _configCustomScriptLoadingStrategyPlugin = require("./pluginConfigs/configCustomScriptLoadingStrategyPlugin");
53
53
 
54
- var _configChunkHierarchyPlugin = require("./pluginConfigs/configChunkHierarchyPlugin");
55
-
56
54
  var _configInjectChunkGraphPlugin = require("./pluginConfigs/configInjectChunkGraphPlugin");
57
55
 
58
56
  // import { IgnorePlugin } from 'webpack';
@@ -60,5 +58,5 @@ function plugins(options) {
60
58
  const {
61
59
  webpackPlugins
62
60
  } = options;
63
- return [(0, _configEnvVariables.configEnvVariables)(options), (0, _configCustomAttributesPlugin.configCustomAttributesPlugin)(options), (0, _configTPHashMappingPlugin.configTPHashMappingPlugin)(options), (0, _configCopyPublicFolders.configCopyPublicFolders)(options), (0, _configIgnorePlugin.configIgnorePlugin)(options), (0, _configMiniCSSExtractPlugin.configMiniCSSExtractPlugin)(options), (0, _configSelectorWeightPlugin.configSelectorWeightPlugin)(options), (0, _configVariableConversionPlugin.configVariableConversionPlugin)(options), (0, _configI18nSplitPlugin.configI18nSplitPlugin)(options), (0, _configRtlCssPlugin.configRtlCssPlugin)(options), (0, _configHtmlWebpackPlugin.configHtmlWebpackPlugin)(options), (0, _configCustomScriptLoadingStrategyPlugin.configCustomScriptLoadingStrategyPlugin)(options), (0, _configCdnChangePlugin.configCdnChangePlugin)(options), (0, _configServiceWorkerPlugin.configServiceWorkerPlugin)(options), (0, _configEFCTemplatePlugin.configEFCTemplatePlugin)(options), (0, _configResourceHintsPlugin.configResourceHintsPlugin)(options), (0, _configBundleAnalyzer.configBundleAnalyzer)(options), (0, _configManifestJsonPlugin.configManifestJsonPlugin)(options), (0, _configSourceMapPlugin.configSourceMapPlugin)(options), (0, _configProgressPlugin.configProgressPlugin)(options), (0, _configBundleIntegrityReport.configBundleIntegrityReport)(options), (0, _configRuntimeResourceCleanup.configRuntimeResourceCleanup)(options), (0, _configMurphyInjectorPlugin.configMurphyInjectorPlugin)(options), (0, _configChunkHierarchyPlugin.configChunkHierarchyPlugin)(options), (0, _configInjectChunkGraphPlugin.configInjectChunkGraphPlugin)(options), ...webpackPlugins].filter(Boolean);
61
+ return [(0, _configEnvVariables.configEnvVariables)(options), (0, _configCustomAttributesPlugin.configCustomAttributesPlugin)(options), (0, _configTPHashMappingPlugin.configTPHashMappingPlugin)(options), (0, _configCopyPublicFolders.configCopyPublicFolders)(options), (0, _configIgnorePlugin.configIgnorePlugin)(options), (0, _configMiniCSSExtractPlugin.configMiniCSSExtractPlugin)(options), (0, _configSelectorWeightPlugin.configSelectorWeightPlugin)(options), (0, _configVariableConversionPlugin.configVariableConversionPlugin)(options), (0, _configI18nSplitPlugin.configI18nSplitPlugin)(options), (0, _configRtlCssPlugin.configRtlCssPlugin)(options), (0, _configHtmlWebpackPlugin.configHtmlWebpackPlugin)(options), (0, _configCustomScriptLoadingStrategyPlugin.configCustomScriptLoadingStrategyPlugin)(options), (0, _configCdnChangePlugin.configCdnChangePlugin)(options), (0, _configServiceWorkerPlugin.configServiceWorkerPlugin)(options), (0, _configEFCTemplatePlugin.configEFCTemplatePlugin)(options), (0, _configResourceHintsPlugin.configResourceHintsPlugin)(options), (0, _configBundleAnalyzer.configBundleAnalyzer)(options), (0, _configManifestJsonPlugin.configManifestJsonPlugin)(options), (0, _configSourceMapPlugin.configSourceMapPlugin)(options), (0, _configProgressPlugin.configProgressPlugin)(options), (0, _configBundleIntegrityReport.configBundleIntegrityReport)(options), (0, _configRuntimeResourceCleanup.configRuntimeResourceCleanup)(options), (0, _configMurphyInjectorPlugin.configMurphyInjectorPlugin)(options), (0, _configInjectChunkGraphPlugin.configInjectChunkGraphPlugin)(options), ...webpackPlugins].filter(Boolean);
64
62
  }
@@ -8,6 +8,7 @@ exports.tsLoaders = tsLoaders;
8
8
  var _babelLoaderConfig = require("./loaderConfigs/babelLoaderConfig");
9
9
 
10
10
  function tsLoaders(options) {
11
+ console.log('testing');
11
12
  return [{
12
13
  test: /\.tsx?$/,
13
14
  exclude: /node_modules/,