UNPKG

@zohodesk/client_build_tool

Version:

A CLI tool to build web applications and client libraries

190 lines (137 loc) 8.46 kB
# 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