@zohodesk/client_build_tool
Version:
A CLI tool to build web applications and client libraries
190 lines (137 loc) • 8.46 kB
Markdown
# Changelog and Release Notes
# v0.0.18 (23-12-2025)
**Adjustments:-**
- remove the unwanted console in the previous version
- html not creation issue due to the generate html option fixed
# v0.0.17 (22-12-2025)
**Feature:-**
- `alias` support for `build:es` and `build:lib`
- Add babel-plugin-module-resolver dependencies for library only
- Modify getBabelPlugin to include module resolver with aliases
- An additional entry point support has been added.
- An option for HTML generation has been provided.
- Support for CssCustomOrderPlugin has been added.
**Adjustments:-**
- ChunkHierarchyPlugin.js – modified and rewrite the plugin to get the proper output (this is the stable version of this plugin).
# v0.0.16 (05-11-2025)
**Adjustments:-**
- ChunkHierarchyPlugin.js – Added support for ConcatenatedModule modules.
- InjectChunkGraphPlugin.js – Changed the template name from {{--preload-chunk-graph-object}} to __PRELOAD_CHUNK_GRAPH__ to resolve minification issues.
- 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
- 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.
- ChunkHierarchyPlugin – Made it active in development mode as well by removing the “run only in production” condition.
# v0.0.15 (11-10-2025)
**Feature:-**
- Chunk Dependency Mapping: Added a new feature that generates a JSON file listing all chunk dependencies in the Webpack build
For example, if main.js is a chunk, the generated JSON will include all of its direct imports (dependencies).
- Purpose:
To provide clear visibility into chunk relationships and dependencies for debugging, optimization, and performance analysis.
```
chunkGraph:{
enable: { value: true },
fileName: ''
}
```
- Preload Chunk Split Visualization
Enhanced the Preload Chunk (PLC) mechanism to identify and list the sub-chunks generated from a preloaded parent chunk.
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
if resourceHints not enabled plc , pfc and custom function related to this are not created
```
resourceHints: {
enable: true,
PreloadChunkNames: [//name of chunks to be preload//]
},
```
# v0.0.14 (06-10-2025)
**Feature:-**
- Added integrity and crossorigin attributes for all the js and css files in index.html
```enableSubResourceIntegrity: true
```
**Adjustments:-**
- add ts-loader to parse tsx and ts files
# v0.0.13 (02-09-2025)
**Adjustments:-**
- 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.
**Feature:-**
- Added support for Murphy to be built as a separate chunk and injected as the top script in the initial HTML.
- To enable this support , add this in your configuration
```murphyBootstrapHtml{
enable: true,
chunkName: '',
filePath: ''
}```
# v0.0.12 (14-08-2025)
- Fixed the initial i18n loading issue caused by using the same function in both the i18nRuntimeDealer plugin and decidePublicPath
# v0.0.11 (07-08-2025) (had an issue while enable i18n chunk split plugin)
- remove babel-plugin-module-resolver dependencies
**Adjustments:-**
- Public Folder configuration is separated for development and production
**Bug Fix:-**
- 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`.
- Removed the babel-plugin-module-resolver dependency to resolve the alias resolution issue in the application.
- Fixed the issue where a space in the variable name causes it to return an undefined value.
- Fixed the URL path generation issue that occurred while using context in the development setup.
# v0.0.10 (12-05-2025)
**Feature:-**
- `alias` support for `build:es` and `build:lib`
- Add babel-plugin-module-resolver dependencies
- Modify getBabelPlugin to include module resolver with aliases
**Bug Fix:-**
- Enhance runBabelForTSFile to handle both .tsx and .ts file extensions
- Update mockApiHandler to ensure mock function is called correctly
**Change:-**
- Refactor defaultConfigValues.js to include cli options for enableRTLSplit
## v0.0.9
**Feature:-**
- externals was added to Prevent bundling of certain imported packages and retrieve these external dependencies at runtime.
- to use externals, we use the following pattern in `app > externals` :
For example
```
externals: {
<key> : <value>
}
```
## v0.0.6 (4-09-2023)
**Feature:-**
- 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`.
- Added Resource Cleanup plugin to cleanup resource retained by build tool. this plugin is controlled by efc flag resourcecleanup flag.
- added support for using regex expression to get group of chunks chunkId via Resource Hint plugin prefetch/preload hook.
only will be activate when `resourceHints` => `allowPrefetchingMultipleChunks` as `true`
- added support for glob pattern for custom chunks split logic.
- added options to split chunks base config in the key `app` => `customChunksBaseConfig` as object
**Change:-**
- i18n name not generated issue fix.
- public path not correctly set issue fix.
- changing plugin hook stages in i18nRuntimePlugin and sourceMapPlugin
## v0.0.5 (6-08-2023)
**Changes:--**
- Typo fix in i18nRuntimeDealerPlugin.js
- fixing some bugs in resolvers.js file
## v0.0.3 (1-08-2023)
**Changes:--**
- `devtool` default value changed from `hidden-cheap-source-map` to `source-map`
- unwanted files deleted from build
**Issue Fix:--**
- The issue with the source map not being created in the build has been fixed."
## v0.0.2 (28-04-2023)
**Features:-**
- `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)
- `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)
- `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.
- `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.
- `enableChunkHash` renamed as `enableFileNameHashing`
- `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`)
- `createSeparateSmap` flag `source_map_enable` renamed as `enable_smap`
- `removeAttribute` option changes as `babelCustomizations.removeAttribute`
- `removePropTypes` support for remove the prop types package in the output build.
- `devConsoleExclude` support for remove the _console statements_ such as _console.log_, _console.warn_ in the output build.
- `manifestJson` default value set as false.
- `customAttributes` support for add attributes to html, link , script tag in the output build.
## v0.0.1 (18-04-2023)
First Release
**Features:-**
- 'start' command to run react app
- 'build' command to create build for react app
- 'build:lib' command to create lib for react library
- 'build:es' command to create es for react library
- 'templates' command to create es for react library