@zohodesk/client_build_tool 0.0.22-exp.2 → 0.0.22-exp.3

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 CHANGED
@@ -704,6 +704,1211 @@ For example
704
704
  - `customAttributes` support for add attributes to html, link , script tag in the output build.
705
705
 
706
706
 
707
+ ## v0.0.1 (18-04-2023)
708
+
709
+ First Release
710
+ **Features:-**
711
+
712
+ - 'start' command to run react app
713
+ - 'build' command to create build for react app
714
+ - 'build:lib' command to create lib for react library
715
+ - 'build:es' command to create es for react library
716
+ - 'templates' command to create es for react library
717
+ # Changelog and Release Notes
718
+
719
+ # v0.0.22 (17-01-2026)
720
+
721
+ **Fix:-**
722
+ - The decodeUnicodeEscapes function was removed from the i18n file emit stage and moved to the getPropertiesAsJSON function.
723
+ - We changed the function invocation location because an additional / was appearing in the i18n output when generating i18n files using numeric indexing.
724
+
725
+ # v0.0.21 (10-01-2026)
726
+
727
+ **Feature:-**
728
+ - Added InjectChunkGraphPlugin and added plc and pfc function new flow
729
+
730
+ # v0.0.20 (04-02-2026)
731
+
732
+ **Feature:i18n Numeric Indexing Support-**
733
+ - Added support for i18n numeric indexing, which replaces string-based i18n keys with numeric IDs at build time to reduce bundle size.
734
+
735
+ Introduced i18nIdReplaceLoader, which parses source files and replaces i18n string keys with corresponding numeric IDs using numericMap.json.
736
+
737
+ Implemented I18nNumericIndexPlugin, which reads all locale .properties files and generates locale-specific JSON chunks with numeric IDs as keys instead of string keys.
738
+
739
+ Supports single-file and split-file output modes, along with manifest generation.
740
+
741
+ **Feature:Enhancement: Library Conversion via Build Commands-**
742
+
743
+ Enhanced build:es and build:lib commands to support multiple input folders.
744
+ For eg :- cbt build:es src,assets es,target
745
+
746
+ # v0.0.19 (06-01-2026)
747
+
748
+ **Feature:-**
749
+ - During class name generation, when the template included the file name, it was converted to lowercase by default. Support has now been added to include the file name as class names in a case-insensitive manner.
750
+
751
+ ```
752
+ css: {
753
+ classNameOptions: {
754
+ caseOnlyFilename: true
755
+ }
756
+ }
757
+ ```
758
+
759
+
760
+ **Adjustments:-**
761
+ - issue in CssCustomOrderPlugin has been fixed
762
+ - customChunks default pattern for styles is removed (important)
763
+
764
+
765
+ # v0.0.18 (23-12-2025)(issue in CssCustomOrderPlugin)
766
+
767
+ **Adjustments:-**
768
+ - remove the unwanted console in the previous version
769
+ - html not creation issue due to the generate html option fixed
770
+
771
+ # v0.0.17 (22-12-2025) (html not creation issue) (issue in CssCustomOrderPlugin)
772
+
773
+ **revert:-**
774
+ - InjectChunkGraphPlugin and the pfc and plc functions were reverted due to UAT issues unrelated to our tool. Consequently, the plugin could not be included in this version. we rewriting the plc and pfc in resource hints plugins recently, it will function correctly when the new plugin is enabled,so revert this changes from this version
775
+
776
+
777
+ **Feature:-**
778
+ - `alias` support for `build:es` and `build:lib`
779
+ - Add babel-plugin-module-resolver dependencies for library only
780
+ - Modify getBabelPlugin to include module resolver with aliases
781
+ - An additional entry point support has been added.
782
+ - An option for HTML generation has been provided.
783
+ - Support for CssCustomOrderPlugin has been added.
784
+
785
+ **Adjustments:-**
786
+ - ChunkHierarchyPlugin.js – modified and rewrite the plugin to get the proper output (this is the stable version of this plugin).
787
+
788
+
789
+ # v0.0.16 (05-11-2025) (deprecated)
790
+
791
+ **Adjustments:-**
792
+ - ChunkHierarchyPlugin.js – Added support for ConcatenatedModule modules.
793
+ - InjectChunkGraphPlugin.js – Changed the template name from {{--preload-chunk-graph-object}} to __PRELOAD_CHUNK_GRAPH__ to resolve minification issues.
794
+ - Disabled CSS source map generation – CSS source maps were being created when RTL split was disabled and sourceMap was enabled, causing issues. Hence, CSS source map creation has been disabled
795
+ - Source map path correction – The resolving paths in source map files appeared as zohodesk-react/./src, which was incompatible with the Murphy tool. Updated it to zohodesk-react/src by adding a function to devtoolModuleFilenameTemplate in the output configuration.
796
+ - ChunkHierarchyPlugin – Made it active in development mode as well by removing the “run only in production” condition.
797
+
798
+ # v0.0.15 (11-10-2025) (deprecated)
799
+
800
+ **Feature:-**
801
+ - Chunk Dependency Mapping: Added a new feature that generates a JSON file listing all chunk dependencies in the Webpack build
802
+ For example, if main.js is a chunk, the generated JSON will include all of its direct imports (dependencies).
803
+ - Purpose:
804
+ To provide clear visibility into chunk relationships and dependencies for debugging, optimization, and performance analysis.
805
+
806
+ ```
807
+ chunkGraph:{
808
+ enable: { value: true },
809
+ fileName: ''
810
+ }
811
+ ```
812
+
813
+ - Preload Chunk Split Visualization
814
+ Enhanced the Preload Chunk (PLC) mechanism to identify and list the sub-chunks generated from a preloaded parent chunk.
815
+ When a chunk is configured for preloading (e.g., ticket.js), the system now traces and records all the split chunks associated with it
816
+
817
+ rewrite the plc and pfc fucntion in resourceHints plugin and created a new plugin to inject the sub chunks of the preloaded chunks in runtime file
818
+
819
+ if resourceHints not enabled plc , pfc and custom function related to this are not created
820
+
821
+ ```
822
+ resourceHints: {
823
+ enable: true,
824
+ PreloadChunkNames: [//name of chunks to be preload//]
825
+ },
826
+ ```
827
+
828
+
829
+ # v0.0.14 (06-10-2025)
830
+
831
+ **Feature:-**
832
+ - Added integrity and crossorigin attributes for all the js and css files in index.html
833
+
834
+ ```enableSubResourceIntegrity: true
835
+ ```
836
+ **Adjustments:-**
837
+ - add ts-loader to parse tsx and ts files
838
+
839
+ # v0.0.13 (02-09-2025)
840
+
841
+ **Adjustments:-**
842
+ - 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.
843
+
844
+ **Feature:-**
845
+ - Added support for Murphy to be built as a separate chunk and injected as the top script in the initial HTML.
846
+ - To enable this support , add this in your configuration
847
+
848
+ ```murphyBootstrapHtml{
849
+ enable: true,
850
+ chunkName: '',
851
+ filePath: ''
852
+ }```
853
+
854
+
855
+
856
+ # v0.0.12 (14-08-2025)
857
+
858
+ - Fixed the initial i18n loading issue caused by using the same function in both the i18nRuntimeDealer plugin and decidePublicPath
859
+
860
+ # v0.0.11 (07-08-2025) (had an issue while enable i18n chunk split plugin)
861
+ - remove babel-plugin-module-resolver dependencies
862
+
863
+ **Adjustments:-**
864
+ - Public Folder configuration is separated for development and production
865
+
866
+ **Bug Fix:-**
867
+ - 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`.
868
+ - Removed the babel-plugin-module-resolver dependency to resolve the alias resolution issue in the application.
869
+ - Fixed the issue where a space in the variable name causes it to return an undefined value.
870
+ - Fixed the URL path generation issue that occurred while using context in the development setup.
871
+
872
+
873
+ # v0.0.10 (12-05-2025)
874
+ **Feature:-**
875
+ - `alias` support for `build:es` and `build:lib`
876
+ - Add babel-plugin-module-resolver dependencies
877
+ - Modify getBabelPlugin to include module resolver with aliases
878
+
879
+ **Bug Fix:-**
880
+ - Enhance runBabelForTSFile to handle both .tsx and .ts file extensions
881
+ - Update mockApiHandler to ensure mock function is called correctly
882
+
883
+ **Change:-**
884
+ - Refactor defaultConfigValues.js to include cli options for enableRTLSplit
885
+
886
+ ## v0.0.9
887
+
888
+ **Feature:-**
889
+ - externals was added to Prevent bundling of certain imported packages and retrieve these external dependencies at runtime.
890
+ - to use externals, we use the following pattern in `app > externals` :
891
+
892
+ For example
893
+ ```
894
+ externals: {
895
+ <key> : <value>
896
+ }
897
+ ```
898
+
899
+ ## v0.0.6 (4-09-2023)
900
+
901
+ **Feature:-**
902
+ - 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`.
903
+ - Added Resource Cleanup plugin to cleanup resource retained by build tool. this plugin is controlled by efc flag resourcecleanup flag.
904
+ - added support for using regex expression to get group of chunks chunkId via Resource Hint plugin prefetch/preload hook.
905
+ only will be activate when `resourceHints` => `allowPrefetchingMultipleChunks` as `true`
906
+ - added support for glob pattern for custom chunks split logic.
907
+ - added options to split chunks base config in the key `app` => `customChunksBaseConfig` as object
908
+
909
+ **Change:-**
910
+ - i18n name not generated issue fix.
911
+ - public path not correctly set issue fix.
912
+ - changing plugin hook stages in i18nRuntimePlugin and sourceMapPlugin
913
+ ## v0.0.5 (6-08-2023)
914
+
915
+ **Changes:--**
916
+ - Typo fix in i18nRuntimeDealerPlugin.js
917
+ - fixing some bugs in resolvers.js file
918
+
919
+ ## v0.0.3 (1-08-2023)
920
+
921
+ **Changes:--**
922
+ - `devtool` default value changed from `hidden-cheap-source-map` to `source-map`
923
+ - unwanted files deleted from build
924
+
925
+ **Issue Fix:--**
926
+ - The issue with the source map not being created in the build has been fixed."
927
+
928
+
929
+ ## v0.0.2 (28-04-2023)
930
+
931
+ **Features:-**
932
+
933
+ - `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)
934
+ - `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)
935
+ - `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.
936
+ - `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.
937
+ - `enableChunkHash` renamed as `enableFileNameHashing`
938
+
939
+ - `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`)
940
+ - `createSeparateSmap` flag `source_map_enable` renamed as `enable_smap`
941
+ - `removeAttribute` option changes as `babelCustomizations.removeAttribute`
942
+ - `removePropTypes` support for remove the prop types package in the output build.
943
+ - `devConsoleExclude` support for remove the _console statements_ such as _console.log_, _console.warn_ in the output build.
944
+ - `manifestJson` default value set as false.
945
+ - `customAttributes` support for add attributes to html, link , script tag in the output build.
946
+
947
+
948
+ ## v0.0.1 (18-04-2023)
949
+
950
+ First Release
951
+ **Features:-**
952
+
953
+ - 'start' command to run react app
954
+ - 'build' command to create build for react app
955
+ - 'build:lib' command to create lib for react library
956
+ - 'build:es' command to create es for react library
957
+ - 'templates' command to create es for react library
958
+ # Changelog and Release Notes
959
+
960
+ # v0.0.22 (17-01-2026)
961
+
962
+ **Fix:-**
963
+ - The decodeUnicodeEscapes function was removed from the i18n file emit stage and moved to the getPropertiesAsJSON function.
964
+ - We changed the function invocation location because an additional / was appearing in the i18n output when generating i18n files using numeric indexing.
965
+
966
+ # v0.0.21 (10-01-2026)
967
+
968
+ **Feature:-**
969
+ - Added InjectChunkGraphPlugin and added plc and pfc function new flow
970
+
971
+ # v0.0.20 (04-02-2026)
972
+
973
+ **Feature:i18n Numeric Indexing Support-**
974
+ - Added support for i18n numeric indexing, which replaces string-based i18n keys with numeric IDs at build time to reduce bundle size.
975
+
976
+ Introduced i18nIdReplaceLoader, which parses source files and replaces i18n string keys with corresponding numeric IDs using numericMap.json.
977
+
978
+ Implemented I18nNumericIndexPlugin, which reads all locale .properties files and generates locale-specific JSON chunks with numeric IDs as keys instead of string keys.
979
+
980
+ Supports single-file and split-file output modes, along with manifest generation.
981
+
982
+ **Feature:Enhancement: Library Conversion via Build Commands-**
983
+
984
+ Enhanced build:es and build:lib commands to support multiple input folders.
985
+ For eg :- cbt build:es src,assets es,target
986
+
987
+ # v0.0.19 (06-01-2026)
988
+
989
+ **Feature:-**
990
+ - During class name generation, when the template included the file name, it was converted to lowercase by default. Support has now been added to include the file name as class names in a case-insensitive manner.
991
+
992
+ ```
993
+ css: {
994
+ classNameOptions: {
995
+ caseOnlyFilename: true
996
+ }
997
+ }
998
+ ```
999
+
1000
+
1001
+ **Adjustments:-**
1002
+ - issue in CssCustomOrderPlugin has been fixed
1003
+ - customChunks default pattern for styles is removed (important)
1004
+
1005
+
1006
+ # v0.0.18 (23-12-2025)(issue in CssCustomOrderPlugin)
1007
+
1008
+ **Adjustments:-**
1009
+ - remove the unwanted console in the previous version
1010
+ - html not creation issue due to the generate html option fixed
1011
+
1012
+ # v0.0.17 (22-12-2025) (html not creation issue) (issue in CssCustomOrderPlugin)
1013
+
1014
+ **revert:-**
1015
+ - InjectChunkGraphPlugin and the pfc and plc functions were reverted due to UAT issues unrelated to our tool. Consequently, the plugin could not be included in this version. we rewriting the plc and pfc in resource hints plugins recently, it will function correctly when the new plugin is enabled,so revert this changes from this version
1016
+
1017
+
1018
+ **Feature:-**
1019
+ - `alias` support for `build:es` and `build:lib`
1020
+ - Add babel-plugin-module-resolver dependencies for library only
1021
+ - Modify getBabelPlugin to include module resolver with aliases
1022
+ - An additional entry point support has been added.
1023
+ - An option for HTML generation has been provided.
1024
+ - Support for CssCustomOrderPlugin has been added.
1025
+
1026
+ **Adjustments:-**
1027
+ - ChunkHierarchyPlugin.js – modified and rewrite the plugin to get the proper output (this is the stable version of this plugin).
1028
+
1029
+
1030
+ # v0.0.16 (05-11-2025) (deprecated)
1031
+
1032
+ **Adjustments:-**
1033
+ - ChunkHierarchyPlugin.js – Added support for ConcatenatedModule modules.
1034
+ - InjectChunkGraphPlugin.js – Changed the template name from {{--preload-chunk-graph-object}} to __PRELOAD_CHUNK_GRAPH__ to resolve minification issues.
1035
+ - Disabled CSS source map generation – CSS source maps were being created when RTL split was disabled and sourceMap was enabled, causing issues. Hence, CSS source map creation has been disabled
1036
+ - Source map path correction – The resolving paths in source map files appeared as zohodesk-react/./src, which was incompatible with the Murphy tool. Updated it to zohodesk-react/src by adding a function to devtoolModuleFilenameTemplate in the output configuration.
1037
+ - ChunkHierarchyPlugin – Made it active in development mode as well by removing the “run only in production” condition.
1038
+
1039
+ # v0.0.15 (11-10-2025) (deprecated)
1040
+
1041
+ **Feature:-**
1042
+ - Chunk Dependency Mapping: Added a new feature that generates a JSON file listing all chunk dependencies in the Webpack build
1043
+ For example, if main.js is a chunk, the generated JSON will include all of its direct imports (dependencies).
1044
+ - Purpose:
1045
+ To provide clear visibility into chunk relationships and dependencies for debugging, optimization, and performance analysis.
1046
+
1047
+ ```
1048
+ chunkGraph:{
1049
+ enable: { value: true },
1050
+ fileName: ''
1051
+ }
1052
+ ```
1053
+
1054
+ - Preload Chunk Split Visualization
1055
+ Enhanced the Preload Chunk (PLC) mechanism to identify and list the sub-chunks generated from a preloaded parent chunk.
1056
+ When a chunk is configured for preloading (e.g., ticket.js), the system now traces and records all the split chunks associated with it
1057
+
1058
+ rewrite the plc and pfc fucntion in resourceHints plugin and created a new plugin to inject the sub chunks of the preloaded chunks in runtime file
1059
+
1060
+ if resourceHints not enabled plc , pfc and custom function related to this are not created
1061
+
1062
+ ```
1063
+ resourceHints: {
1064
+ enable: true,
1065
+ PreloadChunkNames: [//name of chunks to be preload//]
1066
+ },
1067
+ ```
1068
+
1069
+
1070
+ # v0.0.14 (06-10-2025)
1071
+
1072
+ **Feature:-**
1073
+ - Added integrity and crossorigin attributes for all the js and css files in index.html
1074
+
1075
+ ```enableSubResourceIntegrity: true
1076
+ ```
1077
+ **Adjustments:-**
1078
+ - add ts-loader to parse tsx and ts files
1079
+
1080
+ # v0.0.13 (02-09-2025)
1081
+
1082
+ **Adjustments:-**
1083
+ - 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.
1084
+
1085
+ **Feature:-**
1086
+ - Added support for Murphy to be built as a separate chunk and injected as the top script in the initial HTML.
1087
+ - To enable this support , add this in your configuration
1088
+
1089
+ ```murphyBootstrapHtml{
1090
+ enable: true,
1091
+ chunkName: '',
1092
+ filePath: ''
1093
+ }```
1094
+
1095
+
1096
+
1097
+ # v0.0.12 (14-08-2025)
1098
+
1099
+ - Fixed the initial i18n loading issue caused by using the same function in both the i18nRuntimeDealer plugin and decidePublicPath
1100
+
1101
+ # v0.0.11 (07-08-2025) (had an issue while enable i18n chunk split plugin)
1102
+ - remove babel-plugin-module-resolver dependencies
1103
+
1104
+ **Adjustments:-**
1105
+ - Public Folder configuration is separated for development and production
1106
+
1107
+ **Bug Fix:-**
1108
+ - 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`.
1109
+ - Removed the babel-plugin-module-resolver dependency to resolve the alias resolution issue in the application.
1110
+ - Fixed the issue where a space in the variable name causes it to return an undefined value.
1111
+ - Fixed the URL path generation issue that occurred while using context in the development setup.
1112
+
1113
+
1114
+ # v0.0.10 (12-05-2025)
1115
+ **Feature:-**
1116
+ - `alias` support for `build:es` and `build:lib`
1117
+ - Add babel-plugin-module-resolver dependencies
1118
+ - Modify getBabelPlugin to include module resolver with aliases
1119
+
1120
+ **Bug Fix:-**
1121
+ - Enhance runBabelForTSFile to handle both .tsx and .ts file extensions
1122
+ - Update mockApiHandler to ensure mock function is called correctly
1123
+
1124
+ **Change:-**
1125
+ - Refactor defaultConfigValues.js to include cli options for enableRTLSplit
1126
+
1127
+ ## v0.0.9
1128
+
1129
+ **Feature:-**
1130
+ - externals was added to Prevent bundling of certain imported packages and retrieve these external dependencies at runtime.
1131
+ - to use externals, we use the following pattern in `app > externals` :
1132
+
1133
+ For example
1134
+ ```
1135
+ externals: {
1136
+ <key> : <value>
1137
+ }
1138
+ ```
1139
+
1140
+ ## v0.0.6 (4-09-2023)
1141
+
1142
+ **Feature:-**
1143
+ - 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`.
1144
+ - Added Resource Cleanup plugin to cleanup resource retained by build tool. this plugin is controlled by efc flag resourcecleanup flag.
1145
+ - added support for using regex expression to get group of chunks chunkId via Resource Hint plugin prefetch/preload hook.
1146
+ only will be activate when `resourceHints` => `allowPrefetchingMultipleChunks` as `true`
1147
+ - added support for glob pattern for custom chunks split logic.
1148
+ - added options to split chunks base config in the key `app` => `customChunksBaseConfig` as object
1149
+
1150
+ **Change:-**
1151
+ - i18n name not generated issue fix.
1152
+ - public path not correctly set issue fix.
1153
+ - changing plugin hook stages in i18nRuntimePlugin and sourceMapPlugin
1154
+ ## v0.0.5 (6-08-2023)
1155
+
1156
+ **Changes:--**
1157
+ - Typo fix in i18nRuntimeDealerPlugin.js
1158
+ - fixing some bugs in resolvers.js file
1159
+
1160
+ ## v0.0.3 (1-08-2023)
1161
+
1162
+ **Changes:--**
1163
+ - `devtool` default value changed from `hidden-cheap-source-map` to `source-map`
1164
+ - unwanted files deleted from build
1165
+
1166
+ **Issue Fix:--**
1167
+ - The issue with the source map not being created in the build has been fixed."
1168
+
1169
+
1170
+ ## v0.0.2 (28-04-2023)
1171
+
1172
+ **Features:-**
1173
+
1174
+ - `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)
1175
+ - `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)
1176
+ - `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.
1177
+ - `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.
1178
+ - `enableChunkHash` renamed as `enableFileNameHashing`
1179
+
1180
+ - `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`)
1181
+ - `createSeparateSmap` flag `source_map_enable` renamed as `enable_smap`
1182
+ - `removeAttribute` option changes as `babelCustomizations.removeAttribute`
1183
+ - `removePropTypes` support for remove the prop types package in the output build.
1184
+ - `devConsoleExclude` support for remove the _console statements_ such as _console.log_, _console.warn_ in the output build.
1185
+ - `manifestJson` default value set as false.
1186
+ - `customAttributes` support for add attributes to html, link , script tag in the output build.
1187
+
1188
+
1189
+ ## v0.0.1 (18-04-2023)
1190
+
1191
+ First Release
1192
+ **Features:-**
1193
+
1194
+ - 'start' command to run react app
1195
+ - 'build' command to create build for react app
1196
+ - 'build:lib' command to create lib for react library
1197
+ - 'build:es' command to create es for react library
1198
+ - 'templates' command to create es for react library
1199
+ # Changelog and Release Notes
1200
+
1201
+ # v0.0.22 (17-01-2026)
1202
+
1203
+ **Fix:-**
1204
+ - The decodeUnicodeEscapes function was removed from the i18n file emit stage and moved to the getPropertiesAsJSON function.
1205
+ - We changed the function invocation location because an additional / was appearing in the i18n output when generating i18n files using numeric indexing.
1206
+
1207
+ # v0.0.21 (10-01-2026)
1208
+
1209
+ **Feature:-**
1210
+ - Added InjectChunkGraphPlugin and added plc and pfc function new flow
1211
+
1212
+ # v0.0.20 (04-02-2026)
1213
+
1214
+ **Feature:i18n Numeric Indexing Support-**
1215
+ - Added support for i18n numeric indexing, which replaces string-based i18n keys with numeric IDs at build time to reduce bundle size.
1216
+
1217
+ Introduced i18nIdReplaceLoader, which parses source files and replaces i18n string keys with corresponding numeric IDs using numericMap.json.
1218
+
1219
+ Implemented I18nNumericIndexPlugin, which reads all locale .properties files and generates locale-specific JSON chunks with numeric IDs as keys instead of string keys.
1220
+
1221
+ Supports single-file and split-file output modes, along with manifest generation.
1222
+
1223
+ **Feature:Enhancement: Library Conversion via Build Commands-**
1224
+
1225
+ Enhanced build:es and build:lib commands to support multiple input folders.
1226
+ For eg :- cbt build:es src,assets es,target
1227
+
1228
+ # v0.0.19 (06-01-2026)
1229
+
1230
+ **Feature:-**
1231
+ - During class name generation, when the template included the file name, it was converted to lowercase by default. Support has now been added to include the file name as class names in a case-insensitive manner.
1232
+
1233
+ ```
1234
+ css: {
1235
+ classNameOptions: {
1236
+ caseOnlyFilename: true
1237
+ }
1238
+ }
1239
+ ```
1240
+
1241
+
1242
+ **Adjustments:-**
1243
+ - issue in CssCustomOrderPlugin has been fixed
1244
+ - customChunks default pattern for styles is removed (important)
1245
+
1246
+
1247
+ # v0.0.18 (23-12-2025)(issue in CssCustomOrderPlugin)
1248
+
1249
+ **Adjustments:-**
1250
+ - remove the unwanted console in the previous version
1251
+ - html not creation issue due to the generate html option fixed
1252
+
1253
+ # v0.0.17 (22-12-2025) (html not creation issue) (issue in CssCustomOrderPlugin)
1254
+
1255
+ **revert:-**
1256
+ - InjectChunkGraphPlugin and the pfc and plc functions were reverted due to UAT issues unrelated to our tool. Consequently, the plugin could not be included in this version. we rewriting the plc and pfc in resource hints plugins recently, it will function correctly when the new plugin is enabled,so revert this changes from this version
1257
+
1258
+
1259
+ **Feature:-**
1260
+ - `alias` support for `build:es` and `build:lib`
1261
+ - Add babel-plugin-module-resolver dependencies for library only
1262
+ - Modify getBabelPlugin to include module resolver with aliases
1263
+ - An additional entry point support has been added.
1264
+ - An option for HTML generation has been provided.
1265
+ - Support for CssCustomOrderPlugin has been added.
1266
+
1267
+ **Adjustments:-**
1268
+ - ChunkHierarchyPlugin.js – modified and rewrite the plugin to get the proper output (this is the stable version of this plugin).
1269
+
1270
+
1271
+ # v0.0.16 (05-11-2025) (deprecated)
1272
+
1273
+ **Adjustments:-**
1274
+ - ChunkHierarchyPlugin.js – Added support for ConcatenatedModule modules.
1275
+ - InjectChunkGraphPlugin.js – Changed the template name from {{--preload-chunk-graph-object}} to __PRELOAD_CHUNK_GRAPH__ to resolve minification issues.
1276
+ - Disabled CSS source map generation – CSS source maps were being created when RTL split was disabled and sourceMap was enabled, causing issues. Hence, CSS source map creation has been disabled
1277
+ - Source map path correction – The resolving paths in source map files appeared as zohodesk-react/./src, which was incompatible with the Murphy tool. Updated it to zohodesk-react/src by adding a function to devtoolModuleFilenameTemplate in the output configuration.
1278
+ - ChunkHierarchyPlugin – Made it active in development mode as well by removing the “run only in production” condition.
1279
+
1280
+ # v0.0.15 (11-10-2025) (deprecated)
1281
+
1282
+ **Feature:-**
1283
+ - Chunk Dependency Mapping: Added a new feature that generates a JSON file listing all chunk dependencies in the Webpack build
1284
+ For example, if main.js is a chunk, the generated JSON will include all of its direct imports (dependencies).
1285
+ - Purpose:
1286
+ To provide clear visibility into chunk relationships and dependencies for debugging, optimization, and performance analysis.
1287
+
1288
+ ```
1289
+ chunkGraph:{
1290
+ enable: { value: true },
1291
+ fileName: ''
1292
+ }
1293
+ ```
1294
+
1295
+ - Preload Chunk Split Visualization
1296
+ Enhanced the Preload Chunk (PLC) mechanism to identify and list the sub-chunks generated from a preloaded parent chunk.
1297
+ When a chunk is configured for preloading (e.g., ticket.js), the system now traces and records all the split chunks associated with it
1298
+
1299
+ rewrite the plc and pfc fucntion in resourceHints plugin and created a new plugin to inject the sub chunks of the preloaded chunks in runtime file
1300
+
1301
+ if resourceHints not enabled plc , pfc and custom function related to this are not created
1302
+
1303
+ ```
1304
+ resourceHints: {
1305
+ enable: true,
1306
+ PreloadChunkNames: [//name of chunks to be preload//]
1307
+ },
1308
+ ```
1309
+
1310
+
1311
+ # v0.0.14 (06-10-2025)
1312
+
1313
+ **Feature:-**
1314
+ - Added integrity and crossorigin attributes for all the js and css files in index.html
1315
+
1316
+ ```enableSubResourceIntegrity: true
1317
+ ```
1318
+ **Adjustments:-**
1319
+ - add ts-loader to parse tsx and ts files
1320
+
1321
+ # v0.0.13 (02-09-2025)
1322
+
1323
+ **Adjustments:-**
1324
+ - 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.
1325
+
1326
+ **Feature:-**
1327
+ - Added support for Murphy to be built as a separate chunk and injected as the top script in the initial HTML.
1328
+ - To enable this support , add this in your configuration
1329
+
1330
+ ```murphyBootstrapHtml{
1331
+ enable: true,
1332
+ chunkName: '',
1333
+ filePath: ''
1334
+ }```
1335
+
1336
+
1337
+
1338
+ # v0.0.12 (14-08-2025)
1339
+
1340
+ - Fixed the initial i18n loading issue caused by using the same function in both the i18nRuntimeDealer plugin and decidePublicPath
1341
+
1342
+ # v0.0.11 (07-08-2025) (had an issue while enable i18n chunk split plugin)
1343
+ - remove babel-plugin-module-resolver dependencies
1344
+
1345
+ **Adjustments:-**
1346
+ - Public Folder configuration is separated for development and production
1347
+
1348
+ **Bug Fix:-**
1349
+ - 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`.
1350
+ - Removed the babel-plugin-module-resolver dependency to resolve the alias resolution issue in the application.
1351
+ - Fixed the issue where a space in the variable name causes it to return an undefined value.
1352
+ - Fixed the URL path generation issue that occurred while using context in the development setup.
1353
+
1354
+
1355
+ # v0.0.10 (12-05-2025)
1356
+ **Feature:-**
1357
+ - `alias` support for `build:es` and `build:lib`
1358
+ - Add babel-plugin-module-resolver dependencies
1359
+ - Modify getBabelPlugin to include module resolver with aliases
1360
+
1361
+ **Bug Fix:-**
1362
+ - Enhance runBabelForTSFile to handle both .tsx and .ts file extensions
1363
+ - Update mockApiHandler to ensure mock function is called correctly
1364
+
1365
+ **Change:-**
1366
+ - Refactor defaultConfigValues.js to include cli options for enableRTLSplit
1367
+
1368
+ ## v0.0.9
1369
+
1370
+ **Feature:-**
1371
+ - externals was added to Prevent bundling of certain imported packages and retrieve these external dependencies at runtime.
1372
+ - to use externals, we use the following pattern in `app > externals` :
1373
+
1374
+ For example
1375
+ ```
1376
+ externals: {
1377
+ <key> : <value>
1378
+ }
1379
+ ```
1380
+
1381
+ ## v0.0.6 (4-09-2023)
1382
+
1383
+ **Feature:-**
1384
+ - 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`.
1385
+ - Added Resource Cleanup plugin to cleanup resource retained by build tool. this plugin is controlled by efc flag resourcecleanup flag.
1386
+ - added support for using regex expression to get group of chunks chunkId via Resource Hint plugin prefetch/preload hook.
1387
+ only will be activate when `resourceHints` => `allowPrefetchingMultipleChunks` as `true`
1388
+ - added support for glob pattern for custom chunks split logic.
1389
+ - added options to split chunks base config in the key `app` => `customChunksBaseConfig` as object
1390
+
1391
+ **Change:-**
1392
+ - i18n name not generated issue fix.
1393
+ - public path not correctly set issue fix.
1394
+ - changing plugin hook stages in i18nRuntimePlugin and sourceMapPlugin
1395
+ ## v0.0.5 (6-08-2023)
1396
+
1397
+ **Changes:--**
1398
+ - Typo fix in i18nRuntimeDealerPlugin.js
1399
+ - fixing some bugs in resolvers.js file
1400
+
1401
+ ## v0.0.3 (1-08-2023)
1402
+
1403
+ **Changes:--**
1404
+ - `devtool` default value changed from `hidden-cheap-source-map` to `source-map`
1405
+ - unwanted files deleted from build
1406
+
1407
+ **Issue Fix:--**
1408
+ - The issue with the source map not being created in the build has been fixed."
1409
+
1410
+
1411
+ ## v0.0.2 (28-04-2023)
1412
+
1413
+ **Features:-**
1414
+
1415
+ - `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)
1416
+ - `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)
1417
+ - `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.
1418
+ - `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.
1419
+ - `enableChunkHash` renamed as `enableFileNameHashing`
1420
+
1421
+ - `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`)
1422
+ - `createSeparateSmap` flag `source_map_enable` renamed as `enable_smap`
1423
+ - `removeAttribute` option changes as `babelCustomizations.removeAttribute`
1424
+ - `removePropTypes` support for remove the prop types package in the output build.
1425
+ - `devConsoleExclude` support for remove the _console statements_ such as _console.log_, _console.warn_ in the output build.
1426
+ - `manifestJson` default value set as false.
1427
+ - `customAttributes` support for add attributes to html, link , script tag in the output build.
1428
+
1429
+
1430
+ ## v0.0.1 (18-04-2023)
1431
+
1432
+ First Release
1433
+ **Features:-**
1434
+
1435
+ - 'start' command to run react app
1436
+ - 'build' command to create build for react app
1437
+ - 'build:lib' command to create lib for react library
1438
+ - 'build:es' command to create es for react library
1439
+ - 'templates' command to create es for react library
1440
+ # Changelog and Release Notes
1441
+
1442
+ # v0.0.22 (17-01-2026)
1443
+
1444
+ **Fix:-**
1445
+ - The decodeUnicodeEscapes function was removed from the i18n file emit stage and moved to the getPropertiesAsJSON function.
1446
+ - We changed the function invocation location because an additional / was appearing in the i18n output when generating i18n files using numeric indexing.
1447
+
1448
+ # v0.0.21 (10-01-2026)
1449
+
1450
+ **Feature:-**
1451
+ - Added InjectChunkGraphPlugin and added plc and pfc function new flow
1452
+
1453
+ # v0.0.20 (04-02-2026)
1454
+
1455
+ **Feature:i18n Numeric Indexing Support-**
1456
+ - Added support for i18n numeric indexing, which replaces string-based i18n keys with numeric IDs at build time to reduce bundle size.
1457
+
1458
+ Introduced i18nIdReplaceLoader, which parses source files and replaces i18n string keys with corresponding numeric IDs using numericMap.json.
1459
+
1460
+ Implemented I18nNumericIndexPlugin, which reads all locale .properties files and generates locale-specific JSON chunks with numeric IDs as keys instead of string keys.
1461
+
1462
+ Supports single-file and split-file output modes, along with manifest generation.
1463
+
1464
+ **Feature:Enhancement: Library Conversion via Build Commands-**
1465
+
1466
+ Enhanced build:es and build:lib commands to support multiple input folders.
1467
+ For eg :- cbt build:es src,assets es,target
1468
+
1469
+ # v0.0.19 (06-01-2026)
1470
+
1471
+ **Feature:-**
1472
+ - During class name generation, when the template included the file name, it was converted to lowercase by default. Support has now been added to include the file name as class names in a case-insensitive manner.
1473
+
1474
+ ```
1475
+ css: {
1476
+ classNameOptions: {
1477
+ caseOnlyFilename: true
1478
+ }
1479
+ }
1480
+ ```
1481
+
1482
+
1483
+ **Adjustments:-**
1484
+ - issue in CssCustomOrderPlugin has been fixed
1485
+ - customChunks default pattern for styles is removed (important)
1486
+
1487
+
1488
+ # v0.0.18 (23-12-2025)(issue in CssCustomOrderPlugin)
1489
+
1490
+ **Adjustments:-**
1491
+ - remove the unwanted console in the previous version
1492
+ - html not creation issue due to the generate html option fixed
1493
+
1494
+ # v0.0.17 (22-12-2025) (html not creation issue) (issue in CssCustomOrderPlugin)
1495
+
1496
+ **revert:-**
1497
+ - InjectChunkGraphPlugin and the pfc and plc functions were reverted due to UAT issues unrelated to our tool. Consequently, the plugin could not be included in this version. we rewriting the plc and pfc in resource hints plugins recently, it will function correctly when the new plugin is enabled,so revert this changes from this version
1498
+
1499
+
1500
+ **Feature:-**
1501
+ - `alias` support for `build:es` and `build:lib`
1502
+ - Add babel-plugin-module-resolver dependencies for library only
1503
+ - Modify getBabelPlugin to include module resolver with aliases
1504
+ - An additional entry point support has been added.
1505
+ - An option for HTML generation has been provided.
1506
+ - Support for CssCustomOrderPlugin has been added.
1507
+
1508
+ **Adjustments:-**
1509
+ - ChunkHierarchyPlugin.js – modified and rewrite the plugin to get the proper output (this is the stable version of this plugin).
1510
+
1511
+
1512
+ # v0.0.16 (05-11-2025) (deprecated)
1513
+
1514
+ **Adjustments:-**
1515
+ - ChunkHierarchyPlugin.js – Added support for ConcatenatedModule modules.
1516
+ - InjectChunkGraphPlugin.js – Changed the template name from {{--preload-chunk-graph-object}} to __PRELOAD_CHUNK_GRAPH__ to resolve minification issues.
1517
+ - Disabled CSS source map generation – CSS source maps were being created when RTL split was disabled and sourceMap was enabled, causing issues. Hence, CSS source map creation has been disabled
1518
+ - Source map path correction – The resolving paths in source map files appeared as zohodesk-react/./src, which was incompatible with the Murphy tool. Updated it to zohodesk-react/src by adding a function to devtoolModuleFilenameTemplate in the output configuration.
1519
+ - ChunkHierarchyPlugin – Made it active in development mode as well by removing the “run only in production” condition.
1520
+
1521
+ # v0.0.15 (11-10-2025) (deprecated)
1522
+
1523
+ **Feature:-**
1524
+ - Chunk Dependency Mapping: Added a new feature that generates a JSON file listing all chunk dependencies in the Webpack build
1525
+ For example, if main.js is a chunk, the generated JSON will include all of its direct imports (dependencies).
1526
+ - Purpose:
1527
+ To provide clear visibility into chunk relationships and dependencies for debugging, optimization, and performance analysis.
1528
+
1529
+ ```
1530
+ chunkGraph:{
1531
+ enable: { value: true },
1532
+ fileName: ''
1533
+ }
1534
+ ```
1535
+
1536
+ - Preload Chunk Split Visualization
1537
+ Enhanced the Preload Chunk (PLC) mechanism to identify and list the sub-chunks generated from a preloaded parent chunk.
1538
+ When a chunk is configured for preloading (e.g., ticket.js), the system now traces and records all the split chunks associated with it
1539
+
1540
+ rewrite the plc and pfc fucntion in resourceHints plugin and created a new plugin to inject the sub chunks of the preloaded chunks in runtime file
1541
+
1542
+ if resourceHints not enabled plc , pfc and custom function related to this are not created
1543
+
1544
+ ```
1545
+ resourceHints: {
1546
+ enable: true,
1547
+ PreloadChunkNames: [//name of chunks to be preload//]
1548
+ },
1549
+ ```
1550
+
1551
+
1552
+ # v0.0.14 (06-10-2025)
1553
+
1554
+ **Feature:-**
1555
+ - Added integrity and crossorigin attributes for all the js and css files in index.html
1556
+
1557
+ ```enableSubResourceIntegrity: true
1558
+ ```
1559
+ **Adjustments:-**
1560
+ - add ts-loader to parse tsx and ts files
1561
+
1562
+ # v0.0.13 (02-09-2025)
1563
+
1564
+ **Adjustments:-**
1565
+ - 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.
1566
+
1567
+ **Feature:-**
1568
+ - Added support for Murphy to be built as a separate chunk and injected as the top script in the initial HTML.
1569
+ - To enable this support , add this in your configuration
1570
+
1571
+ ```murphyBootstrapHtml{
1572
+ enable: true,
1573
+ chunkName: '',
1574
+ filePath: ''
1575
+ }```
1576
+
1577
+
1578
+
1579
+ # v0.0.12 (14-08-2025)
1580
+
1581
+ - Fixed the initial i18n loading issue caused by using the same function in both the i18nRuntimeDealer plugin and decidePublicPath
1582
+
1583
+ # v0.0.11 (07-08-2025) (had an issue while enable i18n chunk split plugin)
1584
+ - remove babel-plugin-module-resolver dependencies
1585
+
1586
+ **Adjustments:-**
1587
+ - Public Folder configuration is separated for development and production
1588
+
1589
+ **Bug Fix:-**
1590
+ - 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`.
1591
+ - Removed the babel-plugin-module-resolver dependency to resolve the alias resolution issue in the application.
1592
+ - Fixed the issue where a space in the variable name causes it to return an undefined value.
1593
+ - Fixed the URL path generation issue that occurred while using context in the development setup.
1594
+
1595
+
1596
+ # v0.0.10 (12-05-2025)
1597
+ **Feature:-**
1598
+ - `alias` support for `build:es` and `build:lib`
1599
+ - Add babel-plugin-module-resolver dependencies
1600
+ - Modify getBabelPlugin to include module resolver with aliases
1601
+
1602
+ **Bug Fix:-**
1603
+ - Enhance runBabelForTSFile to handle both .tsx and .ts file extensions
1604
+ - Update mockApiHandler to ensure mock function is called correctly
1605
+
1606
+ **Change:-**
1607
+ - Refactor defaultConfigValues.js to include cli options for enableRTLSplit
1608
+
1609
+ ## v0.0.9
1610
+
1611
+ **Feature:-**
1612
+ - externals was added to Prevent bundling of certain imported packages and retrieve these external dependencies at runtime.
1613
+ - to use externals, we use the following pattern in `app > externals` :
1614
+
1615
+ For example
1616
+ ```
1617
+ externals: {
1618
+ <key> : <value>
1619
+ }
1620
+ ```
1621
+
1622
+ ## v0.0.6 (4-09-2023)
1623
+
1624
+ **Feature:-**
1625
+ - 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`.
1626
+ - Added Resource Cleanup plugin to cleanup resource retained by build tool. this plugin is controlled by efc flag resourcecleanup flag.
1627
+ - added support for using regex expression to get group of chunks chunkId via Resource Hint plugin prefetch/preload hook.
1628
+ only will be activate when `resourceHints` => `allowPrefetchingMultipleChunks` as `true`
1629
+ - added support for glob pattern for custom chunks split logic.
1630
+ - added options to split chunks base config in the key `app` => `customChunksBaseConfig` as object
1631
+
1632
+ **Change:-**
1633
+ - i18n name not generated issue fix.
1634
+ - public path not correctly set issue fix.
1635
+ - changing plugin hook stages in i18nRuntimePlugin and sourceMapPlugin
1636
+ ## v0.0.5 (6-08-2023)
1637
+
1638
+ **Changes:--**
1639
+ - Typo fix in i18nRuntimeDealerPlugin.js
1640
+ - fixing some bugs in resolvers.js file
1641
+
1642
+ ## v0.0.3 (1-08-2023)
1643
+
1644
+ **Changes:--**
1645
+ - `devtool` default value changed from `hidden-cheap-source-map` to `source-map`
1646
+ - unwanted files deleted from build
1647
+
1648
+ **Issue Fix:--**
1649
+ - The issue with the source map not being created in the build has been fixed."
1650
+
1651
+
1652
+ ## v0.0.2 (28-04-2023)
1653
+
1654
+ **Features:-**
1655
+
1656
+ - `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)
1657
+ - `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)
1658
+ - `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.
1659
+ - `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.
1660
+ - `enableChunkHash` renamed as `enableFileNameHashing`
1661
+
1662
+ - `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`)
1663
+ - `createSeparateSmap` flag `source_map_enable` renamed as `enable_smap`
1664
+ - `removeAttribute` option changes as `babelCustomizations.removeAttribute`
1665
+ - `removePropTypes` support for remove the prop types package in the output build.
1666
+ - `devConsoleExclude` support for remove the _console statements_ such as _console.log_, _console.warn_ in the output build.
1667
+ - `manifestJson` default value set as false.
1668
+ - `customAttributes` support for add attributes to html, link , script tag in the output build.
1669
+
1670
+
1671
+ ## v0.0.1 (18-04-2023)
1672
+
1673
+ First Release
1674
+ **Features:-**
1675
+
1676
+ - 'start' command to run react app
1677
+ - 'build' command to create build for react app
1678
+ - 'build:lib' command to create lib for react library
1679
+ - 'build:es' command to create es for react library
1680
+ - 'templates' command to create es for react library
1681
+ # Changelog and Release Notes
1682
+
1683
+ # v0.0.22 (17-01-2026)
1684
+
1685
+ **Fix:-**
1686
+ - The decodeUnicodeEscapes function was removed from the i18n file emit stage and moved to the getPropertiesAsJSON function.
1687
+ - We changed the function invocation location because an additional / was appearing in the i18n output when generating i18n files using numeric indexing.
1688
+
1689
+ # v0.0.21 (10-01-2026)
1690
+
1691
+ **Feature:-**
1692
+ - Added InjectChunkGraphPlugin and added plc and pfc function new flow
1693
+
1694
+ # v0.0.20 (04-02-2026)
1695
+
1696
+ **Feature:i18n Numeric Indexing Support-**
1697
+ - Added support for i18n numeric indexing, which replaces string-based i18n keys with numeric IDs at build time to reduce bundle size.
1698
+
1699
+ Introduced i18nIdReplaceLoader, which parses source files and replaces i18n string keys with corresponding numeric IDs using numericMap.json.
1700
+
1701
+ Implemented I18nNumericIndexPlugin, which reads all locale .properties files and generates locale-specific JSON chunks with numeric IDs as keys instead of string keys.
1702
+
1703
+ Supports single-file and split-file output modes, along with manifest generation.
1704
+
1705
+ **Feature:Enhancement: Library Conversion via Build Commands-**
1706
+
1707
+ Enhanced build:es and build:lib commands to support multiple input folders.
1708
+ For eg :- cbt build:es src,assets es,target
1709
+
1710
+ # v0.0.19 (06-01-2026)
1711
+
1712
+ **Feature:-**
1713
+ - During class name generation, when the template included the file name, it was converted to lowercase by default. Support has now been added to include the file name as class names in a case-insensitive manner.
1714
+
1715
+ ```
1716
+ css: {
1717
+ classNameOptions: {
1718
+ caseOnlyFilename: true
1719
+ }
1720
+ }
1721
+ ```
1722
+
1723
+
1724
+ **Adjustments:-**
1725
+ - issue in CssCustomOrderPlugin has been fixed
1726
+ - customChunks default pattern for styles is removed (important)
1727
+
1728
+
1729
+ # v0.0.18 (23-12-2025)(issue in CssCustomOrderPlugin)
1730
+
1731
+ **Adjustments:-**
1732
+ - remove the unwanted console in the previous version
1733
+ - html not creation issue due to the generate html option fixed
1734
+
1735
+ # v0.0.17 (22-12-2025) (html not creation issue) (issue in CssCustomOrderPlugin)
1736
+
1737
+ **revert:-**
1738
+ - InjectChunkGraphPlugin and the pfc and plc functions were reverted due to UAT issues unrelated to our tool. Consequently, the plugin could not be included in this version. we rewriting the plc and pfc in resource hints plugins recently, it will function correctly when the new plugin is enabled,so revert this changes from this version
1739
+
1740
+
1741
+ **Feature:-**
1742
+ - `alias` support for `build:es` and `build:lib`
1743
+ - Add babel-plugin-module-resolver dependencies for library only
1744
+ - Modify getBabelPlugin to include module resolver with aliases
1745
+ - An additional entry point support has been added.
1746
+ - An option for HTML generation has been provided.
1747
+ - Support for CssCustomOrderPlugin has been added.
1748
+
1749
+ **Adjustments:-**
1750
+ - ChunkHierarchyPlugin.js – modified and rewrite the plugin to get the proper output (this is the stable version of this plugin).
1751
+
1752
+
1753
+ # v0.0.16 (05-11-2025) (deprecated)
1754
+
1755
+ **Adjustments:-**
1756
+ - ChunkHierarchyPlugin.js – Added support for ConcatenatedModule modules.
1757
+ - InjectChunkGraphPlugin.js – Changed the template name from {{--preload-chunk-graph-object}} to __PRELOAD_CHUNK_GRAPH__ to resolve minification issues.
1758
+ - Disabled CSS source map generation – CSS source maps were being created when RTL split was disabled and sourceMap was enabled, causing issues. Hence, CSS source map creation has been disabled
1759
+ - Source map path correction – The resolving paths in source map files appeared as zohodesk-react/./src, which was incompatible with the Murphy tool. Updated it to zohodesk-react/src by adding a function to devtoolModuleFilenameTemplate in the output configuration.
1760
+ - ChunkHierarchyPlugin – Made it active in development mode as well by removing the “run only in production” condition.
1761
+
1762
+ # v0.0.15 (11-10-2025) (deprecated)
1763
+
1764
+ **Feature:-**
1765
+ - Chunk Dependency Mapping: Added a new feature that generates a JSON file listing all chunk dependencies in the Webpack build
1766
+ For example, if main.js is a chunk, the generated JSON will include all of its direct imports (dependencies).
1767
+ - Purpose:
1768
+ To provide clear visibility into chunk relationships and dependencies for debugging, optimization, and performance analysis.
1769
+
1770
+ ```
1771
+ chunkGraph:{
1772
+ enable: { value: true },
1773
+ fileName: ''
1774
+ }
1775
+ ```
1776
+
1777
+ - Preload Chunk Split Visualization
1778
+ Enhanced the Preload Chunk (PLC) mechanism to identify and list the sub-chunks generated from a preloaded parent chunk.
1779
+ When a chunk is configured for preloading (e.g., ticket.js), the system now traces and records all the split chunks associated with it
1780
+
1781
+ rewrite the plc and pfc fucntion in resourceHints plugin and created a new plugin to inject the sub chunks of the preloaded chunks in runtime file
1782
+
1783
+ if resourceHints not enabled plc , pfc and custom function related to this are not created
1784
+
1785
+ ```
1786
+ resourceHints: {
1787
+ enable: true,
1788
+ PreloadChunkNames: [//name of chunks to be preload//]
1789
+ },
1790
+ ```
1791
+
1792
+
1793
+ # v0.0.14 (06-10-2025)
1794
+
1795
+ **Feature:-**
1796
+ - Added integrity and crossorigin attributes for all the js and css files in index.html
1797
+
1798
+ ```enableSubResourceIntegrity: true
1799
+ ```
1800
+ **Adjustments:-**
1801
+ - add ts-loader to parse tsx and ts files
1802
+
1803
+ # v0.0.13 (02-09-2025)
1804
+
1805
+ **Adjustments:-**
1806
+ - 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.
1807
+
1808
+ **Feature:-**
1809
+ - Added support for Murphy to be built as a separate chunk and injected as the top script in the initial HTML.
1810
+ - To enable this support , add this in your configuration
1811
+
1812
+ ```murphyBootstrapHtml{
1813
+ enable: true,
1814
+ chunkName: '',
1815
+ filePath: ''
1816
+ }```
1817
+
1818
+
1819
+
1820
+ # v0.0.12 (14-08-2025)
1821
+
1822
+ - Fixed the initial i18n loading issue caused by using the same function in both the i18nRuntimeDealer plugin and decidePublicPath
1823
+
1824
+ # v0.0.11 (07-08-2025) (had an issue while enable i18n chunk split plugin)
1825
+ - remove babel-plugin-module-resolver dependencies
1826
+
1827
+ **Adjustments:-**
1828
+ - Public Folder configuration is separated for development and production
1829
+
1830
+ **Bug Fix:-**
1831
+ - 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`.
1832
+ - Removed the babel-plugin-module-resolver dependency to resolve the alias resolution issue in the application.
1833
+ - Fixed the issue where a space in the variable name causes it to return an undefined value.
1834
+ - Fixed the URL path generation issue that occurred while using context in the development setup.
1835
+
1836
+
1837
+ # v0.0.10 (12-05-2025)
1838
+ **Feature:-**
1839
+ - `alias` support for `build:es` and `build:lib`
1840
+ - Add babel-plugin-module-resolver dependencies
1841
+ - Modify getBabelPlugin to include module resolver with aliases
1842
+
1843
+ **Bug Fix:-**
1844
+ - Enhance runBabelForTSFile to handle both .tsx and .ts file extensions
1845
+ - Update mockApiHandler to ensure mock function is called correctly
1846
+
1847
+ **Change:-**
1848
+ - Refactor defaultConfigValues.js to include cli options for enableRTLSplit
1849
+
1850
+ ## v0.0.9
1851
+
1852
+ **Feature:-**
1853
+ - externals was added to Prevent bundling of certain imported packages and retrieve these external dependencies at runtime.
1854
+ - to use externals, we use the following pattern in `app > externals` :
1855
+
1856
+ For example
1857
+ ```
1858
+ externals: {
1859
+ <key> : <value>
1860
+ }
1861
+ ```
1862
+
1863
+ ## v0.0.6 (4-09-2023)
1864
+
1865
+ **Feature:-**
1866
+ - 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`.
1867
+ - Added Resource Cleanup plugin to cleanup resource retained by build tool. this plugin is controlled by efc flag resourcecleanup flag.
1868
+ - added support for using regex expression to get group of chunks chunkId via Resource Hint plugin prefetch/preload hook.
1869
+ only will be activate when `resourceHints` => `allowPrefetchingMultipleChunks` as `true`
1870
+ - added support for glob pattern for custom chunks split logic.
1871
+ - added options to split chunks base config in the key `app` => `customChunksBaseConfig` as object
1872
+
1873
+ **Change:-**
1874
+ - i18n name not generated issue fix.
1875
+ - public path not correctly set issue fix.
1876
+ - changing plugin hook stages in i18nRuntimePlugin and sourceMapPlugin
1877
+ ## v0.0.5 (6-08-2023)
1878
+
1879
+ **Changes:--**
1880
+ - Typo fix in i18nRuntimeDealerPlugin.js
1881
+ - fixing some bugs in resolvers.js file
1882
+
1883
+ ## v0.0.3 (1-08-2023)
1884
+
1885
+ **Changes:--**
1886
+ - `devtool` default value changed from `hidden-cheap-source-map` to `source-map`
1887
+ - unwanted files deleted from build
1888
+
1889
+ **Issue Fix:--**
1890
+ - The issue with the source map not being created in the build has been fixed."
1891
+
1892
+
1893
+ ## v0.0.2 (28-04-2023)
1894
+
1895
+ **Features:-**
1896
+
1897
+ - `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)
1898
+ - `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)
1899
+ - `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.
1900
+ - `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.
1901
+ - `enableChunkHash` renamed as `enableFileNameHashing`
1902
+
1903
+ - `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`)
1904
+ - `createSeparateSmap` flag `source_map_enable` renamed as `enable_smap`
1905
+ - `removeAttribute` option changes as `babelCustomizations.removeAttribute`
1906
+ - `removePropTypes` support for remove the prop types package in the output build.
1907
+ - `devConsoleExclude` support for remove the _console statements_ such as _console.log_, _console.warn_ in the output build.
1908
+ - `manifestJson` default value set as false.
1909
+ - `customAttributes` support for add attributes to html, link , script tag in the output build.
1910
+
1911
+
707
1912
  ## v0.0.1 (18-04-2023)
708
1913
 
709
1914
  First Release