ToolJet/frontend/webpack.config.js

396 lines
14 KiB
JavaScript
Raw Normal View History

2025-02-25 06:52:50 +00:00
const HtmlWebpackPlugin = require('html-webpack-plugin');
const webpack = require('webpack');
2021-03-31 14:01:01 +00:00
const path = require('path');
const CompressionPlugin = require('compression-webpack-plugin');
const TerserPlugin = require('terser-webpack-plugin');
chore: Viewer isolation (#14658) * update submodule commit for server * Fix: App history timeline UI in left sidebar * Fix: App history entry options menu UI * Fix: App history rename modal UI * Fix: App history restore modal UI * Feat: Implement server-sent events for app history updates and add authentication guard * Remove all the unused logic from inside the store * Fix: Minor UI change * Fix: Added a loader * Update submodule references * Implemented flow to prevent full reload on restoring history * Fix: Minor UI issue for history options menu * feat: Add pushHistoryEntry method to appHistoryStore * feat: Implement history entry limit in appHistoryStore * Fix: Horizontal page menu minor enhancements * feat: add migration for app_history table and update entity structure * feat: refactor AppHistory module imports and add new services and guards * Fix: Vertical page menu minor enhancements * feat: add stream history feature and update related permissions and constants * feat: add AppStateRepository to AppHistoryModule imports and providers * feat: add NameResolverRepository to AppHistoryModule imports and providers * feat: implement NameResolverRepository and NameResolverService for component and page name resolution * feat: remove QueueHistoryIntegrationService and update AppHistoryModule to reflect changes * feat: update AppHistoryModule and AppHistoryRepository with new methods and refactor imports * feat: refactor AppHistoryModule and related services to streamline name resolution and history capture * feat: add AppStateRepository and HistoryQueueProcessor, refactor AppStateAggregatorService to utilize repository methods * feat: rename methods in AppStateRepository for clarity and update AppStateAggregatorService to reflect changes * feat: refactor history capture logic to use synchronous execution and improve error handling across services * Fix: Mobile view page menu UI enhancements * feat: enhance ability guards and repository methods for app history validation * Update submodule references * Migrate to shadcn sidebar component * Fix: Components not getting pasted at correct position if user scrolled and pasted inside container components * Fix: Group components not getting pasted at correct position horizontally inside container components * POC for removing overlap prevention logic if not enough space present, incase user clicks somewhere to respect click position * Update frontend/src/AppBuilder/AppCanvas/Container.jsx Co-authored-by: Copilot <175728472+[email protected]> * feat: enhance AppHistoryModule registration with isMainImport flag * feat: update settings method to queue history capture after successful update * chore: update subproject commit reference in frontend/ee * feat: add function to delete app history for structural migrations * Refactor imports and enhance code organization across multiple files - Updated import paths to reflect the new directory structure in TooljetDatabase and AppBuilder components. - Consolidated utility functions in appUtils.js, removing redundant code and improving readability. - Enhanced error handling and state management in dataQueriesStore and resolverStore. - Added Bundle Analyzer plugin to webpack configuration for better performance insights. - Improved chunking strategy in webpack to optimize loading of libraries and components. - Refactored ErrorBoundary imports to maintain consistency across UI components. * feat: enhance UI components with new icons and styling adjustments * refactor: remove unused components and icons from QueryManager - Deleted QueryManagerHeader component and its associated logic. - Removed SuccessNotificationInputs component and its functionality. - Eliminated Transformation component and related code. - Deleted BreadcrumbsIcon, CreateIcon, PreviewIcon, RenameIcon, RunIcon, and ToggleQueryEditorIcon. - Updated imports in appUtils.js to reflect new icon paths. * Refactor editorHelpers and utils: Remove unused functions and imports, streamline background update logic, and adjust state handling. Comment out or delete handleReferenceTransactions and related logic in various stores to simplify data flow and improve maintainability. * Refactor queryPanelStore and storeHelper by commenting out unused imports and code. This cleanup improves code readability and maintainability. * revert: Reverted the lazy loading changes * revert: Reverted the changes on App & AppRoute * Fix: Inside side effects, get the correct canvas element, disable page scrolling and reposition modal container when modal is opened * Fix: Use the side effects when modal is opened and closed * Update submodule references * fix: Corrected zustandDevTools enabled option logic * update ee-frontend submodule ref * Enhance: Vertical page menu default styles * chore: merged with lts * chore: moved components from Editor to AppBuilder folder * chore: cleaned up the appbuilder imports * chore: update subproject commit reference * update submodule ref * Enhance: Horizontal page menu default styles * fix: Global search for multiselect column * Fix: More button on pages overflow is getting cropped and remove unnecessary calculations related to it * Refactor page menu code * Integrate shadcn navigation menu component for horizontal page menu * Update submodule ref * update submodule ref * Fix: Minimum width of the popup in horizontal page menu * Fixed UI issues * Removed commented code * Removed wrapper and unwanted code * Fix: Minor page menu bugs inside Editor * Fix: popover overflow issue and other minor bugs * Remove unnecessary package.json change * chore: fix import path casing for RealTimeEditor * Fix: Grid resizing issue and component selector overflow * Fix: Increased transition duration to 200 * Removed the classname change * Fix: Scrollbar visible in viewer in vertical page menu * Fix: Remove arbitrary variant chains since not supported in Tailwind v3 to fix animations in horizontal page menu * chore: update subproject commits for frontend and server * Refactored code * Update ee-frontend submodule reference * Removed leading and trailing icon width * Refactor page menu styling part to make it reusable for mobile view * Integrate Shacn Sidebar component in page menu for mobile view * Update submodule references * fix: merge issues and minor bugs * Update frontend/src/_styles/pages-sidebar.scss Co-authored-by: Copilot <175728472+[email protected]> * update submodule ref * fixed: custom validation working for dropdown inside the listview * update submodule references * Fix: Broken app logo in editor incase app logo url is incorrect * Fix: Default styles * update submodule reference * Fix: Implement changes for legacy modal as well * Fix: Change state logic to dom manipulation logic on canvas scroll to prevent unnecessary re-renders * Fix: Change default border color to cc-Border/weak * Fix: Remove max width on overflow menu in horizontal page menu and prevent right sidebar to open on toggling page groups in overflow menu * Fix: Box shadow should only be visible for horizontal page menu only when canvas is scrolled and not on top * Update submodule references * Feat: Add support for icon in modal trigger * Update frontend/src/AppBuilder/Widgets/ModalV2/ModalV2.jsx Co-authored-by: Copilot <175728472+[email protected]> * Update frontend/src/AppBuilder/Widgets/ModalV2/helpers/stylesFactory.js Co-authored-by: Copilot <175728472+[email protected]> * chore: update subproject commit reference in frontend/ee * refactor: clean up controller methods and remove unused streamHistory and getEvents methods * chore: update subproject commit reference in frontend/ee * update submodule references * Fix: Scrollbar behaviour in vertical page menu * Fix: Group closes on selecting a page on vertical page menu * Remove log * feat: Add RootRouter for bundle isolation and viewer routing - Introduced RootRouter component to handle route splitting for viewer isolation. - Created ViewerApp component to manage viewer-specific routes and logic. - Removed BrowserRouter from App.jsx and integrated routing into RootRouter. - Updated package.json to include madge for circular dependency checks. - Refactored App.jsx to remove viewer-related imports and routes. - Moved useConfirm hook to a new file for better organization. - Updated various components to reflect new import paths and structure. - Enhanced webpack configuration for improved chunk splitting and performance. - Added new directories for future feature development under src/v2. * feat: Add scripts to check bundle size and circular dependencies * feat: Refactor to use dynamic imports for edition-specific components and helpers * fix: update BoundedBox widget styles and fix class names; add datepicker styles * feat: add permission checks based on selected data source scope in QueryCard component * fix: enhance error handling in streamHistoryUpdates and update subproject reference * fix: fixed the bug on app history in capturing the query deletion * fix: Fixed unknown component issue while adding an event in query and pages. Added resolveEntityName method to handle entity name resolution for components, queries, and pages * feat: Add captureSettingsUpdateHistory method to log app version settings updates * fix: pageSettings were not properly restored while restoring the app history and version change * fix: Enhance settings update history capture with action type differentiation * feat: Optimize layout updates by batching component layout changes * fix: Prevent redundant canvasHeight updates when the value is unchanged * chore: Added script & logic for view parsed and gzip bundle * Perf: Reduces main chunk size by almost 140KB, hence reducing overall bundle size * chore: submodule update (Perf: reduces main chunk size by almost 220KB, hence reducing overall bundle size) * fix: update entrypoint script to use ce-preview.sh for PostgreSQL initialization * Perf: Extract CSS from JS bundle to allow css minification and removal of comments in production bundle * style: Update padding and spacing in app history styles for improved layout * feat: Implement lazy loading for editor-only components to optimize viewer bundle size * chore: Update subproject reference to latest commit * chore: Update subproject commit reference for frontend/ee * chore: Update subproject commit references for frontend and server * Fix: update hover effect for app name display in EditAppName component * Fix: remove redundant darkMode prop from FormField component * fix: add !important to primary color for rc-slider track and handle * feat: implement batching for form component updates and layout changes * feat: enhance form component handling with batching and parent ID extraction * fix: removed some of the barrel imports * chore: Update subproject reference to latest commit * Update submodule references * Fix: Page of type app or url gets converted to default page on app import * feat: enhance page cloning with history capture functionality * fix: optimize parent change detection to prevent unnecessary batch updates during drag operations * feat: optimize query saving logic to skip unnecessary updates for name changes * Fix: Group not selected after nested page selection until hovered in horizontal menu * Revert "Revert "[refactor]: Fix leftsidebar on opening disturbing the scroll"" This reverts commit d712c47f9cdf5305b8a62a2e9bd62b720c835936. * Fix: Navigation menu disappears when view switched between desktop and mobile view in editor * update ee-server submodule ref * update submodule references * Fix: Icon alignment issue * feat: implement bulk creation of event handlers and optimize component event handling * chore: update subproject commit reference in frontend/ee * Revert "POC for removing overlap prevention logic if not enough space present, incase user clicks somewhere to respect click position" This reverts commit 8aec525e9aa7ec636a0066a80204334402906017. * feat: disable client overlay in webpack configuration * update the submodule refs * update submodule refs * update submodule reference for server/ee * refactor: rename `defaultDataSources` prop to `staticDataSources` in `DataSourceSelect` component. * update submodule refs * Merge pull request #14663 from ToolJet/feature/viewer-isolation-and-bundle-optimization Perf: lazy load components not required on viewer page and widgets with bigger external dependencies * refactor: change exports to default for CodeEditor, ColorPicker, and Table components * feat: add loading spinner to PreviewSettings and update loading fallback in RootRouter * feat: lazy load jsPDF and jspdf-autotable to optimize bundle size and improve performance * feat: replace Tabler icons with dynamic loading to optimize bundle size and improve performance * feat: add AppHistoryStreamService to manage app history streaming * update submodule reference for server/ee * update submodule reference for server/ee * update submodule reference for server/ee * chore: update submodule reference for frontend/ee to latest commit * fix: handle default icon for home page in RenderPage component * feat: implement SuspenseCountProvider and TrackedSuspense for handling the onLoad queries for lazy widgets * feat: add SuspenseLoadingOverlay for improved loading state handling in AppCanvas while components are lazy loaded * refactor: simplify scrolling logic in useEnableMainCanvasScroll and remove unnecessary state * fix: added missed import of `DynamicHeightInfo` in `ConfigHandle` component * fix: improve animation handling for TablerIcon component and clean up suspense fallback * feat: implement viewer isolation for embedded apps routing * fix: Map MODULE type to APP permissions in FeatureAbilityGuard * Revert "fix: Map MODULE type to APP permissions in FeatureAbilityGuard" This reverts commit ccb53f8d894f22c9f8aa9f90b60670741150a8ce. * fix: Exclude MODULE type apps from environment access validation * fix: Add deferCheck prop to SuspenseCountProvider for improved lazy loading handling to support modules * chore: update subproject commits for frontend and server components * chore: update subproject commit reference in server/ee * chore: added logs to print the pat * Revert "chore: added logs to print the pat" This reverts commit d0c075f1488bacaddd11a0b8890ce66d07644b3e. * chore: update version to 3.20.76-lts --------- Co-authored-by: devanshu052000 <[email protected]> Co-authored-by: Copilot <175728472+[email protected]> Co-authored-by: manishkushare <[email protected]> Co-authored-by: Nishidh Jain <[email protected]> Co-authored-by: adishM98 Bot <[email protected]> Co-authored-by: Johnson Cherian <[email protected]> Co-authored-by: Nishidh Jain <61869195+[email protected]>
2026-01-23 11:44:55 +00:00
const MiniCssExtractPlugin = require('mini-css-extract-plugin');
const CssMinimizerPlugin = require('css-minimizer-webpack-plugin');
require('dotenv').config({ path: '../.env' });
const hash = require('string-hash');
const { sentryWebpackPlugin } = require('@sentry/webpack-plugin');
const fs = require('fs');
const versionPath = path.resolve(__dirname, '.version');
const version = fs.readFileSync(versionPath, 'utf-8').trim();
const ReactRefreshWebpackPlugin = require('@pmmmwh/react-refresh-webpack-plugin');
chore: Viewer isolation (#14658) * update submodule commit for server * Fix: App history timeline UI in left sidebar * Fix: App history entry options menu UI * Fix: App history rename modal UI * Fix: App history restore modal UI * Feat: Implement server-sent events for app history updates and add authentication guard * Remove all the unused logic from inside the store * Fix: Minor UI change * Fix: Added a loader * Update submodule references * Implemented flow to prevent full reload on restoring history * Fix: Minor UI issue for history options menu * feat: Add pushHistoryEntry method to appHistoryStore * feat: Implement history entry limit in appHistoryStore * Fix: Horizontal page menu minor enhancements * feat: add migration for app_history table and update entity structure * feat: refactor AppHistory module imports and add new services and guards * Fix: Vertical page menu minor enhancements * feat: add stream history feature and update related permissions and constants * feat: add AppStateRepository to AppHistoryModule imports and providers * feat: add NameResolverRepository to AppHistoryModule imports and providers * feat: implement NameResolverRepository and NameResolverService for component and page name resolution * feat: remove QueueHistoryIntegrationService and update AppHistoryModule to reflect changes * feat: update AppHistoryModule and AppHistoryRepository with new methods and refactor imports * feat: refactor AppHistoryModule and related services to streamline name resolution and history capture * feat: add AppStateRepository and HistoryQueueProcessor, refactor AppStateAggregatorService to utilize repository methods * feat: rename methods in AppStateRepository for clarity and update AppStateAggregatorService to reflect changes * feat: refactor history capture logic to use synchronous execution and improve error handling across services * Fix: Mobile view page menu UI enhancements * feat: enhance ability guards and repository methods for app history validation * Update submodule references * Migrate to shadcn sidebar component * Fix: Components not getting pasted at correct position if user scrolled and pasted inside container components * Fix: Group components not getting pasted at correct position horizontally inside container components * POC for removing overlap prevention logic if not enough space present, incase user clicks somewhere to respect click position * Update frontend/src/AppBuilder/AppCanvas/Container.jsx Co-authored-by: Copilot <175728472+[email protected]> * feat: enhance AppHistoryModule registration with isMainImport flag * feat: update settings method to queue history capture after successful update * chore: update subproject commit reference in frontend/ee * feat: add function to delete app history for structural migrations * Refactor imports and enhance code organization across multiple files - Updated import paths to reflect the new directory structure in TooljetDatabase and AppBuilder components. - Consolidated utility functions in appUtils.js, removing redundant code and improving readability. - Enhanced error handling and state management in dataQueriesStore and resolverStore. - Added Bundle Analyzer plugin to webpack configuration for better performance insights. - Improved chunking strategy in webpack to optimize loading of libraries and components. - Refactored ErrorBoundary imports to maintain consistency across UI components. * feat: enhance UI components with new icons and styling adjustments * refactor: remove unused components and icons from QueryManager - Deleted QueryManagerHeader component and its associated logic. - Removed SuccessNotificationInputs component and its functionality. - Eliminated Transformation component and related code. - Deleted BreadcrumbsIcon, CreateIcon, PreviewIcon, RenameIcon, RunIcon, and ToggleQueryEditorIcon. - Updated imports in appUtils.js to reflect new icon paths. * Refactor editorHelpers and utils: Remove unused functions and imports, streamline background update logic, and adjust state handling. Comment out or delete handleReferenceTransactions and related logic in various stores to simplify data flow and improve maintainability. * Refactor queryPanelStore and storeHelper by commenting out unused imports and code. This cleanup improves code readability and maintainability. * revert: Reverted the lazy loading changes * revert: Reverted the changes on App & AppRoute * Fix: Inside side effects, get the correct canvas element, disable page scrolling and reposition modal container when modal is opened * Fix: Use the side effects when modal is opened and closed * Update submodule references * fix: Corrected zustandDevTools enabled option logic * update ee-frontend submodule ref * Enhance: Vertical page menu default styles * chore: merged with lts * chore: moved components from Editor to AppBuilder folder * chore: cleaned up the appbuilder imports * chore: update subproject commit reference * update submodule ref * Enhance: Horizontal page menu default styles * fix: Global search for multiselect column * Fix: More button on pages overflow is getting cropped and remove unnecessary calculations related to it * Refactor page menu code * Integrate shadcn navigation menu component for horizontal page menu * Update submodule ref * update submodule ref * Fix: Minimum width of the popup in horizontal page menu * Fixed UI issues * Removed commented code * Removed wrapper and unwanted code * Fix: Minor page menu bugs inside Editor * Fix: popover overflow issue and other minor bugs * Remove unnecessary package.json change * chore: fix import path casing for RealTimeEditor * Fix: Grid resizing issue and component selector overflow * Fix: Increased transition duration to 200 * Removed the classname change * Fix: Scrollbar visible in viewer in vertical page menu * Fix: Remove arbitrary variant chains since not supported in Tailwind v3 to fix animations in horizontal page menu * chore: update subproject commits for frontend and server * Refactored code * Update ee-frontend submodule reference * Removed leading and trailing icon width * Refactor page menu styling part to make it reusable for mobile view * Integrate Shacn Sidebar component in page menu for mobile view * Update submodule references * fix: merge issues and minor bugs * Update frontend/src/_styles/pages-sidebar.scss Co-authored-by: Copilot <175728472+[email protected]> * update submodule ref * fixed: custom validation working for dropdown inside the listview * update submodule references * Fix: Broken app logo in editor incase app logo url is incorrect * Fix: Default styles * update submodule reference * Fix: Implement changes for legacy modal as well * Fix: Change state logic to dom manipulation logic on canvas scroll to prevent unnecessary re-renders * Fix: Change default border color to cc-Border/weak * Fix: Remove max width on overflow menu in horizontal page menu and prevent right sidebar to open on toggling page groups in overflow menu * Fix: Box shadow should only be visible for horizontal page menu only when canvas is scrolled and not on top * Update submodule references * Feat: Add support for icon in modal trigger * Update frontend/src/AppBuilder/Widgets/ModalV2/ModalV2.jsx Co-authored-by: Copilot <175728472+[email protected]> * Update frontend/src/AppBuilder/Widgets/ModalV2/helpers/stylesFactory.js Co-authored-by: Copilot <175728472+[email protected]> * chore: update subproject commit reference in frontend/ee * refactor: clean up controller methods and remove unused streamHistory and getEvents methods * chore: update subproject commit reference in frontend/ee * update submodule references * Fix: Scrollbar behaviour in vertical page menu * Fix: Group closes on selecting a page on vertical page menu * Remove log * feat: Add RootRouter for bundle isolation and viewer routing - Introduced RootRouter component to handle route splitting for viewer isolation. - Created ViewerApp component to manage viewer-specific routes and logic. - Removed BrowserRouter from App.jsx and integrated routing into RootRouter. - Updated package.json to include madge for circular dependency checks. - Refactored App.jsx to remove viewer-related imports and routes. - Moved useConfirm hook to a new file for better organization. - Updated various components to reflect new import paths and structure. - Enhanced webpack configuration for improved chunk splitting and performance. - Added new directories for future feature development under src/v2. * feat: Add scripts to check bundle size and circular dependencies * feat: Refactor to use dynamic imports for edition-specific components and helpers * fix: update BoundedBox widget styles and fix class names; add datepicker styles * feat: add permission checks based on selected data source scope in QueryCard component * fix: enhance error handling in streamHistoryUpdates and update subproject reference * fix: fixed the bug on app history in capturing the query deletion * fix: Fixed unknown component issue while adding an event in query and pages. Added resolveEntityName method to handle entity name resolution for components, queries, and pages * feat: Add captureSettingsUpdateHistory method to log app version settings updates * fix: pageSettings were not properly restored while restoring the app history and version change * fix: Enhance settings update history capture with action type differentiation * feat: Optimize layout updates by batching component layout changes * fix: Prevent redundant canvasHeight updates when the value is unchanged * chore: Added script & logic for view parsed and gzip bundle * Perf: Reduces main chunk size by almost 140KB, hence reducing overall bundle size * chore: submodule update (Perf: reduces main chunk size by almost 220KB, hence reducing overall bundle size) * fix: update entrypoint script to use ce-preview.sh for PostgreSQL initialization * Perf: Extract CSS from JS bundle to allow css minification and removal of comments in production bundle * style: Update padding and spacing in app history styles for improved layout * feat: Implement lazy loading for editor-only components to optimize viewer bundle size * chore: Update subproject reference to latest commit * chore: Update subproject commit reference for frontend/ee * chore: Update subproject commit references for frontend and server * Fix: update hover effect for app name display in EditAppName component * Fix: remove redundant darkMode prop from FormField component * fix: add !important to primary color for rc-slider track and handle * feat: implement batching for form component updates and layout changes * feat: enhance form component handling with batching and parent ID extraction * fix: removed some of the barrel imports * chore: Update subproject reference to latest commit * Update submodule references * Fix: Page of type app or url gets converted to default page on app import * feat: enhance page cloning with history capture functionality * fix: optimize parent change detection to prevent unnecessary batch updates during drag operations * feat: optimize query saving logic to skip unnecessary updates for name changes * Fix: Group not selected after nested page selection until hovered in horizontal menu * Revert "Revert "[refactor]: Fix leftsidebar on opening disturbing the scroll"" This reverts commit d712c47f9cdf5305b8a62a2e9bd62b720c835936. * Fix: Navigation menu disappears when view switched between desktop and mobile view in editor * update ee-server submodule ref * update submodule references * Fix: Icon alignment issue * feat: implement bulk creation of event handlers and optimize component event handling * chore: update subproject commit reference in frontend/ee * Revert "POC for removing overlap prevention logic if not enough space present, incase user clicks somewhere to respect click position" This reverts commit 8aec525e9aa7ec636a0066a80204334402906017. * feat: disable client overlay in webpack configuration * update the submodule refs * update submodule refs * update submodule reference for server/ee * refactor: rename `defaultDataSources` prop to `staticDataSources` in `DataSourceSelect` component. * update submodule refs * Merge pull request #14663 from ToolJet/feature/viewer-isolation-and-bundle-optimization Perf: lazy load components not required on viewer page and widgets with bigger external dependencies * refactor: change exports to default for CodeEditor, ColorPicker, and Table components * feat: add loading spinner to PreviewSettings and update loading fallback in RootRouter * feat: lazy load jsPDF and jspdf-autotable to optimize bundle size and improve performance * feat: replace Tabler icons with dynamic loading to optimize bundle size and improve performance * feat: add AppHistoryStreamService to manage app history streaming * update submodule reference for server/ee * update submodule reference for server/ee * update submodule reference for server/ee * chore: update submodule reference for frontend/ee to latest commit * fix: handle default icon for home page in RenderPage component * feat: implement SuspenseCountProvider and TrackedSuspense for handling the onLoad queries for lazy widgets * feat: add SuspenseLoadingOverlay for improved loading state handling in AppCanvas while components are lazy loaded * refactor: simplify scrolling logic in useEnableMainCanvasScroll and remove unnecessary state * fix: added missed import of `DynamicHeightInfo` in `ConfigHandle` component * fix: improve animation handling for TablerIcon component and clean up suspense fallback * feat: implement viewer isolation for embedded apps routing * fix: Map MODULE type to APP permissions in FeatureAbilityGuard * Revert "fix: Map MODULE type to APP permissions in FeatureAbilityGuard" This reverts commit ccb53f8d894f22c9f8aa9f90b60670741150a8ce. * fix: Exclude MODULE type apps from environment access validation * fix: Add deferCheck prop to SuspenseCountProvider for improved lazy loading handling to support modules * chore: update subproject commits for frontend and server components * chore: update subproject commit reference in server/ee * chore: added logs to print the pat * Revert "chore: added logs to print the pat" This reverts commit d0c075f1488bacaddd11a0b8890ce66d07644b3e. * chore: update version to 3.20.76-lts --------- Co-authored-by: devanshu052000 <[email protected]> Co-authored-by: Copilot <175728472+[email protected]> Co-authored-by: manishkushare <[email protected]> Co-authored-by: Nishidh Jain <[email protected]> Co-authored-by: adishM98 Bot <[email protected]> Co-authored-by: Johnson Cherian <[email protected]> Co-authored-by: Nishidh Jain <61869195+[email protected]>
2026-01-23 11:44:55 +00:00
const BundleAnalyzerPlugin = require('webpack-bundle-analyzer').BundleAnalyzerPlugin;
2021-03-31 14:01:01 +00:00
const environment = process.env.NODE_ENV === 'production' ? 'production' : 'development';
const edition = process.env.TOOLJET_EDITION;
const isDevEnv = process.env.NODE_ENV === 'development';
chore: Viewer isolation (#14658) * update submodule commit for server * Fix: App history timeline UI in left sidebar * Fix: App history entry options menu UI * Fix: App history rename modal UI * Fix: App history restore modal UI * Feat: Implement server-sent events for app history updates and add authentication guard * Remove all the unused logic from inside the store * Fix: Minor UI change * Fix: Added a loader * Update submodule references * Implemented flow to prevent full reload on restoring history * Fix: Minor UI issue for history options menu * feat: Add pushHistoryEntry method to appHistoryStore * feat: Implement history entry limit in appHistoryStore * Fix: Horizontal page menu minor enhancements * feat: add migration for app_history table and update entity structure * feat: refactor AppHistory module imports and add new services and guards * Fix: Vertical page menu minor enhancements * feat: add stream history feature and update related permissions and constants * feat: add AppStateRepository to AppHistoryModule imports and providers * feat: add NameResolverRepository to AppHistoryModule imports and providers * feat: implement NameResolverRepository and NameResolverService for component and page name resolution * feat: remove QueueHistoryIntegrationService and update AppHistoryModule to reflect changes * feat: update AppHistoryModule and AppHistoryRepository with new methods and refactor imports * feat: refactor AppHistoryModule and related services to streamline name resolution and history capture * feat: add AppStateRepository and HistoryQueueProcessor, refactor AppStateAggregatorService to utilize repository methods * feat: rename methods in AppStateRepository for clarity and update AppStateAggregatorService to reflect changes * feat: refactor history capture logic to use synchronous execution and improve error handling across services * Fix: Mobile view page menu UI enhancements * feat: enhance ability guards and repository methods for app history validation * Update submodule references * Migrate to shadcn sidebar component * Fix: Components not getting pasted at correct position if user scrolled and pasted inside container components * Fix: Group components not getting pasted at correct position horizontally inside container components * POC for removing overlap prevention logic if not enough space present, incase user clicks somewhere to respect click position * Update frontend/src/AppBuilder/AppCanvas/Container.jsx Co-authored-by: Copilot <175728472+[email protected]> * feat: enhance AppHistoryModule registration with isMainImport flag * feat: update settings method to queue history capture after successful update * chore: update subproject commit reference in frontend/ee * feat: add function to delete app history for structural migrations * Refactor imports and enhance code organization across multiple files - Updated import paths to reflect the new directory structure in TooljetDatabase and AppBuilder components. - Consolidated utility functions in appUtils.js, removing redundant code and improving readability. - Enhanced error handling and state management in dataQueriesStore and resolverStore. - Added Bundle Analyzer plugin to webpack configuration for better performance insights. - Improved chunking strategy in webpack to optimize loading of libraries and components. - Refactored ErrorBoundary imports to maintain consistency across UI components. * feat: enhance UI components with new icons and styling adjustments * refactor: remove unused components and icons from QueryManager - Deleted QueryManagerHeader component and its associated logic. - Removed SuccessNotificationInputs component and its functionality. - Eliminated Transformation component and related code. - Deleted BreadcrumbsIcon, CreateIcon, PreviewIcon, RenameIcon, RunIcon, and ToggleQueryEditorIcon. - Updated imports in appUtils.js to reflect new icon paths. * Refactor editorHelpers and utils: Remove unused functions and imports, streamline background update logic, and adjust state handling. Comment out or delete handleReferenceTransactions and related logic in various stores to simplify data flow and improve maintainability. * Refactor queryPanelStore and storeHelper by commenting out unused imports and code. This cleanup improves code readability and maintainability. * revert: Reverted the lazy loading changes * revert: Reverted the changes on App & AppRoute * Fix: Inside side effects, get the correct canvas element, disable page scrolling and reposition modal container when modal is opened * Fix: Use the side effects when modal is opened and closed * Update submodule references * fix: Corrected zustandDevTools enabled option logic * update ee-frontend submodule ref * Enhance: Vertical page menu default styles * chore: merged with lts * chore: moved components from Editor to AppBuilder folder * chore: cleaned up the appbuilder imports * chore: update subproject commit reference * update submodule ref * Enhance: Horizontal page menu default styles * fix: Global search for multiselect column * Fix: More button on pages overflow is getting cropped and remove unnecessary calculations related to it * Refactor page menu code * Integrate shadcn navigation menu component for horizontal page menu * Update submodule ref * update submodule ref * Fix: Minimum width of the popup in horizontal page menu * Fixed UI issues * Removed commented code * Removed wrapper and unwanted code * Fix: Minor page menu bugs inside Editor * Fix: popover overflow issue and other minor bugs * Remove unnecessary package.json change * chore: fix import path casing for RealTimeEditor * Fix: Grid resizing issue and component selector overflow * Fix: Increased transition duration to 200 * Removed the classname change * Fix: Scrollbar visible in viewer in vertical page menu * Fix: Remove arbitrary variant chains since not supported in Tailwind v3 to fix animations in horizontal page menu * chore: update subproject commits for frontend and server * Refactored code * Update ee-frontend submodule reference * Removed leading and trailing icon width * Refactor page menu styling part to make it reusable for mobile view * Integrate Shacn Sidebar component in page menu for mobile view * Update submodule references * fix: merge issues and minor bugs * Update frontend/src/_styles/pages-sidebar.scss Co-authored-by: Copilot <175728472+[email protected]> * update submodule ref * fixed: custom validation working for dropdown inside the listview * update submodule references * Fix: Broken app logo in editor incase app logo url is incorrect * Fix: Default styles * update submodule reference * Fix: Implement changes for legacy modal as well * Fix: Change state logic to dom manipulation logic on canvas scroll to prevent unnecessary re-renders * Fix: Change default border color to cc-Border/weak * Fix: Remove max width on overflow menu in horizontal page menu and prevent right sidebar to open on toggling page groups in overflow menu * Fix: Box shadow should only be visible for horizontal page menu only when canvas is scrolled and not on top * Update submodule references * Feat: Add support for icon in modal trigger * Update frontend/src/AppBuilder/Widgets/ModalV2/ModalV2.jsx Co-authored-by: Copilot <175728472+[email protected]> * Update frontend/src/AppBuilder/Widgets/ModalV2/helpers/stylesFactory.js Co-authored-by: Copilot <175728472+[email protected]> * chore: update subproject commit reference in frontend/ee * refactor: clean up controller methods and remove unused streamHistory and getEvents methods * chore: update subproject commit reference in frontend/ee * update submodule references * Fix: Scrollbar behaviour in vertical page menu * Fix: Group closes on selecting a page on vertical page menu * Remove log * feat: Add RootRouter for bundle isolation and viewer routing - Introduced RootRouter component to handle route splitting for viewer isolation. - Created ViewerApp component to manage viewer-specific routes and logic. - Removed BrowserRouter from App.jsx and integrated routing into RootRouter. - Updated package.json to include madge for circular dependency checks. - Refactored App.jsx to remove viewer-related imports and routes. - Moved useConfirm hook to a new file for better organization. - Updated various components to reflect new import paths and structure. - Enhanced webpack configuration for improved chunk splitting and performance. - Added new directories for future feature development under src/v2. * feat: Add scripts to check bundle size and circular dependencies * feat: Refactor to use dynamic imports for edition-specific components and helpers * fix: update BoundedBox widget styles and fix class names; add datepicker styles * feat: add permission checks based on selected data source scope in QueryCard component * fix: enhance error handling in streamHistoryUpdates and update subproject reference * fix: fixed the bug on app history in capturing the query deletion * fix: Fixed unknown component issue while adding an event in query and pages. Added resolveEntityName method to handle entity name resolution for components, queries, and pages * feat: Add captureSettingsUpdateHistory method to log app version settings updates * fix: pageSettings were not properly restored while restoring the app history and version change * fix: Enhance settings update history capture with action type differentiation * feat: Optimize layout updates by batching component layout changes * fix: Prevent redundant canvasHeight updates when the value is unchanged * chore: Added script & logic for view parsed and gzip bundle * Perf: Reduces main chunk size by almost 140KB, hence reducing overall bundle size * chore: submodule update (Perf: reduces main chunk size by almost 220KB, hence reducing overall bundle size) * fix: update entrypoint script to use ce-preview.sh for PostgreSQL initialization * Perf: Extract CSS from JS bundle to allow css minification and removal of comments in production bundle * style: Update padding and spacing in app history styles for improved layout * feat: Implement lazy loading for editor-only components to optimize viewer bundle size * chore: Update subproject reference to latest commit * chore: Update subproject commit reference for frontend/ee * chore: Update subproject commit references for frontend and server * Fix: update hover effect for app name display in EditAppName component * Fix: remove redundant darkMode prop from FormField component * fix: add !important to primary color for rc-slider track and handle * feat: implement batching for form component updates and layout changes * feat: enhance form component handling with batching and parent ID extraction * fix: removed some of the barrel imports * chore: Update subproject reference to latest commit * Update submodule references * Fix: Page of type app or url gets converted to default page on app import * feat: enhance page cloning with history capture functionality * fix: optimize parent change detection to prevent unnecessary batch updates during drag operations * feat: optimize query saving logic to skip unnecessary updates for name changes * Fix: Group not selected after nested page selection until hovered in horizontal menu * Revert "Revert "[refactor]: Fix leftsidebar on opening disturbing the scroll"" This reverts commit d712c47f9cdf5305b8a62a2e9bd62b720c835936. * Fix: Navigation menu disappears when view switched between desktop and mobile view in editor * update ee-server submodule ref * update submodule references * Fix: Icon alignment issue * feat: implement bulk creation of event handlers and optimize component event handling * chore: update subproject commit reference in frontend/ee * Revert "POC for removing overlap prevention logic if not enough space present, incase user clicks somewhere to respect click position" This reverts commit 8aec525e9aa7ec636a0066a80204334402906017. * feat: disable client overlay in webpack configuration * update the submodule refs * update submodule refs * update submodule reference for server/ee * refactor: rename `defaultDataSources` prop to `staticDataSources` in `DataSourceSelect` component. * update submodule refs * Merge pull request #14663 from ToolJet/feature/viewer-isolation-and-bundle-optimization Perf: lazy load components not required on viewer page and widgets with bigger external dependencies * refactor: change exports to default for CodeEditor, ColorPicker, and Table components * feat: add loading spinner to PreviewSettings and update loading fallback in RootRouter * feat: lazy load jsPDF and jspdf-autotable to optimize bundle size and improve performance * feat: replace Tabler icons with dynamic loading to optimize bundle size and improve performance * feat: add AppHistoryStreamService to manage app history streaming * update submodule reference for server/ee * update submodule reference for server/ee * update submodule reference for server/ee * chore: update submodule reference for frontend/ee to latest commit * fix: handle default icon for home page in RenderPage component * feat: implement SuspenseCountProvider and TrackedSuspense for handling the onLoad queries for lazy widgets * feat: add SuspenseLoadingOverlay for improved loading state handling in AppCanvas while components are lazy loaded * refactor: simplify scrolling logic in useEnableMainCanvasScroll and remove unnecessary state * fix: added missed import of `DynamicHeightInfo` in `ConfigHandle` component * fix: improve animation handling for TablerIcon component and clean up suspense fallback * feat: implement viewer isolation for embedded apps routing * fix: Map MODULE type to APP permissions in FeatureAbilityGuard * Revert "fix: Map MODULE type to APP permissions in FeatureAbilityGuard" This reverts commit ccb53f8d894f22c9f8aa9f90b60670741150a8ce. * fix: Exclude MODULE type apps from environment access validation * fix: Add deferCheck prop to SuspenseCountProvider for improved lazy loading handling to support modules * chore: update subproject commits for frontend and server components * chore: update subproject commit reference in server/ee * chore: added logs to print the pat * Revert "chore: added logs to print the pat" This reverts commit d0c075f1488bacaddd11a0b8890ce66d07644b3e. * chore: update version to 3.20.76-lts --------- Co-authored-by: devanshu052000 <[email protected]> Co-authored-by: Copilot <175728472+[email protected]> Co-authored-by: manishkushare <[email protected]> Co-authored-by: Nishidh Jain <[email protected]> Co-authored-by: adishM98 Bot <[email protected]> Co-authored-by: Johnson Cherian <[email protected]> Co-authored-by: Nishidh Jain <61869195+[email protected]>
2026-01-23 11:44:55 +00:00
const isProductionMode = environment === 'production';
2025-02-25 06:52:50 +00:00
// Create path to empty module
const emptyModulePath = path.resolve(__dirname, 'src/modules/emptyModule');
2021-03-31 14:01:01 +00:00
const API_URL = {
production: process.env.TOOLJET_SERVER_URL || (process.env.SERVE_CLIENT !== 'false' ? '__REPLACE_SUB_PATH__' : ''),
development: `http://localhost:${process.env.TOOLJET_SERVER_PORT || 3000}`,
};
2021-03-31 14:01:01 +00:00
const ASSET_PATH = process.env.ASSET_PATH || '';
function stripTrailingSlash(str) {
return str.replace(/[/]+$/, '');
}
const plugins = [
2025-02-25 06:52:50 +00:00
new webpack.ProvidePlugin({
process: 'process/browser.js',
Buffer: ['buffer', 'Buffer'],
}),
new HtmlWebpackPlugin({
template: './src/index.ejs',
favicon: './assets/images/logo.svg',
}),
new CompressionPlugin({
chore: Viewer isolation (#14658) * update submodule commit for server * Fix: App history timeline UI in left sidebar * Fix: App history entry options menu UI * Fix: App history rename modal UI * Fix: App history restore modal UI * Feat: Implement server-sent events for app history updates and add authentication guard * Remove all the unused logic from inside the store * Fix: Minor UI change * Fix: Added a loader * Update submodule references * Implemented flow to prevent full reload on restoring history * Fix: Minor UI issue for history options menu * feat: Add pushHistoryEntry method to appHistoryStore * feat: Implement history entry limit in appHistoryStore * Fix: Horizontal page menu minor enhancements * feat: add migration for app_history table and update entity structure * feat: refactor AppHistory module imports and add new services and guards * Fix: Vertical page menu minor enhancements * feat: add stream history feature and update related permissions and constants * feat: add AppStateRepository to AppHistoryModule imports and providers * feat: add NameResolverRepository to AppHistoryModule imports and providers * feat: implement NameResolverRepository and NameResolverService for component and page name resolution * feat: remove QueueHistoryIntegrationService and update AppHistoryModule to reflect changes * feat: update AppHistoryModule and AppHistoryRepository with new methods and refactor imports * feat: refactor AppHistoryModule and related services to streamline name resolution and history capture * feat: add AppStateRepository and HistoryQueueProcessor, refactor AppStateAggregatorService to utilize repository methods * feat: rename methods in AppStateRepository for clarity and update AppStateAggregatorService to reflect changes * feat: refactor history capture logic to use synchronous execution and improve error handling across services * Fix: Mobile view page menu UI enhancements * feat: enhance ability guards and repository methods for app history validation * Update submodule references * Migrate to shadcn sidebar component * Fix: Components not getting pasted at correct position if user scrolled and pasted inside container components * Fix: Group components not getting pasted at correct position horizontally inside container components * POC for removing overlap prevention logic if not enough space present, incase user clicks somewhere to respect click position * Update frontend/src/AppBuilder/AppCanvas/Container.jsx Co-authored-by: Copilot <175728472+[email protected]> * feat: enhance AppHistoryModule registration with isMainImport flag * feat: update settings method to queue history capture after successful update * chore: update subproject commit reference in frontend/ee * feat: add function to delete app history for structural migrations * Refactor imports and enhance code organization across multiple files - Updated import paths to reflect the new directory structure in TooljetDatabase and AppBuilder components. - Consolidated utility functions in appUtils.js, removing redundant code and improving readability. - Enhanced error handling and state management in dataQueriesStore and resolverStore. - Added Bundle Analyzer plugin to webpack configuration for better performance insights. - Improved chunking strategy in webpack to optimize loading of libraries and components. - Refactored ErrorBoundary imports to maintain consistency across UI components. * feat: enhance UI components with new icons and styling adjustments * refactor: remove unused components and icons from QueryManager - Deleted QueryManagerHeader component and its associated logic. - Removed SuccessNotificationInputs component and its functionality. - Eliminated Transformation component and related code. - Deleted BreadcrumbsIcon, CreateIcon, PreviewIcon, RenameIcon, RunIcon, and ToggleQueryEditorIcon. - Updated imports in appUtils.js to reflect new icon paths. * Refactor editorHelpers and utils: Remove unused functions and imports, streamline background update logic, and adjust state handling. Comment out or delete handleReferenceTransactions and related logic in various stores to simplify data flow and improve maintainability. * Refactor queryPanelStore and storeHelper by commenting out unused imports and code. This cleanup improves code readability and maintainability. * revert: Reverted the lazy loading changes * revert: Reverted the changes on App & AppRoute * Fix: Inside side effects, get the correct canvas element, disable page scrolling and reposition modal container when modal is opened * Fix: Use the side effects when modal is opened and closed * Update submodule references * fix: Corrected zustandDevTools enabled option logic * update ee-frontend submodule ref * Enhance: Vertical page menu default styles * chore: merged with lts * chore: moved components from Editor to AppBuilder folder * chore: cleaned up the appbuilder imports * chore: update subproject commit reference * update submodule ref * Enhance: Horizontal page menu default styles * fix: Global search for multiselect column * Fix: More button on pages overflow is getting cropped and remove unnecessary calculations related to it * Refactor page menu code * Integrate shadcn navigation menu component for horizontal page menu * Update submodule ref * update submodule ref * Fix: Minimum width of the popup in horizontal page menu * Fixed UI issues * Removed commented code * Removed wrapper and unwanted code * Fix: Minor page menu bugs inside Editor * Fix: popover overflow issue and other minor bugs * Remove unnecessary package.json change * chore: fix import path casing for RealTimeEditor * Fix: Grid resizing issue and component selector overflow * Fix: Increased transition duration to 200 * Removed the classname change * Fix: Scrollbar visible in viewer in vertical page menu * Fix: Remove arbitrary variant chains since not supported in Tailwind v3 to fix animations in horizontal page menu * chore: update subproject commits for frontend and server * Refactored code * Update ee-frontend submodule reference * Removed leading and trailing icon width * Refactor page menu styling part to make it reusable for mobile view * Integrate Shacn Sidebar component in page menu for mobile view * Update submodule references * fix: merge issues and minor bugs * Update frontend/src/_styles/pages-sidebar.scss Co-authored-by: Copilot <175728472+[email protected]> * update submodule ref * fixed: custom validation working for dropdown inside the listview * update submodule references * Fix: Broken app logo in editor incase app logo url is incorrect * Fix: Default styles * update submodule reference * Fix: Implement changes for legacy modal as well * Fix: Change state logic to dom manipulation logic on canvas scroll to prevent unnecessary re-renders * Fix: Change default border color to cc-Border/weak * Fix: Remove max width on overflow menu in horizontal page menu and prevent right sidebar to open on toggling page groups in overflow menu * Fix: Box shadow should only be visible for horizontal page menu only when canvas is scrolled and not on top * Update submodule references * Feat: Add support for icon in modal trigger * Update frontend/src/AppBuilder/Widgets/ModalV2/ModalV2.jsx Co-authored-by: Copilot <175728472+[email protected]> * Update frontend/src/AppBuilder/Widgets/ModalV2/helpers/stylesFactory.js Co-authored-by: Copilot <175728472+[email protected]> * chore: update subproject commit reference in frontend/ee * refactor: clean up controller methods and remove unused streamHistory and getEvents methods * chore: update subproject commit reference in frontend/ee * update submodule references * Fix: Scrollbar behaviour in vertical page menu * Fix: Group closes on selecting a page on vertical page menu * Remove log * feat: Add RootRouter for bundle isolation and viewer routing - Introduced RootRouter component to handle route splitting for viewer isolation. - Created ViewerApp component to manage viewer-specific routes and logic. - Removed BrowserRouter from App.jsx and integrated routing into RootRouter. - Updated package.json to include madge for circular dependency checks. - Refactored App.jsx to remove viewer-related imports and routes. - Moved useConfirm hook to a new file for better organization. - Updated various components to reflect new import paths and structure. - Enhanced webpack configuration for improved chunk splitting and performance. - Added new directories for future feature development under src/v2. * feat: Add scripts to check bundle size and circular dependencies * feat: Refactor to use dynamic imports for edition-specific components and helpers * fix: update BoundedBox widget styles and fix class names; add datepicker styles * feat: add permission checks based on selected data source scope in QueryCard component * fix: enhance error handling in streamHistoryUpdates and update subproject reference * fix: fixed the bug on app history in capturing the query deletion * fix: Fixed unknown component issue while adding an event in query and pages. Added resolveEntityName method to handle entity name resolution for components, queries, and pages * feat: Add captureSettingsUpdateHistory method to log app version settings updates * fix: pageSettings were not properly restored while restoring the app history and version change * fix: Enhance settings update history capture with action type differentiation * feat: Optimize layout updates by batching component layout changes * fix: Prevent redundant canvasHeight updates when the value is unchanged * chore: Added script & logic for view parsed and gzip bundle * Perf: Reduces main chunk size by almost 140KB, hence reducing overall bundle size * chore: submodule update (Perf: reduces main chunk size by almost 220KB, hence reducing overall bundle size) * fix: update entrypoint script to use ce-preview.sh for PostgreSQL initialization * Perf: Extract CSS from JS bundle to allow css minification and removal of comments in production bundle * style: Update padding and spacing in app history styles for improved layout * feat: Implement lazy loading for editor-only components to optimize viewer bundle size * chore: Update subproject reference to latest commit * chore: Update subproject commit reference for frontend/ee * chore: Update subproject commit references for frontend and server * Fix: update hover effect for app name display in EditAppName component * Fix: remove redundant darkMode prop from FormField component * fix: add !important to primary color for rc-slider track and handle * feat: implement batching for form component updates and layout changes * feat: enhance form component handling with batching and parent ID extraction * fix: removed some of the barrel imports * chore: Update subproject reference to latest commit * Update submodule references * Fix: Page of type app or url gets converted to default page on app import * feat: enhance page cloning with history capture functionality * fix: optimize parent change detection to prevent unnecessary batch updates during drag operations * feat: optimize query saving logic to skip unnecessary updates for name changes * Fix: Group not selected after nested page selection until hovered in horizontal menu * Revert "Revert "[refactor]: Fix leftsidebar on opening disturbing the scroll"" This reverts commit d712c47f9cdf5305b8a62a2e9bd62b720c835936. * Fix: Navigation menu disappears when view switched between desktop and mobile view in editor * update ee-server submodule ref * update submodule references * Fix: Icon alignment issue * feat: implement bulk creation of event handlers and optimize component event handling * chore: update subproject commit reference in frontend/ee * Revert "POC for removing overlap prevention logic if not enough space present, incase user clicks somewhere to respect click position" This reverts commit 8aec525e9aa7ec636a0066a80204334402906017. * feat: disable client overlay in webpack configuration * update the submodule refs * update submodule refs * update submodule reference for server/ee * refactor: rename `defaultDataSources` prop to `staticDataSources` in `DataSourceSelect` component. * update submodule refs * Merge pull request #14663 from ToolJet/feature/viewer-isolation-and-bundle-optimization Perf: lazy load components not required on viewer page and widgets with bigger external dependencies * refactor: change exports to default for CodeEditor, ColorPicker, and Table components * feat: add loading spinner to PreviewSettings and update loading fallback in RootRouter * feat: lazy load jsPDF and jspdf-autotable to optimize bundle size and improve performance * feat: replace Tabler icons with dynamic loading to optimize bundle size and improve performance * feat: add AppHistoryStreamService to manage app history streaming * update submodule reference for server/ee * update submodule reference for server/ee * update submodule reference for server/ee * chore: update submodule reference for frontend/ee to latest commit * fix: handle default icon for home page in RenderPage component * feat: implement SuspenseCountProvider and TrackedSuspense for handling the onLoad queries for lazy widgets * feat: add SuspenseLoadingOverlay for improved loading state handling in AppCanvas while components are lazy loaded * refactor: simplify scrolling logic in useEnableMainCanvasScroll and remove unnecessary state * fix: added missed import of `DynamicHeightInfo` in `ConfigHandle` component * fix: improve animation handling for TablerIcon component and clean up suspense fallback * feat: implement viewer isolation for embedded apps routing * fix: Map MODULE type to APP permissions in FeatureAbilityGuard * Revert "fix: Map MODULE type to APP permissions in FeatureAbilityGuard" This reverts commit ccb53f8d894f22c9f8aa9f90b60670741150a8ce. * fix: Exclude MODULE type apps from environment access validation * fix: Add deferCheck prop to SuspenseCountProvider for improved lazy loading handling to support modules * chore: update subproject commits for frontend and server components * chore: update subproject commit reference in server/ee * chore: added logs to print the pat * Revert "chore: added logs to print the pat" This reverts commit d0c075f1488bacaddd11a0b8890ce66d07644b3e. * chore: update version to 3.20.76-lts --------- Co-authored-by: devanshu052000 <[email protected]> Co-authored-by: Copilot <175728472+[email protected]> Co-authored-by: manishkushare <[email protected]> Co-authored-by: Nishidh Jain <[email protected]> Co-authored-by: adishM98 Bot <[email protected]> Co-authored-by: Johnson Cherian <[email protected]> Co-authored-by: Nishidh Jain <61869195+[email protected]>
2026-01-23 11:44:55 +00:00
test: /\.(js|css)(\?.*)?$/i,
algorithm: 'gzip',
}),
new webpack.ContextReplacementPlugin(/moment[/\\]locale$/, /(en)$/),
new webpack.DefinePlugin({
'process.env.ASSET_PATH': JSON.stringify(ASSET_PATH),
'process.env.SERVE_CLIENT': JSON.stringify(process.env.SERVE_CLIENT),
'process.env.TOOLJET_EDITION': JSON.stringify(edition || 'ce'),
2025-02-25 06:52:50 +00:00
}),
// Module replacement for restricted imports
new webpack.NormalModuleReplacementPlugin(/^(@ee\/|@cloud\/)/, (resource) => {
const edition = process.env.TOOLJET_EDITION || 'ce';
2025-02-25 06:52:50 +00:00
// Only replace if the current edition shouldn't have access
if (edition === 'ce' && resource.request.startsWith('@ee/')) {
resource.request = emptyModulePath;
} else if (['ce', 'ee'].includes(edition) && resource.request.startsWith('@cloud/')) {
resource.request = emptyModulePath;
}
// Otherwise, leave the original import intact
}),
];
if (process.env.APM_VENDOR === 'sentry') {
plugins.push(
// Add Sentry plugin for error and performance monitoring
sentryWebpackPlugin({
authToken: process.env.SENTRY_AUTH_TOKEN,
org: process.env.SENTRY_ORG,
project: process.env.SENTRY_PROJECT,
release: {
// The version should be same as what its when we are sending error events
name: `tooljet-${version}`,
},
})
);
}
if (isDevEnv) {
2025-07-08 12:36:10 +00:00
plugins.push(new ReactRefreshWebpackPlugin({ overlay: false }));
}
chore: Viewer isolation (#14658) * update submodule commit for server * Fix: App history timeline UI in left sidebar * Fix: App history entry options menu UI * Fix: App history rename modal UI * Fix: App history restore modal UI * Feat: Implement server-sent events for app history updates and add authentication guard * Remove all the unused logic from inside the store * Fix: Minor UI change * Fix: Added a loader * Update submodule references * Implemented flow to prevent full reload on restoring history * Fix: Minor UI issue for history options menu * feat: Add pushHistoryEntry method to appHistoryStore * feat: Implement history entry limit in appHistoryStore * Fix: Horizontal page menu minor enhancements * feat: add migration for app_history table and update entity structure * feat: refactor AppHistory module imports and add new services and guards * Fix: Vertical page menu minor enhancements * feat: add stream history feature and update related permissions and constants * feat: add AppStateRepository to AppHistoryModule imports and providers * feat: add NameResolverRepository to AppHistoryModule imports and providers * feat: implement NameResolverRepository and NameResolverService for component and page name resolution * feat: remove QueueHistoryIntegrationService and update AppHistoryModule to reflect changes * feat: update AppHistoryModule and AppHistoryRepository with new methods and refactor imports * feat: refactor AppHistoryModule and related services to streamline name resolution and history capture * feat: add AppStateRepository and HistoryQueueProcessor, refactor AppStateAggregatorService to utilize repository methods * feat: rename methods in AppStateRepository for clarity and update AppStateAggregatorService to reflect changes * feat: refactor history capture logic to use synchronous execution and improve error handling across services * Fix: Mobile view page menu UI enhancements * feat: enhance ability guards and repository methods for app history validation * Update submodule references * Migrate to shadcn sidebar component * Fix: Components not getting pasted at correct position if user scrolled and pasted inside container components * Fix: Group components not getting pasted at correct position horizontally inside container components * POC for removing overlap prevention logic if not enough space present, incase user clicks somewhere to respect click position * Update frontend/src/AppBuilder/AppCanvas/Container.jsx Co-authored-by: Copilot <175728472+[email protected]> * feat: enhance AppHistoryModule registration with isMainImport flag * feat: update settings method to queue history capture after successful update * chore: update subproject commit reference in frontend/ee * feat: add function to delete app history for structural migrations * Refactor imports and enhance code organization across multiple files - Updated import paths to reflect the new directory structure in TooljetDatabase and AppBuilder components. - Consolidated utility functions in appUtils.js, removing redundant code and improving readability. - Enhanced error handling and state management in dataQueriesStore and resolverStore. - Added Bundle Analyzer plugin to webpack configuration for better performance insights. - Improved chunking strategy in webpack to optimize loading of libraries and components. - Refactored ErrorBoundary imports to maintain consistency across UI components. * feat: enhance UI components with new icons and styling adjustments * refactor: remove unused components and icons from QueryManager - Deleted QueryManagerHeader component and its associated logic. - Removed SuccessNotificationInputs component and its functionality. - Eliminated Transformation component and related code. - Deleted BreadcrumbsIcon, CreateIcon, PreviewIcon, RenameIcon, RunIcon, and ToggleQueryEditorIcon. - Updated imports in appUtils.js to reflect new icon paths. * Refactor editorHelpers and utils: Remove unused functions and imports, streamline background update logic, and adjust state handling. Comment out or delete handleReferenceTransactions and related logic in various stores to simplify data flow and improve maintainability. * Refactor queryPanelStore and storeHelper by commenting out unused imports and code. This cleanup improves code readability and maintainability. * revert: Reverted the lazy loading changes * revert: Reverted the changes on App & AppRoute * Fix: Inside side effects, get the correct canvas element, disable page scrolling and reposition modal container when modal is opened * Fix: Use the side effects when modal is opened and closed * Update submodule references * fix: Corrected zustandDevTools enabled option logic * update ee-frontend submodule ref * Enhance: Vertical page menu default styles * chore: merged with lts * chore: moved components from Editor to AppBuilder folder * chore: cleaned up the appbuilder imports * chore: update subproject commit reference * update submodule ref * Enhance: Horizontal page menu default styles * fix: Global search for multiselect column * Fix: More button on pages overflow is getting cropped and remove unnecessary calculations related to it * Refactor page menu code * Integrate shadcn navigation menu component for horizontal page menu * Update submodule ref * update submodule ref * Fix: Minimum width of the popup in horizontal page menu * Fixed UI issues * Removed commented code * Removed wrapper and unwanted code * Fix: Minor page menu bugs inside Editor * Fix: popover overflow issue and other minor bugs * Remove unnecessary package.json change * chore: fix import path casing for RealTimeEditor * Fix: Grid resizing issue and component selector overflow * Fix: Increased transition duration to 200 * Removed the classname change * Fix: Scrollbar visible in viewer in vertical page menu * Fix: Remove arbitrary variant chains since not supported in Tailwind v3 to fix animations in horizontal page menu * chore: update subproject commits for frontend and server * Refactored code * Update ee-frontend submodule reference * Removed leading and trailing icon width * Refactor page menu styling part to make it reusable for mobile view * Integrate Shacn Sidebar component in page menu for mobile view * Update submodule references * fix: merge issues and minor bugs * Update frontend/src/_styles/pages-sidebar.scss Co-authored-by: Copilot <175728472+[email protected]> * update submodule ref * fixed: custom validation working for dropdown inside the listview * update submodule references * Fix: Broken app logo in editor incase app logo url is incorrect * Fix: Default styles * update submodule reference * Fix: Implement changes for legacy modal as well * Fix: Change state logic to dom manipulation logic on canvas scroll to prevent unnecessary re-renders * Fix: Change default border color to cc-Border/weak * Fix: Remove max width on overflow menu in horizontal page menu and prevent right sidebar to open on toggling page groups in overflow menu * Fix: Box shadow should only be visible for horizontal page menu only when canvas is scrolled and not on top * Update submodule references * Feat: Add support for icon in modal trigger * Update frontend/src/AppBuilder/Widgets/ModalV2/ModalV2.jsx Co-authored-by: Copilot <175728472+[email protected]> * Update frontend/src/AppBuilder/Widgets/ModalV2/helpers/stylesFactory.js Co-authored-by: Copilot <175728472+[email protected]> * chore: update subproject commit reference in frontend/ee * refactor: clean up controller methods and remove unused streamHistory and getEvents methods * chore: update subproject commit reference in frontend/ee * update submodule references * Fix: Scrollbar behaviour in vertical page menu * Fix: Group closes on selecting a page on vertical page menu * Remove log * feat: Add RootRouter for bundle isolation and viewer routing - Introduced RootRouter component to handle route splitting for viewer isolation. - Created ViewerApp component to manage viewer-specific routes and logic. - Removed BrowserRouter from App.jsx and integrated routing into RootRouter. - Updated package.json to include madge for circular dependency checks. - Refactored App.jsx to remove viewer-related imports and routes. - Moved useConfirm hook to a new file for better organization. - Updated various components to reflect new import paths and structure. - Enhanced webpack configuration for improved chunk splitting and performance. - Added new directories for future feature development under src/v2. * feat: Add scripts to check bundle size and circular dependencies * feat: Refactor to use dynamic imports for edition-specific components and helpers * fix: update BoundedBox widget styles and fix class names; add datepicker styles * feat: add permission checks based on selected data source scope in QueryCard component * fix: enhance error handling in streamHistoryUpdates and update subproject reference * fix: fixed the bug on app history in capturing the query deletion * fix: Fixed unknown component issue while adding an event in query and pages. Added resolveEntityName method to handle entity name resolution for components, queries, and pages * feat: Add captureSettingsUpdateHistory method to log app version settings updates * fix: pageSettings were not properly restored while restoring the app history and version change * fix: Enhance settings update history capture with action type differentiation * feat: Optimize layout updates by batching component layout changes * fix: Prevent redundant canvasHeight updates when the value is unchanged * chore: Added script & logic for view parsed and gzip bundle * Perf: Reduces main chunk size by almost 140KB, hence reducing overall bundle size * chore: submodule update (Perf: reduces main chunk size by almost 220KB, hence reducing overall bundle size) * fix: update entrypoint script to use ce-preview.sh for PostgreSQL initialization * Perf: Extract CSS from JS bundle to allow css minification and removal of comments in production bundle * style: Update padding and spacing in app history styles for improved layout * feat: Implement lazy loading for editor-only components to optimize viewer bundle size * chore: Update subproject reference to latest commit * chore: Update subproject commit reference for frontend/ee * chore: Update subproject commit references for frontend and server * Fix: update hover effect for app name display in EditAppName component * Fix: remove redundant darkMode prop from FormField component * fix: add !important to primary color for rc-slider track and handle * feat: implement batching for form component updates and layout changes * feat: enhance form component handling with batching and parent ID extraction * fix: removed some of the barrel imports * chore: Update subproject reference to latest commit * Update submodule references * Fix: Page of type app or url gets converted to default page on app import * feat: enhance page cloning with history capture functionality * fix: optimize parent change detection to prevent unnecessary batch updates during drag operations * feat: optimize query saving logic to skip unnecessary updates for name changes * Fix: Group not selected after nested page selection until hovered in horizontal menu * Revert "Revert "[refactor]: Fix leftsidebar on opening disturbing the scroll"" This reverts commit d712c47f9cdf5305b8a62a2e9bd62b720c835936. * Fix: Navigation menu disappears when view switched between desktop and mobile view in editor * update ee-server submodule ref * update submodule references * Fix: Icon alignment issue * feat: implement bulk creation of event handlers and optimize component event handling * chore: update subproject commit reference in frontend/ee * Revert "POC for removing overlap prevention logic if not enough space present, incase user clicks somewhere to respect click position" This reverts commit 8aec525e9aa7ec636a0066a80204334402906017. * feat: disable client overlay in webpack configuration * update the submodule refs * update submodule refs * update submodule reference for server/ee * refactor: rename `defaultDataSources` prop to `staticDataSources` in `DataSourceSelect` component. * update submodule refs * Merge pull request #14663 from ToolJet/feature/viewer-isolation-and-bundle-optimization Perf: lazy load components not required on viewer page and widgets with bigger external dependencies * refactor: change exports to default for CodeEditor, ColorPicker, and Table components * feat: add loading spinner to PreviewSettings and update loading fallback in RootRouter * feat: lazy load jsPDF and jspdf-autotable to optimize bundle size and improve performance * feat: replace Tabler icons with dynamic loading to optimize bundle size and improve performance * feat: add AppHistoryStreamService to manage app history streaming * update submodule reference for server/ee * update submodule reference for server/ee * update submodule reference for server/ee * chore: update submodule reference for frontend/ee to latest commit * fix: handle default icon for home page in RenderPage component * feat: implement SuspenseCountProvider and TrackedSuspense for handling the onLoad queries for lazy widgets * feat: add SuspenseLoadingOverlay for improved loading state handling in AppCanvas while components are lazy loaded * refactor: simplify scrolling logic in useEnableMainCanvasScroll and remove unnecessary state * fix: added missed import of `DynamicHeightInfo` in `ConfigHandle` component * fix: improve animation handling for TablerIcon component and clean up suspense fallback * feat: implement viewer isolation for embedded apps routing * fix: Map MODULE type to APP permissions in FeatureAbilityGuard * Revert "fix: Map MODULE type to APP permissions in FeatureAbilityGuard" This reverts commit ccb53f8d894f22c9f8aa9f90b60670741150a8ce. * fix: Exclude MODULE type apps from environment access validation * fix: Add deferCheck prop to SuspenseCountProvider for improved lazy loading handling to support modules * chore: update subproject commits for frontend and server components * chore: update subproject commit reference in server/ee * chore: added logs to print the pat * Revert "chore: added logs to print the pat" This reverts commit d0c075f1488bacaddd11a0b8890ce66d07644b3e. * chore: update version to 3.20.76-lts --------- Co-authored-by: devanshu052000 <[email protected]> Co-authored-by: Copilot <175728472+[email protected]> Co-authored-by: manishkushare <[email protected]> Co-authored-by: Nishidh Jain <[email protected]> Co-authored-by: adishM98 Bot <[email protected]> Co-authored-by: Johnson Cherian <[email protected]> Co-authored-by: Nishidh Jain <61869195+[email protected]>
2026-01-23 11:44:55 +00:00
if (isProductionMode) {
plugins.push(
new MiniCssExtractPlugin({
ignoreOrder: true,
chore: Viewer isolation (#14658) * update submodule commit for server * Fix: App history timeline UI in left sidebar * Fix: App history entry options menu UI * Fix: App history rename modal UI * Fix: App history restore modal UI * Feat: Implement server-sent events for app history updates and add authentication guard * Remove all the unused logic from inside the store * Fix: Minor UI change * Fix: Added a loader * Update submodule references * Implemented flow to prevent full reload on restoring history * Fix: Minor UI issue for history options menu * feat: Add pushHistoryEntry method to appHistoryStore * feat: Implement history entry limit in appHistoryStore * Fix: Horizontal page menu minor enhancements * feat: add migration for app_history table and update entity structure * feat: refactor AppHistory module imports and add new services and guards * Fix: Vertical page menu minor enhancements * feat: add stream history feature and update related permissions and constants * feat: add AppStateRepository to AppHistoryModule imports and providers * feat: add NameResolverRepository to AppHistoryModule imports and providers * feat: implement NameResolverRepository and NameResolverService for component and page name resolution * feat: remove QueueHistoryIntegrationService and update AppHistoryModule to reflect changes * feat: update AppHistoryModule and AppHistoryRepository with new methods and refactor imports * feat: refactor AppHistoryModule and related services to streamline name resolution and history capture * feat: add AppStateRepository and HistoryQueueProcessor, refactor AppStateAggregatorService to utilize repository methods * feat: rename methods in AppStateRepository for clarity and update AppStateAggregatorService to reflect changes * feat: refactor history capture logic to use synchronous execution and improve error handling across services * Fix: Mobile view page menu UI enhancements * feat: enhance ability guards and repository methods for app history validation * Update submodule references * Migrate to shadcn sidebar component * Fix: Components not getting pasted at correct position if user scrolled and pasted inside container components * Fix: Group components not getting pasted at correct position horizontally inside container components * POC for removing overlap prevention logic if not enough space present, incase user clicks somewhere to respect click position * Update frontend/src/AppBuilder/AppCanvas/Container.jsx Co-authored-by: Copilot <175728472+[email protected]> * feat: enhance AppHistoryModule registration with isMainImport flag * feat: update settings method to queue history capture after successful update * chore: update subproject commit reference in frontend/ee * feat: add function to delete app history for structural migrations * Refactor imports and enhance code organization across multiple files - Updated import paths to reflect the new directory structure in TooljetDatabase and AppBuilder components. - Consolidated utility functions in appUtils.js, removing redundant code and improving readability. - Enhanced error handling and state management in dataQueriesStore and resolverStore. - Added Bundle Analyzer plugin to webpack configuration for better performance insights. - Improved chunking strategy in webpack to optimize loading of libraries and components. - Refactored ErrorBoundary imports to maintain consistency across UI components. * feat: enhance UI components with new icons and styling adjustments * refactor: remove unused components and icons from QueryManager - Deleted QueryManagerHeader component and its associated logic. - Removed SuccessNotificationInputs component and its functionality. - Eliminated Transformation component and related code. - Deleted BreadcrumbsIcon, CreateIcon, PreviewIcon, RenameIcon, RunIcon, and ToggleQueryEditorIcon. - Updated imports in appUtils.js to reflect new icon paths. * Refactor editorHelpers and utils: Remove unused functions and imports, streamline background update logic, and adjust state handling. Comment out or delete handleReferenceTransactions and related logic in various stores to simplify data flow and improve maintainability. * Refactor queryPanelStore and storeHelper by commenting out unused imports and code. This cleanup improves code readability and maintainability. * revert: Reverted the lazy loading changes * revert: Reverted the changes on App & AppRoute * Fix: Inside side effects, get the correct canvas element, disable page scrolling and reposition modal container when modal is opened * Fix: Use the side effects when modal is opened and closed * Update submodule references * fix: Corrected zustandDevTools enabled option logic * update ee-frontend submodule ref * Enhance: Vertical page menu default styles * chore: merged with lts * chore: moved components from Editor to AppBuilder folder * chore: cleaned up the appbuilder imports * chore: update subproject commit reference * update submodule ref * Enhance: Horizontal page menu default styles * fix: Global search for multiselect column * Fix: More button on pages overflow is getting cropped and remove unnecessary calculations related to it * Refactor page menu code * Integrate shadcn navigation menu component for horizontal page menu * Update submodule ref * update submodule ref * Fix: Minimum width of the popup in horizontal page menu * Fixed UI issues * Removed commented code * Removed wrapper and unwanted code * Fix: Minor page menu bugs inside Editor * Fix: popover overflow issue and other minor bugs * Remove unnecessary package.json change * chore: fix import path casing for RealTimeEditor * Fix: Grid resizing issue and component selector overflow * Fix: Increased transition duration to 200 * Removed the classname change * Fix: Scrollbar visible in viewer in vertical page menu * Fix: Remove arbitrary variant chains since not supported in Tailwind v3 to fix animations in horizontal page menu * chore: update subproject commits for frontend and server * Refactored code * Update ee-frontend submodule reference * Removed leading and trailing icon width * Refactor page menu styling part to make it reusable for mobile view * Integrate Shacn Sidebar component in page menu for mobile view * Update submodule references * fix: merge issues and minor bugs * Update frontend/src/_styles/pages-sidebar.scss Co-authored-by: Copilot <175728472+[email protected]> * update submodule ref * fixed: custom validation working for dropdown inside the listview * update submodule references * Fix: Broken app logo in editor incase app logo url is incorrect * Fix: Default styles * update submodule reference * Fix: Implement changes for legacy modal as well * Fix: Change state logic to dom manipulation logic on canvas scroll to prevent unnecessary re-renders * Fix: Change default border color to cc-Border/weak * Fix: Remove max width on overflow menu in horizontal page menu and prevent right sidebar to open on toggling page groups in overflow menu * Fix: Box shadow should only be visible for horizontal page menu only when canvas is scrolled and not on top * Update submodule references * Feat: Add support for icon in modal trigger * Update frontend/src/AppBuilder/Widgets/ModalV2/ModalV2.jsx Co-authored-by: Copilot <175728472+[email protected]> * Update frontend/src/AppBuilder/Widgets/ModalV2/helpers/stylesFactory.js Co-authored-by: Copilot <175728472+[email protected]> * chore: update subproject commit reference in frontend/ee * refactor: clean up controller methods and remove unused streamHistory and getEvents methods * chore: update subproject commit reference in frontend/ee * update submodule references * Fix: Scrollbar behaviour in vertical page menu * Fix: Group closes on selecting a page on vertical page menu * Remove log * feat: Add RootRouter for bundle isolation and viewer routing - Introduced RootRouter component to handle route splitting for viewer isolation. - Created ViewerApp component to manage viewer-specific routes and logic. - Removed BrowserRouter from App.jsx and integrated routing into RootRouter. - Updated package.json to include madge for circular dependency checks. - Refactored App.jsx to remove viewer-related imports and routes. - Moved useConfirm hook to a new file for better organization. - Updated various components to reflect new import paths and structure. - Enhanced webpack configuration for improved chunk splitting and performance. - Added new directories for future feature development under src/v2. * feat: Add scripts to check bundle size and circular dependencies * feat: Refactor to use dynamic imports for edition-specific components and helpers * fix: update BoundedBox widget styles and fix class names; add datepicker styles * feat: add permission checks based on selected data source scope in QueryCard component * fix: enhance error handling in streamHistoryUpdates and update subproject reference * fix: fixed the bug on app history in capturing the query deletion * fix: Fixed unknown component issue while adding an event in query and pages. Added resolveEntityName method to handle entity name resolution for components, queries, and pages * feat: Add captureSettingsUpdateHistory method to log app version settings updates * fix: pageSettings were not properly restored while restoring the app history and version change * fix: Enhance settings update history capture with action type differentiation * feat: Optimize layout updates by batching component layout changes * fix: Prevent redundant canvasHeight updates when the value is unchanged * chore: Added script & logic for view parsed and gzip bundle * Perf: Reduces main chunk size by almost 140KB, hence reducing overall bundle size * chore: submodule update (Perf: reduces main chunk size by almost 220KB, hence reducing overall bundle size) * fix: update entrypoint script to use ce-preview.sh for PostgreSQL initialization * Perf: Extract CSS from JS bundle to allow css minification and removal of comments in production bundle * style: Update padding and spacing in app history styles for improved layout * feat: Implement lazy loading for editor-only components to optimize viewer bundle size * chore: Update subproject reference to latest commit * chore: Update subproject commit reference for frontend/ee * chore: Update subproject commit references for frontend and server * Fix: update hover effect for app name display in EditAppName component * Fix: remove redundant darkMode prop from FormField component * fix: add !important to primary color for rc-slider track and handle * feat: implement batching for form component updates and layout changes * feat: enhance form component handling with batching and parent ID extraction * fix: removed some of the barrel imports * chore: Update subproject reference to latest commit * Update submodule references * Fix: Page of type app or url gets converted to default page on app import * feat: enhance page cloning with history capture functionality * fix: optimize parent change detection to prevent unnecessary batch updates during drag operations * feat: optimize query saving logic to skip unnecessary updates for name changes * Fix: Group not selected after nested page selection until hovered in horizontal menu * Revert "Revert "[refactor]: Fix leftsidebar on opening disturbing the scroll"" This reverts commit d712c47f9cdf5305b8a62a2e9bd62b720c835936. * Fix: Navigation menu disappears when view switched between desktop and mobile view in editor * update ee-server submodule ref * update submodule references * Fix: Icon alignment issue * feat: implement bulk creation of event handlers and optimize component event handling * chore: update subproject commit reference in frontend/ee * Revert "POC for removing overlap prevention logic if not enough space present, incase user clicks somewhere to respect click position" This reverts commit 8aec525e9aa7ec636a0066a80204334402906017. * feat: disable client overlay in webpack configuration * update the submodule refs * update submodule refs * update submodule reference for server/ee * refactor: rename `defaultDataSources` prop to `staticDataSources` in `DataSourceSelect` component. * update submodule refs * Merge pull request #14663 from ToolJet/feature/viewer-isolation-and-bundle-optimization Perf: lazy load components not required on viewer page and widgets with bigger external dependencies * refactor: change exports to default for CodeEditor, ColorPicker, and Table components * feat: add loading spinner to PreviewSettings and update loading fallback in RootRouter * feat: lazy load jsPDF and jspdf-autotable to optimize bundle size and improve performance * feat: replace Tabler icons with dynamic loading to optimize bundle size and improve performance * feat: add AppHistoryStreamService to manage app history streaming * update submodule reference for server/ee * update submodule reference for server/ee * update submodule reference for server/ee * chore: update submodule reference for frontend/ee to latest commit * fix: handle default icon for home page in RenderPage component * feat: implement SuspenseCountProvider and TrackedSuspense for handling the onLoad queries for lazy widgets * feat: add SuspenseLoadingOverlay for improved loading state handling in AppCanvas while components are lazy loaded * refactor: simplify scrolling logic in useEnableMainCanvasScroll and remove unnecessary state * fix: added missed import of `DynamicHeightInfo` in `ConfigHandle` component * fix: improve animation handling for TablerIcon component and clean up suspense fallback * feat: implement viewer isolation for embedded apps routing * fix: Map MODULE type to APP permissions in FeatureAbilityGuard * Revert "fix: Map MODULE type to APP permissions in FeatureAbilityGuard" This reverts commit ccb53f8d894f22c9f8aa9f90b60670741150a8ce. * fix: Exclude MODULE type apps from environment access validation * fix: Add deferCheck prop to SuspenseCountProvider for improved lazy loading handling to support modules * chore: update subproject commits for frontend and server components * chore: update subproject commit reference in server/ee * chore: added logs to print the pat * Revert "chore: added logs to print the pat" This reverts commit d0c075f1488bacaddd11a0b8890ce66d07644b3e. * chore: update version to 3.20.76-lts --------- Co-authored-by: devanshu052000 <[email protected]> Co-authored-by: Copilot <175728472+[email protected]> Co-authored-by: manishkushare <[email protected]> Co-authored-by: Nishidh Jain <[email protected]> Co-authored-by: adishM98 Bot <[email protected]> Co-authored-by: Johnson Cherian <[email protected]> Co-authored-by: Nishidh Jain <61869195+[email protected]>
2026-01-23 11:44:55 +00:00
filename: '[name].[contenthash].css',
chunkFilename: '[name].[contenthash].chunk.css',
})
);
}
if (process.env.ANALYZE === 'true') {
plugins.push(new BundleAnalyzerPlugin());
}
2021-03-31 14:01:01 +00:00
module.exports = {
Move plugins to root (#1728) * feat: move plugins to root * modify tsconfig * add .gitignore * delete old plugins file * add parcel * docker compose volume mount * add gcs * add typescript to plugins folder * gcs to ts * add dynamodb * add elastic search * add firestore * add gsheets * add graphql * add mongodb * mssql * add mysql * add postgresql * add redis * add s3 * add slack * add stripe * remove plugin related packages from pkgjson * add lib folder * add gitignore * remove typescript generated files * remove generated file * remove generated files * add twilio * add dist to docker compose cache binding * add dist prefix * cleanup - 1 * delete dist * rename to index.ts + add jest config * add it.todo in tests * test fixes * test file changes * fix type checks * add @tooljet/plugins to server package json * esm vs commonjs bug, reduce got to 11.8.2 from 12.0.0 * docker file npm package version fix * add typesense * cleaup - 2 * add sendgrid * add lerna build and clean script for all packages + tsconfig * cleanup -3 * add plugins build step * add missing plugins build step in npm run build * add mssql, mysql & postgres as singleton classes * add db connection to cache only if datasourceId is available * client: add data source schema/manifest files * add query operations files * logic for wrapping form with schema * add script to create index file * add @tooljet/plugins to frontend folder * cleanup 1 -frontend * cleanup - 2 // frontend // data queries * add client and index to gitignore * update gitignore * fix lint & test * update ci * fix unit, e2e * cleanup -3 * fix test * fix tests * fix indent * try npm ci * fix tests * fix typo * fix * rename file for server entry * heroku fix * add main and types entry points in pkg json * move common to root * cleanup - 4: remove redundant $ sign prefix * cleanup - 4: remove redundant $ sign prefix * update options in-sync before DOM is painted * change type cloud to cloud storage * update readme * update ci.yml * update ci yml * add pkg-lock.json * rename index.ts to server.ts * update lock files * add server package.lock * remove unused import * revert commit: add minio * add root dep * import server.ts * remove plugins build step * add npm shrinkwrap * update version - plugins * add new version - 0.0.8 * upgrade version * move to symlinked package * add lock file * feat: add icon inside package * add plugin creation docs * Remove seed * move icons to plugins folder * install pg dep * add react to packages * add seed cmd * revert change * add plugins build in lint, e2e, unit * e2e, lint use npm ci * update dockerfile for plugins * try combining release with web * limit memory on release * try executing seed script post transpile * try executing seed from server directory * update seed execution * add minio * add correct type * add minio to pkg json * remove old file * fix provider key * add python installable + npm ^7.2.0 (#1752) * add python installable + npm ^7.2.0 * add py to prod file * pin npm version to 7.20.0 * pin npm version to 7.20.0 * split into multi stage build and remove python for buildx * copy plugins from buider stage * update dependencies * add freetds dependency * update server dockerfile * update client dockerfile * update dev dockerfile and compose file * fix entrypoint * fix server dev dockerfile * update docker-compose * remove npm install on root dir on docker build * fix heroku script * make lerna prod dependency to enable prod builds * remove redundant env setup Co-authored-by: Akshay Sasidharan <[email protected]> Co-authored-by: navaneeth <[email protected]>
2022-01-17 07:08:17 +00:00
mode: environment,
optimization: {
minimize: environment === 'production',
Move plugins to root (#1728) * feat: move plugins to root * modify tsconfig * add .gitignore * delete old plugins file * add parcel * docker compose volume mount * add gcs * add typescript to plugins folder * gcs to ts * add dynamodb * add elastic search * add firestore * add gsheets * add graphql * add mongodb * mssql * add mysql * add postgresql * add redis * add s3 * add slack * add stripe * remove plugin related packages from pkgjson * add lib folder * add gitignore * remove typescript generated files * remove generated file * remove generated files * add twilio * add dist to docker compose cache binding * add dist prefix * cleanup - 1 * delete dist * rename to index.ts + add jest config * add it.todo in tests * test fixes * test file changes * fix type checks * add @tooljet/plugins to server package json * esm vs commonjs bug, reduce got to 11.8.2 from 12.0.0 * docker file npm package version fix * add typesense * cleaup - 2 * add sendgrid * add lerna build and clean script for all packages + tsconfig * cleanup -3 * add plugins build step * add missing plugins build step in npm run build * add mssql, mysql & postgres as singleton classes * add db connection to cache only if datasourceId is available * client: add data source schema/manifest files * add query operations files * logic for wrapping form with schema * add script to create index file * add @tooljet/plugins to frontend folder * cleanup 1 -frontend * cleanup - 2 // frontend // data queries * add client and index to gitignore * update gitignore * fix lint & test * update ci * fix unit, e2e * cleanup -3 * fix test * fix tests * fix indent * try npm ci * fix tests * fix typo * fix * rename file for server entry * heroku fix * add main and types entry points in pkg json * move common to root * cleanup - 4: remove redundant $ sign prefix * cleanup - 4: remove redundant $ sign prefix * update options in-sync before DOM is painted * change type cloud to cloud storage * update readme * update ci.yml * update ci yml * add pkg-lock.json * rename index.ts to server.ts * update lock files * add server package.lock * remove unused import * revert commit: add minio * add root dep * import server.ts * remove plugins build step * add npm shrinkwrap * update version - plugins * add new version - 0.0.8 * upgrade version * move to symlinked package * add lock file * feat: add icon inside package * add plugin creation docs * Remove seed * move icons to plugins folder * install pg dep * add react to packages * add seed cmd * revert change * add plugins build in lint, e2e, unit * e2e, lint use npm ci * update dockerfile for plugins * try combining release with web * limit memory on release * try executing seed script post transpile * try executing seed from server directory * update seed execution * add minio * add correct type * add minio to pkg json * remove old file * fix provider key * add python installable + npm ^7.2.0 (#1752) * add python installable + npm ^7.2.0 * add py to prod file * pin npm version to 7.20.0 * pin npm version to 7.20.0 * split into multi stage build and remove python for buildx * copy plugins from buider stage * update dependencies * add freetds dependency * update server dockerfile * update client dockerfile * update dev dockerfile and compose file * fix entrypoint * fix server dev dockerfile * update docker-compose * remove npm install on root dir on docker build * fix heroku script * make lerna prod dependency to enable prod builds * remove redundant env setup Co-authored-by: Akshay Sasidharan <[email protected]> Co-authored-by: navaneeth <[email protected]>
2022-01-17 07:08:17 +00:00
usedExports: true,
runtimeChunk: 'single',
moduleIds: 'deterministic',
chunkIds: 'deterministic',
realContentHash: true,
minimizer: [
new TerserPlugin({
terserOptions: {
2025-02-25 06:52:50 +00:00
keep_classnames: true,
keep_fnames: true,
compress: {
drop_debugger: true,
drop_console: true,
},
},
parallel: environment === 'production',
}),
chore: Viewer isolation (#14658) * update submodule commit for server * Fix: App history timeline UI in left sidebar * Fix: App history entry options menu UI * Fix: App history rename modal UI * Fix: App history restore modal UI * Feat: Implement server-sent events for app history updates and add authentication guard * Remove all the unused logic from inside the store * Fix: Minor UI change * Fix: Added a loader * Update submodule references * Implemented flow to prevent full reload on restoring history * Fix: Minor UI issue for history options menu * feat: Add pushHistoryEntry method to appHistoryStore * feat: Implement history entry limit in appHistoryStore * Fix: Horizontal page menu minor enhancements * feat: add migration for app_history table and update entity structure * feat: refactor AppHistory module imports and add new services and guards * Fix: Vertical page menu minor enhancements * feat: add stream history feature and update related permissions and constants * feat: add AppStateRepository to AppHistoryModule imports and providers * feat: add NameResolverRepository to AppHistoryModule imports and providers * feat: implement NameResolverRepository and NameResolverService for component and page name resolution * feat: remove QueueHistoryIntegrationService and update AppHistoryModule to reflect changes * feat: update AppHistoryModule and AppHistoryRepository with new methods and refactor imports * feat: refactor AppHistoryModule and related services to streamline name resolution and history capture * feat: add AppStateRepository and HistoryQueueProcessor, refactor AppStateAggregatorService to utilize repository methods * feat: rename methods in AppStateRepository for clarity and update AppStateAggregatorService to reflect changes * feat: refactor history capture logic to use synchronous execution and improve error handling across services * Fix: Mobile view page menu UI enhancements * feat: enhance ability guards and repository methods for app history validation * Update submodule references * Migrate to shadcn sidebar component * Fix: Components not getting pasted at correct position if user scrolled and pasted inside container components * Fix: Group components not getting pasted at correct position horizontally inside container components * POC for removing overlap prevention logic if not enough space present, incase user clicks somewhere to respect click position * Update frontend/src/AppBuilder/AppCanvas/Container.jsx Co-authored-by: Copilot <175728472+[email protected]> * feat: enhance AppHistoryModule registration with isMainImport flag * feat: update settings method to queue history capture after successful update * chore: update subproject commit reference in frontend/ee * feat: add function to delete app history for structural migrations * Refactor imports and enhance code organization across multiple files - Updated import paths to reflect the new directory structure in TooljetDatabase and AppBuilder components. - Consolidated utility functions in appUtils.js, removing redundant code and improving readability. - Enhanced error handling and state management in dataQueriesStore and resolverStore. - Added Bundle Analyzer plugin to webpack configuration for better performance insights. - Improved chunking strategy in webpack to optimize loading of libraries and components. - Refactored ErrorBoundary imports to maintain consistency across UI components. * feat: enhance UI components with new icons and styling adjustments * refactor: remove unused components and icons from QueryManager - Deleted QueryManagerHeader component and its associated logic. - Removed SuccessNotificationInputs component and its functionality. - Eliminated Transformation component and related code. - Deleted BreadcrumbsIcon, CreateIcon, PreviewIcon, RenameIcon, RunIcon, and ToggleQueryEditorIcon. - Updated imports in appUtils.js to reflect new icon paths. * Refactor editorHelpers and utils: Remove unused functions and imports, streamline background update logic, and adjust state handling. Comment out or delete handleReferenceTransactions and related logic in various stores to simplify data flow and improve maintainability. * Refactor queryPanelStore and storeHelper by commenting out unused imports and code. This cleanup improves code readability and maintainability. * revert: Reverted the lazy loading changes * revert: Reverted the changes on App & AppRoute * Fix: Inside side effects, get the correct canvas element, disable page scrolling and reposition modal container when modal is opened * Fix: Use the side effects when modal is opened and closed * Update submodule references * fix: Corrected zustandDevTools enabled option logic * update ee-frontend submodule ref * Enhance: Vertical page menu default styles * chore: merged with lts * chore: moved components from Editor to AppBuilder folder * chore: cleaned up the appbuilder imports * chore: update subproject commit reference * update submodule ref * Enhance: Horizontal page menu default styles * fix: Global search for multiselect column * Fix: More button on pages overflow is getting cropped and remove unnecessary calculations related to it * Refactor page menu code * Integrate shadcn navigation menu component for horizontal page menu * Update submodule ref * update submodule ref * Fix: Minimum width of the popup in horizontal page menu * Fixed UI issues * Removed commented code * Removed wrapper and unwanted code * Fix: Minor page menu bugs inside Editor * Fix: popover overflow issue and other minor bugs * Remove unnecessary package.json change * chore: fix import path casing for RealTimeEditor * Fix: Grid resizing issue and component selector overflow * Fix: Increased transition duration to 200 * Removed the classname change * Fix: Scrollbar visible in viewer in vertical page menu * Fix: Remove arbitrary variant chains since not supported in Tailwind v3 to fix animations in horizontal page menu * chore: update subproject commits for frontend and server * Refactored code * Update ee-frontend submodule reference * Removed leading and trailing icon width * Refactor page menu styling part to make it reusable for mobile view * Integrate Shacn Sidebar component in page menu for mobile view * Update submodule references * fix: merge issues and minor bugs * Update frontend/src/_styles/pages-sidebar.scss Co-authored-by: Copilot <175728472+[email protected]> * update submodule ref * fixed: custom validation working for dropdown inside the listview * update submodule references * Fix: Broken app logo in editor incase app logo url is incorrect * Fix: Default styles * update submodule reference * Fix: Implement changes for legacy modal as well * Fix: Change state logic to dom manipulation logic on canvas scroll to prevent unnecessary re-renders * Fix: Change default border color to cc-Border/weak * Fix: Remove max width on overflow menu in horizontal page menu and prevent right sidebar to open on toggling page groups in overflow menu * Fix: Box shadow should only be visible for horizontal page menu only when canvas is scrolled and not on top * Update submodule references * Feat: Add support for icon in modal trigger * Update frontend/src/AppBuilder/Widgets/ModalV2/ModalV2.jsx Co-authored-by: Copilot <175728472+[email protected]> * Update frontend/src/AppBuilder/Widgets/ModalV2/helpers/stylesFactory.js Co-authored-by: Copilot <175728472+[email protected]> * chore: update subproject commit reference in frontend/ee * refactor: clean up controller methods and remove unused streamHistory and getEvents methods * chore: update subproject commit reference in frontend/ee * update submodule references * Fix: Scrollbar behaviour in vertical page menu * Fix: Group closes on selecting a page on vertical page menu * Remove log * feat: Add RootRouter for bundle isolation and viewer routing - Introduced RootRouter component to handle route splitting for viewer isolation. - Created ViewerApp component to manage viewer-specific routes and logic. - Removed BrowserRouter from App.jsx and integrated routing into RootRouter. - Updated package.json to include madge for circular dependency checks. - Refactored App.jsx to remove viewer-related imports and routes. - Moved useConfirm hook to a new file for better organization. - Updated various components to reflect new import paths and structure. - Enhanced webpack configuration for improved chunk splitting and performance. - Added new directories for future feature development under src/v2. * feat: Add scripts to check bundle size and circular dependencies * feat: Refactor to use dynamic imports for edition-specific components and helpers * fix: update BoundedBox widget styles and fix class names; add datepicker styles * feat: add permission checks based on selected data source scope in QueryCard component * fix: enhance error handling in streamHistoryUpdates and update subproject reference * fix: fixed the bug on app history in capturing the query deletion * fix: Fixed unknown component issue while adding an event in query and pages. Added resolveEntityName method to handle entity name resolution for components, queries, and pages * feat: Add captureSettingsUpdateHistory method to log app version settings updates * fix: pageSettings were not properly restored while restoring the app history and version change * fix: Enhance settings update history capture with action type differentiation * feat: Optimize layout updates by batching component layout changes * fix: Prevent redundant canvasHeight updates when the value is unchanged * chore: Added script & logic for view parsed and gzip bundle * Perf: Reduces main chunk size by almost 140KB, hence reducing overall bundle size * chore: submodule update (Perf: reduces main chunk size by almost 220KB, hence reducing overall bundle size) * fix: update entrypoint script to use ce-preview.sh for PostgreSQL initialization * Perf: Extract CSS from JS bundle to allow css minification and removal of comments in production bundle * style: Update padding and spacing in app history styles for improved layout * feat: Implement lazy loading for editor-only components to optimize viewer bundle size * chore: Update subproject reference to latest commit * chore: Update subproject commit reference for frontend/ee * chore: Update subproject commit references for frontend and server * Fix: update hover effect for app name display in EditAppName component * Fix: remove redundant darkMode prop from FormField component * fix: add !important to primary color for rc-slider track and handle * feat: implement batching for form component updates and layout changes * feat: enhance form component handling with batching and parent ID extraction * fix: removed some of the barrel imports * chore: Update subproject reference to latest commit * Update submodule references * Fix: Page of type app or url gets converted to default page on app import * feat: enhance page cloning with history capture functionality * fix: optimize parent change detection to prevent unnecessary batch updates during drag operations * feat: optimize query saving logic to skip unnecessary updates for name changes * Fix: Group not selected after nested page selection until hovered in horizontal menu * Revert "Revert "[refactor]: Fix leftsidebar on opening disturbing the scroll"" This reverts commit d712c47f9cdf5305b8a62a2e9bd62b720c835936. * Fix: Navigation menu disappears when view switched between desktop and mobile view in editor * update ee-server submodule ref * update submodule references * Fix: Icon alignment issue * feat: implement bulk creation of event handlers and optimize component event handling * chore: update subproject commit reference in frontend/ee * Revert "POC for removing overlap prevention logic if not enough space present, incase user clicks somewhere to respect click position" This reverts commit 8aec525e9aa7ec636a0066a80204334402906017. * feat: disable client overlay in webpack configuration * update the submodule refs * update submodule refs * update submodule reference for server/ee * refactor: rename `defaultDataSources` prop to `staticDataSources` in `DataSourceSelect` component. * update submodule refs * Merge pull request #14663 from ToolJet/feature/viewer-isolation-and-bundle-optimization Perf: lazy load components not required on viewer page and widgets with bigger external dependencies * refactor: change exports to default for CodeEditor, ColorPicker, and Table components * feat: add loading spinner to PreviewSettings and update loading fallback in RootRouter * feat: lazy load jsPDF and jspdf-autotable to optimize bundle size and improve performance * feat: replace Tabler icons with dynamic loading to optimize bundle size and improve performance * feat: add AppHistoryStreamService to manage app history streaming * update submodule reference for server/ee * update submodule reference for server/ee * update submodule reference for server/ee * chore: update submodule reference for frontend/ee to latest commit * fix: handle default icon for home page in RenderPage component * feat: implement SuspenseCountProvider and TrackedSuspense for handling the onLoad queries for lazy widgets * feat: add SuspenseLoadingOverlay for improved loading state handling in AppCanvas while components are lazy loaded * refactor: simplify scrolling logic in useEnableMainCanvasScroll and remove unnecessary state * fix: added missed import of `DynamicHeightInfo` in `ConfigHandle` component * fix: improve animation handling for TablerIcon component and clean up suspense fallback * feat: implement viewer isolation for embedded apps routing * fix: Map MODULE type to APP permissions in FeatureAbilityGuard * Revert "fix: Map MODULE type to APP permissions in FeatureAbilityGuard" This reverts commit ccb53f8d894f22c9f8aa9f90b60670741150a8ce. * fix: Exclude MODULE type apps from environment access validation * fix: Add deferCheck prop to SuspenseCountProvider for improved lazy loading handling to support modules * chore: update subproject commits for frontend and server components * chore: update subproject commit reference in server/ee * chore: added logs to print the pat * Revert "chore: added logs to print the pat" This reverts commit d0c075f1488bacaddd11a0b8890ce66d07644b3e. * chore: update version to 3.20.76-lts --------- Co-authored-by: devanshu052000 <[email protected]> Co-authored-by: Copilot <175728472+[email protected]> Co-authored-by: manishkushare <[email protected]> Co-authored-by: Nishidh Jain <[email protected]> Co-authored-by: adishM98 Bot <[email protected]> Co-authored-by: Johnson Cherian <[email protected]> Co-authored-by: Nishidh Jain <61869195+[email protected]>
2026-01-23 11:44:55 +00:00
new CssMinimizerPlugin({
minimizerOptions: {
preset: [
'default',
{
discardComments: { removeAll: true },
},
],
},
}),
],
splitChunks: {
chore: Viewer isolation (#14658) * update submodule commit for server * Fix: App history timeline UI in left sidebar * Fix: App history entry options menu UI * Fix: App history rename modal UI * Fix: App history restore modal UI * Feat: Implement server-sent events for app history updates and add authentication guard * Remove all the unused logic from inside the store * Fix: Minor UI change * Fix: Added a loader * Update submodule references * Implemented flow to prevent full reload on restoring history * Fix: Minor UI issue for history options menu * feat: Add pushHistoryEntry method to appHistoryStore * feat: Implement history entry limit in appHistoryStore * Fix: Horizontal page menu minor enhancements * feat: add migration for app_history table and update entity structure * feat: refactor AppHistory module imports and add new services and guards * Fix: Vertical page menu minor enhancements * feat: add stream history feature and update related permissions and constants * feat: add AppStateRepository to AppHistoryModule imports and providers * feat: add NameResolverRepository to AppHistoryModule imports and providers * feat: implement NameResolverRepository and NameResolverService for component and page name resolution * feat: remove QueueHistoryIntegrationService and update AppHistoryModule to reflect changes * feat: update AppHistoryModule and AppHistoryRepository with new methods and refactor imports * feat: refactor AppHistoryModule and related services to streamline name resolution and history capture * feat: add AppStateRepository and HistoryQueueProcessor, refactor AppStateAggregatorService to utilize repository methods * feat: rename methods in AppStateRepository for clarity and update AppStateAggregatorService to reflect changes * feat: refactor history capture logic to use synchronous execution and improve error handling across services * Fix: Mobile view page menu UI enhancements * feat: enhance ability guards and repository methods for app history validation * Update submodule references * Migrate to shadcn sidebar component * Fix: Components not getting pasted at correct position if user scrolled and pasted inside container components * Fix: Group components not getting pasted at correct position horizontally inside container components * POC for removing overlap prevention logic if not enough space present, incase user clicks somewhere to respect click position * Update frontend/src/AppBuilder/AppCanvas/Container.jsx Co-authored-by: Copilot <175728472+[email protected]> * feat: enhance AppHistoryModule registration with isMainImport flag * feat: update settings method to queue history capture after successful update * chore: update subproject commit reference in frontend/ee * feat: add function to delete app history for structural migrations * Refactor imports and enhance code organization across multiple files - Updated import paths to reflect the new directory structure in TooljetDatabase and AppBuilder components. - Consolidated utility functions in appUtils.js, removing redundant code and improving readability. - Enhanced error handling and state management in dataQueriesStore and resolverStore. - Added Bundle Analyzer plugin to webpack configuration for better performance insights. - Improved chunking strategy in webpack to optimize loading of libraries and components. - Refactored ErrorBoundary imports to maintain consistency across UI components. * feat: enhance UI components with new icons and styling adjustments * refactor: remove unused components and icons from QueryManager - Deleted QueryManagerHeader component and its associated logic. - Removed SuccessNotificationInputs component and its functionality. - Eliminated Transformation component and related code. - Deleted BreadcrumbsIcon, CreateIcon, PreviewIcon, RenameIcon, RunIcon, and ToggleQueryEditorIcon. - Updated imports in appUtils.js to reflect new icon paths. * Refactor editorHelpers and utils: Remove unused functions and imports, streamline background update logic, and adjust state handling. Comment out or delete handleReferenceTransactions and related logic in various stores to simplify data flow and improve maintainability. * Refactor queryPanelStore and storeHelper by commenting out unused imports and code. This cleanup improves code readability and maintainability. * revert: Reverted the lazy loading changes * revert: Reverted the changes on App & AppRoute * Fix: Inside side effects, get the correct canvas element, disable page scrolling and reposition modal container when modal is opened * Fix: Use the side effects when modal is opened and closed * Update submodule references * fix: Corrected zustandDevTools enabled option logic * update ee-frontend submodule ref * Enhance: Vertical page menu default styles * chore: merged with lts * chore: moved components from Editor to AppBuilder folder * chore: cleaned up the appbuilder imports * chore: update subproject commit reference * update submodule ref * Enhance: Horizontal page menu default styles * fix: Global search for multiselect column * Fix: More button on pages overflow is getting cropped and remove unnecessary calculations related to it * Refactor page menu code * Integrate shadcn navigation menu component for horizontal page menu * Update submodule ref * update submodule ref * Fix: Minimum width of the popup in horizontal page menu * Fixed UI issues * Removed commented code * Removed wrapper and unwanted code * Fix: Minor page menu bugs inside Editor * Fix: popover overflow issue and other minor bugs * Remove unnecessary package.json change * chore: fix import path casing for RealTimeEditor * Fix: Grid resizing issue and component selector overflow * Fix: Increased transition duration to 200 * Removed the classname change * Fix: Scrollbar visible in viewer in vertical page menu * Fix: Remove arbitrary variant chains since not supported in Tailwind v3 to fix animations in horizontal page menu * chore: update subproject commits for frontend and server * Refactored code * Update ee-frontend submodule reference * Removed leading and trailing icon width * Refactor page menu styling part to make it reusable for mobile view * Integrate Shacn Sidebar component in page menu for mobile view * Update submodule references * fix: merge issues and minor bugs * Update frontend/src/_styles/pages-sidebar.scss Co-authored-by: Copilot <175728472+[email protected]> * update submodule ref * fixed: custom validation working for dropdown inside the listview * update submodule references * Fix: Broken app logo in editor incase app logo url is incorrect * Fix: Default styles * update submodule reference * Fix: Implement changes for legacy modal as well * Fix: Change state logic to dom manipulation logic on canvas scroll to prevent unnecessary re-renders * Fix: Change default border color to cc-Border/weak * Fix: Remove max width on overflow menu in horizontal page menu and prevent right sidebar to open on toggling page groups in overflow menu * Fix: Box shadow should only be visible for horizontal page menu only when canvas is scrolled and not on top * Update submodule references * Feat: Add support for icon in modal trigger * Update frontend/src/AppBuilder/Widgets/ModalV2/ModalV2.jsx Co-authored-by: Copilot <175728472+[email protected]> * Update frontend/src/AppBuilder/Widgets/ModalV2/helpers/stylesFactory.js Co-authored-by: Copilot <175728472+[email protected]> * chore: update subproject commit reference in frontend/ee * refactor: clean up controller methods and remove unused streamHistory and getEvents methods * chore: update subproject commit reference in frontend/ee * update submodule references * Fix: Scrollbar behaviour in vertical page menu * Fix: Group closes on selecting a page on vertical page menu * Remove log * feat: Add RootRouter for bundle isolation and viewer routing - Introduced RootRouter component to handle route splitting for viewer isolation. - Created ViewerApp component to manage viewer-specific routes and logic. - Removed BrowserRouter from App.jsx and integrated routing into RootRouter. - Updated package.json to include madge for circular dependency checks. - Refactored App.jsx to remove viewer-related imports and routes. - Moved useConfirm hook to a new file for better organization. - Updated various components to reflect new import paths and structure. - Enhanced webpack configuration for improved chunk splitting and performance. - Added new directories for future feature development under src/v2. * feat: Add scripts to check bundle size and circular dependencies * feat: Refactor to use dynamic imports for edition-specific components and helpers * fix: update BoundedBox widget styles and fix class names; add datepicker styles * feat: add permission checks based on selected data source scope in QueryCard component * fix: enhance error handling in streamHistoryUpdates and update subproject reference * fix: fixed the bug on app history in capturing the query deletion * fix: Fixed unknown component issue while adding an event in query and pages. Added resolveEntityName method to handle entity name resolution for components, queries, and pages * feat: Add captureSettingsUpdateHistory method to log app version settings updates * fix: pageSettings were not properly restored while restoring the app history and version change * fix: Enhance settings update history capture with action type differentiation * feat: Optimize layout updates by batching component layout changes * fix: Prevent redundant canvasHeight updates when the value is unchanged * chore: Added script & logic for view parsed and gzip bundle * Perf: Reduces main chunk size by almost 140KB, hence reducing overall bundle size * chore: submodule update (Perf: reduces main chunk size by almost 220KB, hence reducing overall bundle size) * fix: update entrypoint script to use ce-preview.sh for PostgreSQL initialization * Perf: Extract CSS from JS bundle to allow css minification and removal of comments in production bundle * style: Update padding and spacing in app history styles for improved layout * feat: Implement lazy loading for editor-only components to optimize viewer bundle size * chore: Update subproject reference to latest commit * chore: Update subproject commit reference for frontend/ee * chore: Update subproject commit references for frontend and server * Fix: update hover effect for app name display in EditAppName component * Fix: remove redundant darkMode prop from FormField component * fix: add !important to primary color for rc-slider track and handle * feat: implement batching for form component updates and layout changes * feat: enhance form component handling with batching and parent ID extraction * fix: removed some of the barrel imports * chore: Update subproject reference to latest commit * Update submodule references * Fix: Page of type app or url gets converted to default page on app import * feat: enhance page cloning with history capture functionality * fix: optimize parent change detection to prevent unnecessary batch updates during drag operations * feat: optimize query saving logic to skip unnecessary updates for name changes * Fix: Group not selected after nested page selection until hovered in horizontal menu * Revert "Revert "[refactor]: Fix leftsidebar on opening disturbing the scroll"" This reverts commit d712c47f9cdf5305b8a62a2e9bd62b720c835936. * Fix: Navigation menu disappears when view switched between desktop and mobile view in editor * update ee-server submodule ref * update submodule references * Fix: Icon alignment issue * feat: implement bulk creation of event handlers and optimize component event handling * chore: update subproject commit reference in frontend/ee * Revert "POC for removing overlap prevention logic if not enough space present, incase user clicks somewhere to respect click position" This reverts commit 8aec525e9aa7ec636a0066a80204334402906017. * feat: disable client overlay in webpack configuration * update the submodule refs * update submodule refs * update submodule reference for server/ee * refactor: rename `defaultDataSources` prop to `staticDataSources` in `DataSourceSelect` component. * update submodule refs * Merge pull request #14663 from ToolJet/feature/viewer-isolation-and-bundle-optimization Perf: lazy load components not required on viewer page and widgets with bigger external dependencies * refactor: change exports to default for CodeEditor, ColorPicker, and Table components * feat: add loading spinner to PreviewSettings and update loading fallback in RootRouter * feat: lazy load jsPDF and jspdf-autotable to optimize bundle size and improve performance * feat: replace Tabler icons with dynamic loading to optimize bundle size and improve performance * feat: add AppHistoryStreamService to manage app history streaming * update submodule reference for server/ee * update submodule reference for server/ee * update submodule reference for server/ee * chore: update submodule reference for frontend/ee to latest commit * fix: handle default icon for home page in RenderPage component * feat: implement SuspenseCountProvider and TrackedSuspense for handling the onLoad queries for lazy widgets * feat: add SuspenseLoadingOverlay for improved loading state handling in AppCanvas while components are lazy loaded * refactor: simplify scrolling logic in useEnableMainCanvasScroll and remove unnecessary state * fix: added missed import of `DynamicHeightInfo` in `ConfigHandle` component * fix: improve animation handling for TablerIcon component and clean up suspense fallback * feat: implement viewer isolation for embedded apps routing * fix: Map MODULE type to APP permissions in FeatureAbilityGuard * Revert "fix: Map MODULE type to APP permissions in FeatureAbilityGuard" This reverts commit ccb53f8d894f22c9f8aa9f90b60670741150a8ce. * fix: Exclude MODULE type apps from environment access validation * fix: Add deferCheck prop to SuspenseCountProvider for improved lazy loading handling to support modules * chore: update subproject commits for frontend and server components * chore: update subproject commit reference in server/ee * chore: added logs to print the pat * Revert "chore: added logs to print the pat" This reverts commit d0c075f1488bacaddd11a0b8890ce66d07644b3e. * chore: update version to 3.20.76-lts --------- Co-authored-by: devanshu052000 <[email protected]> Co-authored-by: Copilot <175728472+[email protected]> Co-authored-by: manishkushare <[email protected]> Co-authored-by: Nishidh Jain <[email protected]> Co-authored-by: adishM98 Bot <[email protected]> Co-authored-by: Johnson Cherian <[email protected]> Co-authored-by: Nishidh Jain <61869195+[email protected]>
2026-01-23 11:44:55 +00:00
chunks: 'all',
// chunks: 'all',
// maxInitialRequests: 10, // Reduced from 25 - limits initial load chunks
// maxAsyncRequests: 10, // Limits async chunks (lazy loaded)
// minSize: 50000, // Increased from 20KB - only split if >50KB
// maxSize: 1244000, // Max chunk size ~244KB (helps with parallel downloads)
cacheGroups: {
chore: Viewer isolation (#14658) * update submodule commit for server * Fix: App history timeline UI in left sidebar * Fix: App history entry options menu UI * Fix: App history rename modal UI * Fix: App history restore modal UI * Feat: Implement server-sent events for app history updates and add authentication guard * Remove all the unused logic from inside the store * Fix: Minor UI change * Fix: Added a loader * Update submodule references * Implemented flow to prevent full reload on restoring history * Fix: Minor UI issue for history options menu * feat: Add pushHistoryEntry method to appHistoryStore * feat: Implement history entry limit in appHistoryStore * Fix: Horizontal page menu minor enhancements * feat: add migration for app_history table and update entity structure * feat: refactor AppHistory module imports and add new services and guards * Fix: Vertical page menu minor enhancements * feat: add stream history feature and update related permissions and constants * feat: add AppStateRepository to AppHistoryModule imports and providers * feat: add NameResolverRepository to AppHistoryModule imports and providers * feat: implement NameResolverRepository and NameResolverService for component and page name resolution * feat: remove QueueHistoryIntegrationService and update AppHistoryModule to reflect changes * feat: update AppHistoryModule and AppHistoryRepository with new methods and refactor imports * feat: refactor AppHistoryModule and related services to streamline name resolution and history capture * feat: add AppStateRepository and HistoryQueueProcessor, refactor AppStateAggregatorService to utilize repository methods * feat: rename methods in AppStateRepository for clarity and update AppStateAggregatorService to reflect changes * feat: refactor history capture logic to use synchronous execution and improve error handling across services * Fix: Mobile view page menu UI enhancements * feat: enhance ability guards and repository methods for app history validation * Update submodule references * Migrate to shadcn sidebar component * Fix: Components not getting pasted at correct position if user scrolled and pasted inside container components * Fix: Group components not getting pasted at correct position horizontally inside container components * POC for removing overlap prevention logic if not enough space present, incase user clicks somewhere to respect click position * Update frontend/src/AppBuilder/AppCanvas/Container.jsx Co-authored-by: Copilot <175728472+[email protected]> * feat: enhance AppHistoryModule registration with isMainImport flag * feat: update settings method to queue history capture after successful update * chore: update subproject commit reference in frontend/ee * feat: add function to delete app history for structural migrations * Refactor imports and enhance code organization across multiple files - Updated import paths to reflect the new directory structure in TooljetDatabase and AppBuilder components. - Consolidated utility functions in appUtils.js, removing redundant code and improving readability. - Enhanced error handling and state management in dataQueriesStore and resolverStore. - Added Bundle Analyzer plugin to webpack configuration for better performance insights. - Improved chunking strategy in webpack to optimize loading of libraries and components. - Refactored ErrorBoundary imports to maintain consistency across UI components. * feat: enhance UI components with new icons and styling adjustments * refactor: remove unused components and icons from QueryManager - Deleted QueryManagerHeader component and its associated logic. - Removed SuccessNotificationInputs component and its functionality. - Eliminated Transformation component and related code. - Deleted BreadcrumbsIcon, CreateIcon, PreviewIcon, RenameIcon, RunIcon, and ToggleQueryEditorIcon. - Updated imports in appUtils.js to reflect new icon paths. * Refactor editorHelpers and utils: Remove unused functions and imports, streamline background update logic, and adjust state handling. Comment out or delete handleReferenceTransactions and related logic in various stores to simplify data flow and improve maintainability. * Refactor queryPanelStore and storeHelper by commenting out unused imports and code. This cleanup improves code readability and maintainability. * revert: Reverted the lazy loading changes * revert: Reverted the changes on App & AppRoute * Fix: Inside side effects, get the correct canvas element, disable page scrolling and reposition modal container when modal is opened * Fix: Use the side effects when modal is opened and closed * Update submodule references * fix: Corrected zustandDevTools enabled option logic * update ee-frontend submodule ref * Enhance: Vertical page menu default styles * chore: merged with lts * chore: moved components from Editor to AppBuilder folder * chore: cleaned up the appbuilder imports * chore: update subproject commit reference * update submodule ref * Enhance: Horizontal page menu default styles * fix: Global search for multiselect column * Fix: More button on pages overflow is getting cropped and remove unnecessary calculations related to it * Refactor page menu code * Integrate shadcn navigation menu component for horizontal page menu * Update submodule ref * update submodule ref * Fix: Minimum width of the popup in horizontal page menu * Fixed UI issues * Removed commented code * Removed wrapper and unwanted code * Fix: Minor page menu bugs inside Editor * Fix: popover overflow issue and other minor bugs * Remove unnecessary package.json change * chore: fix import path casing for RealTimeEditor * Fix: Grid resizing issue and component selector overflow * Fix: Increased transition duration to 200 * Removed the classname change * Fix: Scrollbar visible in viewer in vertical page menu * Fix: Remove arbitrary variant chains since not supported in Tailwind v3 to fix animations in horizontal page menu * chore: update subproject commits for frontend and server * Refactored code * Update ee-frontend submodule reference * Removed leading and trailing icon width * Refactor page menu styling part to make it reusable for mobile view * Integrate Shacn Sidebar component in page menu for mobile view * Update submodule references * fix: merge issues and minor bugs * Update frontend/src/_styles/pages-sidebar.scss Co-authored-by: Copilot <175728472+[email protected]> * update submodule ref * fixed: custom validation working for dropdown inside the listview * update submodule references * Fix: Broken app logo in editor incase app logo url is incorrect * Fix: Default styles * update submodule reference * Fix: Implement changes for legacy modal as well * Fix: Change state logic to dom manipulation logic on canvas scroll to prevent unnecessary re-renders * Fix: Change default border color to cc-Border/weak * Fix: Remove max width on overflow menu in horizontal page menu and prevent right sidebar to open on toggling page groups in overflow menu * Fix: Box shadow should only be visible for horizontal page menu only when canvas is scrolled and not on top * Update submodule references * Feat: Add support for icon in modal trigger * Update frontend/src/AppBuilder/Widgets/ModalV2/ModalV2.jsx Co-authored-by: Copilot <175728472+[email protected]> * Update frontend/src/AppBuilder/Widgets/ModalV2/helpers/stylesFactory.js Co-authored-by: Copilot <175728472+[email protected]> * chore: update subproject commit reference in frontend/ee * refactor: clean up controller methods and remove unused streamHistory and getEvents methods * chore: update subproject commit reference in frontend/ee * update submodule references * Fix: Scrollbar behaviour in vertical page menu * Fix: Group closes on selecting a page on vertical page menu * Remove log * feat: Add RootRouter for bundle isolation and viewer routing - Introduced RootRouter component to handle route splitting for viewer isolation. - Created ViewerApp component to manage viewer-specific routes and logic. - Removed BrowserRouter from App.jsx and integrated routing into RootRouter. - Updated package.json to include madge for circular dependency checks. - Refactored App.jsx to remove viewer-related imports and routes. - Moved useConfirm hook to a new file for better organization. - Updated various components to reflect new import paths and structure. - Enhanced webpack configuration for improved chunk splitting and performance. - Added new directories for future feature development under src/v2. * feat: Add scripts to check bundle size and circular dependencies * feat: Refactor to use dynamic imports for edition-specific components and helpers * fix: update BoundedBox widget styles and fix class names; add datepicker styles * feat: add permission checks based on selected data source scope in QueryCard component * fix: enhance error handling in streamHistoryUpdates and update subproject reference * fix: fixed the bug on app history in capturing the query deletion * fix: Fixed unknown component issue while adding an event in query and pages. Added resolveEntityName method to handle entity name resolution for components, queries, and pages * feat: Add captureSettingsUpdateHistory method to log app version settings updates * fix: pageSettings were not properly restored while restoring the app history and version change * fix: Enhance settings update history capture with action type differentiation * feat: Optimize layout updates by batching component layout changes * fix: Prevent redundant canvasHeight updates when the value is unchanged * chore: Added script & logic for view parsed and gzip bundle * Perf: Reduces main chunk size by almost 140KB, hence reducing overall bundle size * chore: submodule update (Perf: reduces main chunk size by almost 220KB, hence reducing overall bundle size) * fix: update entrypoint script to use ce-preview.sh for PostgreSQL initialization * Perf: Extract CSS from JS bundle to allow css minification and removal of comments in production bundle * style: Update padding and spacing in app history styles for improved layout * feat: Implement lazy loading for editor-only components to optimize viewer bundle size * chore: Update subproject reference to latest commit * chore: Update subproject commit reference for frontend/ee * chore: Update subproject commit references for frontend and server * Fix: update hover effect for app name display in EditAppName component * Fix: remove redundant darkMode prop from FormField component * fix: add !important to primary color for rc-slider track and handle * feat: implement batching for form component updates and layout changes * feat: enhance form component handling with batching and parent ID extraction * fix: removed some of the barrel imports * chore: Update subproject reference to latest commit * Update submodule references * Fix: Page of type app or url gets converted to default page on app import * feat: enhance page cloning with history capture functionality * fix: optimize parent change detection to prevent unnecessary batch updates during drag operations * feat: optimize query saving logic to skip unnecessary updates for name changes * Fix: Group not selected after nested page selection until hovered in horizontal menu * Revert "Revert "[refactor]: Fix leftsidebar on opening disturbing the scroll"" This reverts commit d712c47f9cdf5305b8a62a2e9bd62b720c835936. * Fix: Navigation menu disappears when view switched between desktop and mobile view in editor * update ee-server submodule ref * update submodule references * Fix: Icon alignment issue * feat: implement bulk creation of event handlers and optimize component event handling * chore: update subproject commit reference in frontend/ee * Revert "POC for removing overlap prevention logic if not enough space present, incase user clicks somewhere to respect click position" This reverts commit 8aec525e9aa7ec636a0066a80204334402906017. * feat: disable client overlay in webpack configuration * update the submodule refs * update submodule refs * update submodule reference for server/ee * refactor: rename `defaultDataSources` prop to `staticDataSources` in `DataSourceSelect` component. * update submodule refs * Merge pull request #14663 from ToolJet/feature/viewer-isolation-and-bundle-optimization Perf: lazy load components not required on viewer page and widgets with bigger external dependencies * refactor: change exports to default for CodeEditor, ColorPicker, and Table components * feat: add loading spinner to PreviewSettings and update loading fallback in RootRouter * feat: lazy load jsPDF and jspdf-autotable to optimize bundle size and improve performance * feat: replace Tabler icons with dynamic loading to optimize bundle size and improve performance * feat: add AppHistoryStreamService to manage app history streaming * update submodule reference for server/ee * update submodule reference for server/ee * update submodule reference for server/ee * chore: update submodule reference for frontend/ee to latest commit * fix: handle default icon for home page in RenderPage component * feat: implement SuspenseCountProvider and TrackedSuspense for handling the onLoad queries for lazy widgets * feat: add SuspenseLoadingOverlay for improved loading state handling in AppCanvas while components are lazy loaded * refactor: simplify scrolling logic in useEnableMainCanvasScroll and remove unnecessary state * fix: added missed import of `DynamicHeightInfo` in `ConfigHandle` component * fix: improve animation handling for TablerIcon component and clean up suspense fallback * feat: implement viewer isolation for embedded apps routing * fix: Map MODULE type to APP permissions in FeatureAbilityGuard * Revert "fix: Map MODULE type to APP permissions in FeatureAbilityGuard" This reverts commit ccb53f8d894f22c9f8aa9f90b60670741150a8ce. * fix: Exclude MODULE type apps from environment access validation * fix: Add deferCheck prop to SuspenseCountProvider for improved lazy loading handling to support modules * chore: update subproject commits for frontend and server components * chore: update subproject commit reference in server/ee * chore: added logs to print the pat * Revert "chore: added logs to print the pat" This reverts commit d0c075f1488bacaddd11a0b8890ce66d07644b3e. * chore: update version to 3.20.76-lts --------- Co-authored-by: devanshu052000 <[email protected]> Co-authored-by: Copilot <175728472+[email protected]> Co-authored-by: manishkushare <[email protected]> Co-authored-by: Nishidh Jain <[email protected]> Co-authored-by: adishM98 Bot <[email protected]> Co-authored-by: Johnson Cherian <[email protected]> Co-authored-by: Nishidh Jain <61869195+[email protected]>
2026-01-23 11:44:55 +00:00
// CRITICAL: React core - always loaded (enforce: true means always split)
// react: {
// test: /[\\/]node_modules[\\/](react|react-dom|react-router|react-router-dom|scheduler)[\\/]/,
// name: 'vendor-react',
// priority: 50,
// reuseExistingChunk: true,
// enforce: true, // Always split React, even if small
// },
// // HEAVY EDITORS GROUP - Split these out as they're HUGE and editor-only
// // ~2MB+ combined, almost never needed on viewer pages
// editors: {
// test: /[\\/]node_modules[\\/](@codemirror|@uiw\/react-codemirror|@uiw\/codemirror-theme-github|@uiw\/codemirror-theme-okaidia|draft-js|draft-js-export-html|draft-js-import-html|@mdxeditor)[\\/]/,
// name: 'vendor-editors',
// priority: 40,
// reuseExistingChunk: true,
// enforce: true, // Always split - too large
// },
// // CHARTS - Plotly is MASSIVE (~3MB), split separately
// plotly: {
// test: /[\\/]node_modules[\\/](plotly\.js|plotly\.js-dist-min|react-plotly\.js)[\\/]/,
// name: 'vendor-plotly',
// priority: 40,
// reuseExistingChunk: true,
// enforce: true, // Always split - very large
// },
// // PDF - Large libraries, only for PDF features
// pdf: {
// test: /[\\/]node_modules[\\/](pdfjs-dist|react-pdf|jspdf|jspdf-autotable)[\\/]/,
// name: 'vendor-pdf',
// priority: 40,
// reuseExistingChunk: true,
// enforce: true, // Always split - large
// },
// // EXCEL - XLSX is huge (~1MB), only for spreadsheet features
// excel: {
// test: /[\\/]node_modules[\\/](xlsx|read-excel-file|papaparse|zipcelx)[\\/]/,
// name: 'vendor-excel',
// priority: 40,
// reuseExistingChunk: true,
// enforce: true, // Always split - large
// },
// // UI FRAMEWORK - Combine related UI libraries to reduce requests
// // Radix + Bootstrap + DnD + Forms together
// uiFramework: {
// test: /[\\/]node_modules[\\/](@radix-ui|bootstrap|react-bootstrap|@dnd-kit|react-dnd|react-dnd-html5-backend|react-beautiful-dnd|react-select|react-select-search|react-multi-select-component|react-color|rc-slider)[\\/]/,
// name: 'vendor-ui',
// priority: 35,
// reuseExistingChunk: true,
// },
// // DATA VISUALIZATION - Tables + ReactFlow + Maps (used together often)
// dataViz: {
// test: /[\\/]node_modules[\\/](react-table|react-table-plugins|@tanstack\/react-table|@tanstack\/react-virtual|react-virtuoso|reactflow|react-zoom-pan-pinch|@react-google-maps)[\\/]/,
// name: 'vendor-dataviz',
// priority: 35,
// reuseExistingChunk: true,
// },
// // UTILITIES & COMMON - Lodash, Axios, Moment, etc. (frequently used together)
// // Combine small utility libraries to reduce HTTP requests
// common: {
// test: /[\\/]node_modules[\\/](lodash|axios|classnames|clsx|moment|moment-timezone|humps|uuid|semver|fuse\.js|dompurify|superstruct|rfdc|flatted|zustand|immer|rxjs|i18next|react-i18next|i18next-http-backend)[\\/]/,
// name: 'vendor-common',
// priority: 30,
// reuseExistingChunk: true,
// },
// // FEATURES - Combine feature-specific libraries
// // Date pickers, phone inputs, markdown, icons, monitoring
// features: {
// test: /[\\/]node_modules[\\/](react-datepicker|react-datetime|react-dates|@wojtekmaj|react-big-calendar|react-currency-input-field|react-phone-input-2|react-phone-number-input|react-mentions|react-markdown|rehype-raw|remark-gfm|react-syntax-highlighter|@tabler\/icons-react|lucide-react|emoji-mart|@emoji-mart|@sentry|posthog-js|yjs|y-websocket|@y-presence|react-moveable|react-rnd|react-selecto)[\\/]/,
// name: 'vendor-features',
// priority: 25,
// reuseExistingChunk: true,
// },
defaultVendors: {
test: /[\\/]node_modules[\\/]/,
name: 'vendor',
chore: Viewer isolation (#14658) * update submodule commit for server * Fix: App history timeline UI in left sidebar * Fix: App history entry options menu UI * Fix: App history rename modal UI * Fix: App history restore modal UI * Feat: Implement server-sent events for app history updates and add authentication guard * Remove all the unused logic from inside the store * Fix: Minor UI change * Fix: Added a loader * Update submodule references * Implemented flow to prevent full reload on restoring history * Fix: Minor UI issue for history options menu * feat: Add pushHistoryEntry method to appHistoryStore * feat: Implement history entry limit in appHistoryStore * Fix: Horizontal page menu minor enhancements * feat: add migration for app_history table and update entity structure * feat: refactor AppHistory module imports and add new services and guards * Fix: Vertical page menu minor enhancements * feat: add stream history feature and update related permissions and constants * feat: add AppStateRepository to AppHistoryModule imports and providers * feat: add NameResolverRepository to AppHistoryModule imports and providers * feat: implement NameResolverRepository and NameResolverService for component and page name resolution * feat: remove QueueHistoryIntegrationService and update AppHistoryModule to reflect changes * feat: update AppHistoryModule and AppHistoryRepository with new methods and refactor imports * feat: refactor AppHistoryModule and related services to streamline name resolution and history capture * feat: add AppStateRepository and HistoryQueueProcessor, refactor AppStateAggregatorService to utilize repository methods * feat: rename methods in AppStateRepository for clarity and update AppStateAggregatorService to reflect changes * feat: refactor history capture logic to use synchronous execution and improve error handling across services * Fix: Mobile view page menu UI enhancements * feat: enhance ability guards and repository methods for app history validation * Update submodule references * Migrate to shadcn sidebar component * Fix: Components not getting pasted at correct position if user scrolled and pasted inside container components * Fix: Group components not getting pasted at correct position horizontally inside container components * POC for removing overlap prevention logic if not enough space present, incase user clicks somewhere to respect click position * Update frontend/src/AppBuilder/AppCanvas/Container.jsx Co-authored-by: Copilot <175728472+[email protected]> * feat: enhance AppHistoryModule registration with isMainImport flag * feat: update settings method to queue history capture after successful update * chore: update subproject commit reference in frontend/ee * feat: add function to delete app history for structural migrations * Refactor imports and enhance code organization across multiple files - Updated import paths to reflect the new directory structure in TooljetDatabase and AppBuilder components. - Consolidated utility functions in appUtils.js, removing redundant code and improving readability. - Enhanced error handling and state management in dataQueriesStore and resolverStore. - Added Bundle Analyzer plugin to webpack configuration for better performance insights. - Improved chunking strategy in webpack to optimize loading of libraries and components. - Refactored ErrorBoundary imports to maintain consistency across UI components. * feat: enhance UI components with new icons and styling adjustments * refactor: remove unused components and icons from QueryManager - Deleted QueryManagerHeader component and its associated logic. - Removed SuccessNotificationInputs component and its functionality. - Eliminated Transformation component and related code. - Deleted BreadcrumbsIcon, CreateIcon, PreviewIcon, RenameIcon, RunIcon, and ToggleQueryEditorIcon. - Updated imports in appUtils.js to reflect new icon paths. * Refactor editorHelpers and utils: Remove unused functions and imports, streamline background update logic, and adjust state handling. Comment out or delete handleReferenceTransactions and related logic in various stores to simplify data flow and improve maintainability. * Refactor queryPanelStore and storeHelper by commenting out unused imports and code. This cleanup improves code readability and maintainability. * revert: Reverted the lazy loading changes * revert: Reverted the changes on App & AppRoute * Fix: Inside side effects, get the correct canvas element, disable page scrolling and reposition modal container when modal is opened * Fix: Use the side effects when modal is opened and closed * Update submodule references * fix: Corrected zustandDevTools enabled option logic * update ee-frontend submodule ref * Enhance: Vertical page menu default styles * chore: merged with lts * chore: moved components from Editor to AppBuilder folder * chore: cleaned up the appbuilder imports * chore: update subproject commit reference * update submodule ref * Enhance: Horizontal page menu default styles * fix: Global search for multiselect column * Fix: More button on pages overflow is getting cropped and remove unnecessary calculations related to it * Refactor page menu code * Integrate shadcn navigation menu component for horizontal page menu * Update submodule ref * update submodule ref * Fix: Minimum width of the popup in horizontal page menu * Fixed UI issues * Removed commented code * Removed wrapper and unwanted code * Fix: Minor page menu bugs inside Editor * Fix: popover overflow issue and other minor bugs * Remove unnecessary package.json change * chore: fix import path casing for RealTimeEditor * Fix: Grid resizing issue and component selector overflow * Fix: Increased transition duration to 200 * Removed the classname change * Fix: Scrollbar visible in viewer in vertical page menu * Fix: Remove arbitrary variant chains since not supported in Tailwind v3 to fix animations in horizontal page menu * chore: update subproject commits for frontend and server * Refactored code * Update ee-frontend submodule reference * Removed leading and trailing icon width * Refactor page menu styling part to make it reusable for mobile view * Integrate Shacn Sidebar component in page menu for mobile view * Update submodule references * fix: merge issues and minor bugs * Update frontend/src/_styles/pages-sidebar.scss Co-authored-by: Copilot <175728472+[email protected]> * update submodule ref * fixed: custom validation working for dropdown inside the listview * update submodule references * Fix: Broken app logo in editor incase app logo url is incorrect * Fix: Default styles * update submodule reference * Fix: Implement changes for legacy modal as well * Fix: Change state logic to dom manipulation logic on canvas scroll to prevent unnecessary re-renders * Fix: Change default border color to cc-Border/weak * Fix: Remove max width on overflow menu in horizontal page menu and prevent right sidebar to open on toggling page groups in overflow menu * Fix: Box shadow should only be visible for horizontal page menu only when canvas is scrolled and not on top * Update submodule references * Feat: Add support for icon in modal trigger * Update frontend/src/AppBuilder/Widgets/ModalV2/ModalV2.jsx Co-authored-by: Copilot <175728472+[email protected]> * Update frontend/src/AppBuilder/Widgets/ModalV2/helpers/stylesFactory.js Co-authored-by: Copilot <175728472+[email protected]> * chore: update subproject commit reference in frontend/ee * refactor: clean up controller methods and remove unused streamHistory and getEvents methods * chore: update subproject commit reference in frontend/ee * update submodule references * Fix: Scrollbar behaviour in vertical page menu * Fix: Group closes on selecting a page on vertical page menu * Remove log * feat: Add RootRouter for bundle isolation and viewer routing - Introduced RootRouter component to handle route splitting for viewer isolation. - Created ViewerApp component to manage viewer-specific routes and logic. - Removed BrowserRouter from App.jsx and integrated routing into RootRouter. - Updated package.json to include madge for circular dependency checks. - Refactored App.jsx to remove viewer-related imports and routes. - Moved useConfirm hook to a new file for better organization. - Updated various components to reflect new import paths and structure. - Enhanced webpack configuration for improved chunk splitting and performance. - Added new directories for future feature development under src/v2. * feat: Add scripts to check bundle size and circular dependencies * feat: Refactor to use dynamic imports for edition-specific components and helpers * fix: update BoundedBox widget styles and fix class names; add datepicker styles * feat: add permission checks based on selected data source scope in QueryCard component * fix: enhance error handling in streamHistoryUpdates and update subproject reference * fix: fixed the bug on app history in capturing the query deletion * fix: Fixed unknown component issue while adding an event in query and pages. Added resolveEntityName method to handle entity name resolution for components, queries, and pages * feat: Add captureSettingsUpdateHistory method to log app version settings updates * fix: pageSettings were not properly restored while restoring the app history and version change * fix: Enhance settings update history capture with action type differentiation * feat: Optimize layout updates by batching component layout changes * fix: Prevent redundant canvasHeight updates when the value is unchanged * chore: Added script & logic for view parsed and gzip bundle * Perf: Reduces main chunk size by almost 140KB, hence reducing overall bundle size * chore: submodule update (Perf: reduces main chunk size by almost 220KB, hence reducing overall bundle size) * fix: update entrypoint script to use ce-preview.sh for PostgreSQL initialization * Perf: Extract CSS from JS bundle to allow css minification and removal of comments in production bundle * style: Update padding and spacing in app history styles for improved layout * feat: Implement lazy loading for editor-only components to optimize viewer bundle size * chore: Update subproject reference to latest commit * chore: Update subproject commit reference for frontend/ee * chore: Update subproject commit references for frontend and server * Fix: update hover effect for app name display in EditAppName component * Fix: remove redundant darkMode prop from FormField component * fix: add !important to primary color for rc-slider track and handle * feat: implement batching for form component updates and layout changes * feat: enhance form component handling with batching and parent ID extraction * fix: removed some of the barrel imports * chore: Update subproject reference to latest commit * Update submodule references * Fix: Page of type app or url gets converted to default page on app import * feat: enhance page cloning with history capture functionality * fix: optimize parent change detection to prevent unnecessary batch updates during drag operations * feat: optimize query saving logic to skip unnecessary updates for name changes * Fix: Group not selected after nested page selection until hovered in horizontal menu * Revert "Revert "[refactor]: Fix leftsidebar on opening disturbing the scroll"" This reverts commit d712c47f9cdf5305b8a62a2e9bd62b720c835936. * Fix: Navigation menu disappears when view switched between desktop and mobile view in editor * update ee-server submodule ref * update submodule references * Fix: Icon alignment issue * feat: implement bulk creation of event handlers and optimize component event handling * chore: update subproject commit reference in frontend/ee * Revert "POC for removing overlap prevention logic if not enough space present, incase user clicks somewhere to respect click position" This reverts commit 8aec525e9aa7ec636a0066a80204334402906017. * feat: disable client overlay in webpack configuration * update the submodule refs * update submodule refs * update submodule reference for server/ee * refactor: rename `defaultDataSources` prop to `staticDataSources` in `DataSourceSelect` component. * update submodule refs * Merge pull request #14663 from ToolJet/feature/viewer-isolation-and-bundle-optimization Perf: lazy load components not required on viewer page and widgets with bigger external dependencies * refactor: change exports to default for CodeEditor, ColorPicker, and Table components * feat: add loading spinner to PreviewSettings and update loading fallback in RootRouter * feat: lazy load jsPDF and jspdf-autotable to optimize bundle size and improve performance * feat: replace Tabler icons with dynamic loading to optimize bundle size and improve performance * feat: add AppHistoryStreamService to manage app history streaming * update submodule reference for server/ee * update submodule reference for server/ee * update submodule reference for server/ee * chore: update submodule reference for frontend/ee to latest commit * fix: handle default icon for home page in RenderPage component * feat: implement SuspenseCountProvider and TrackedSuspense for handling the onLoad queries for lazy widgets * feat: add SuspenseLoadingOverlay for improved loading state handling in AppCanvas while components are lazy loaded * refactor: simplify scrolling logic in useEnableMainCanvasScroll and remove unnecessary state * fix: added missed import of `DynamicHeightInfo` in `ConfigHandle` component * fix: improve animation handling for TablerIcon component and clean up suspense fallback * feat: implement viewer isolation for embedded apps routing * fix: Map MODULE type to APP permissions in FeatureAbilityGuard * Revert "fix: Map MODULE type to APP permissions in FeatureAbilityGuard" This reverts commit ccb53f8d894f22c9f8aa9f90b60670741150a8ce. * fix: Exclude MODULE type apps from environment access validation * fix: Add deferCheck prop to SuspenseCountProvider for improved lazy loading handling to support modules * chore: update subproject commits for frontend and server components * chore: update subproject commit reference in server/ee * chore: added logs to print the pat * Revert "chore: added logs to print the pat" This reverts commit d0c075f1488bacaddd11a0b8890ce66d07644b3e. * chore: update version to 3.20.76-lts --------- Co-authored-by: devanshu052000 <[email protected]> Co-authored-by: Copilot <175728472+[email protected]> Co-authored-by: manishkushare <[email protected]> Co-authored-by: Nishidh Jain <[email protected]> Co-authored-by: adishM98 Bot <[email protected]> Co-authored-by: Johnson Cherian <[email protected]> Co-authored-by: Nishidh Jain <61869195+[email protected]>
2026-01-23 11:44:55 +00:00
priority: -10,
reuseExistingChunk: true,
chunks: 'initial',
},
lucideReact: {
test: /[\\/]node_modules[\\/]lucide-react/,
name: 'lucide-react',
priority: 20, // Higher priority than vendors
reuseExistingChunk: true,
},
},
},
Move plugins to root (#1728) * feat: move plugins to root * modify tsconfig * add .gitignore * delete old plugins file * add parcel * docker compose volume mount * add gcs * add typescript to plugins folder * gcs to ts * add dynamodb * add elastic search * add firestore * add gsheets * add graphql * add mongodb * mssql * add mysql * add postgresql * add redis * add s3 * add slack * add stripe * remove plugin related packages from pkgjson * add lib folder * add gitignore * remove typescript generated files * remove generated file * remove generated files * add twilio * add dist to docker compose cache binding * add dist prefix * cleanup - 1 * delete dist * rename to index.ts + add jest config * add it.todo in tests * test fixes * test file changes * fix type checks * add @tooljet/plugins to server package json * esm vs commonjs bug, reduce got to 11.8.2 from 12.0.0 * docker file npm package version fix * add typesense * cleaup - 2 * add sendgrid * add lerna build and clean script for all packages + tsconfig * cleanup -3 * add plugins build step * add missing plugins build step in npm run build * add mssql, mysql & postgres as singleton classes * add db connection to cache only if datasourceId is available * client: add data source schema/manifest files * add query operations files * logic for wrapping form with schema * add script to create index file * add @tooljet/plugins to frontend folder * cleanup 1 -frontend * cleanup - 2 // frontend // data queries * add client and index to gitignore * update gitignore * fix lint & test * update ci * fix unit, e2e * cleanup -3 * fix test * fix tests * fix indent * try npm ci * fix tests * fix typo * fix * rename file for server entry * heroku fix * add main and types entry points in pkg json * move common to root * cleanup - 4: remove redundant $ sign prefix * cleanup - 4: remove redundant $ sign prefix * update options in-sync before DOM is painted * change type cloud to cloud storage * update readme * update ci.yml * update ci yml * add pkg-lock.json * rename index.ts to server.ts * update lock files * add server package.lock * remove unused import * revert commit: add minio * add root dep * import server.ts * remove plugins build step * add npm shrinkwrap * update version - plugins * add new version - 0.0.8 * upgrade version * move to symlinked package * add lock file * feat: add icon inside package * add plugin creation docs * Remove seed * move icons to plugins folder * install pg dep * add react to packages * add seed cmd * revert change * add plugins build in lint, e2e, unit * e2e, lint use npm ci * update dockerfile for plugins * try combining release with web * limit memory on release * try executing seed script post transpile * try executing seed from server directory * update seed execution * add minio * add correct type * add minio to pkg json * remove old file * fix provider key * add python installable + npm ^7.2.0 (#1752) * add python installable + npm ^7.2.0 * add py to prod file * pin npm version to 7.20.0 * pin npm version to 7.20.0 * split into multi stage build and remove python for buildx * copy plugins from buider stage * update dependencies * add freetds dependency * update server dockerfile * update client dockerfile * update dev dockerfile and compose file * fix entrypoint * fix server dev dockerfile * update docker-compose * remove npm install on root dir on docker build * fix heroku script * make lerna prod dependency to enable prod builds * remove redundant env setup Co-authored-by: Akshay Sasidharan <[email protected]> Co-authored-by: navaneeth <[email protected]>
2022-01-17 07:08:17 +00:00
},
target: 'web',
resolve: {
extensions: ['.js', '.jsx', '.png', '.wasm', '.tar', '.data', '.svg', '.png', '.jpg', '.jpeg', '.gif', '.json'],
alias: {
'@': path.resolve(__dirname, 'src/'),
Feature/merge google sso to community edition (#1420) * SSO 🔥 (#2) * Add rough implementation of google SSO * Use env variables for storing Google Oauth client id * Set organization user to active when a new user is created via sso This commit also fetches first name and last name from the payload received from google. Also adds some refactoring. * Apply proper styles to google login button * Refactor oauth controller * Move google specific logic to a separate service * Fail sign-in if google could not verify idToken * Refactoring update for GoogleOAuthService * Change env variable name for google sso client id * Show Google sign-in button only if client id env variable is given * Add SSO_GOOGLE_OAUTH2_CLIENT_ID to app.json * Whitelist apis.google.com in CSP * Add accounts.google.com to CSP * Add documentation for Google SSO * Add e2e tests for Google SSO * Resolve minor linting issues * Avoid use of raw query in migration for SSO ID This commit also adds an index for SSO ID * Verify domain of user's email id for single sign on * Add documentation for RESTRICTED_DOMAIN env variable in SSO * Move SSO controllers and services to ee folder * Move GoogleLoginButton to ee folder * Test the restricted domain verification for Google SSO * Remove unnecessary console.log * Apply better styles to Sign in with google button * Remove documentation for Google SSO This will be added to the community edition repo * Remove unnecessary static images * Fetch Google OAuth2 client id from server instead of client env (#3) * Check for existing email when signing in via SSO (#4) * hotfix oauth service return type * hotfix sso user creation * Allow disabling sign-up via SSO (#5) * hotfix file input change on import/export * Align SSO button on login box center (#6) * Fix: group permission not being set on sso (#7) * fixes group permission not being set on sso * update specs for sso * lint fix * add user id on login response * decamelize keys on login response * fix specs Co-authored-by: Akshay Sasidharan <[email protected]> Co-authored-by: navaneeth <[email protected]>
2021-11-17 11:21:50 +00:00
'@ee': path.resolve(__dirname, 'ee/'),
2025-02-25 06:52:50 +00:00
'@cloud': path.resolve(__dirname, 'cloud/'),
'@assets': path.resolve(__dirname, 'assets/'),
2025-02-25 06:52:50 +00:00
'@white-label': path.resolve(__dirname, 'src/_helpers/white-label'),
},
fallback: {
process: require.resolve('process/browser.js'),
path: require.resolve('path-browserify'),
util: require.resolve('util/'),
2025-02-25 06:52:50 +00:00
'@ee/modules': emptyModulePath,
'@cloud/modules': emptyModulePath,
},
},
devtool: environment === 'development' ? 'eval-source-map' : 'hidden-source-map',
module: {
rules: [
{
test: /\.ttf$/,
use: ['file-loader'],
},
{
test: /\.wasm$/,
use: ['file-loader'],
},
{
test: /\.tar$/,
use: ['file-loader'],
},
{
test: /\.data$/,
use: ['file-loader'],
},
{
test: /\.svg$/,
use: ({ resource }) => ({
loader: '@svgr/webpack',
options: {
svgoConfig: {
plugins: [
{
name: 'prefixIds',
cleanupIDs: {
prefix: `svg-${hash(resource)}`,
},
},
],
},
},
}),
},
{
test: /\.css$/,
use: [
chore: Viewer isolation (#14658) * update submodule commit for server * Fix: App history timeline UI in left sidebar * Fix: App history entry options menu UI * Fix: App history rename modal UI * Fix: App history restore modal UI * Feat: Implement server-sent events for app history updates and add authentication guard * Remove all the unused logic from inside the store * Fix: Minor UI change * Fix: Added a loader * Update submodule references * Implemented flow to prevent full reload on restoring history * Fix: Minor UI issue for history options menu * feat: Add pushHistoryEntry method to appHistoryStore * feat: Implement history entry limit in appHistoryStore * Fix: Horizontal page menu minor enhancements * feat: add migration for app_history table and update entity structure * feat: refactor AppHistory module imports and add new services and guards * Fix: Vertical page menu minor enhancements * feat: add stream history feature and update related permissions and constants * feat: add AppStateRepository to AppHistoryModule imports and providers * feat: add NameResolverRepository to AppHistoryModule imports and providers * feat: implement NameResolverRepository and NameResolverService for component and page name resolution * feat: remove QueueHistoryIntegrationService and update AppHistoryModule to reflect changes * feat: update AppHistoryModule and AppHistoryRepository with new methods and refactor imports * feat: refactor AppHistoryModule and related services to streamline name resolution and history capture * feat: add AppStateRepository and HistoryQueueProcessor, refactor AppStateAggregatorService to utilize repository methods * feat: rename methods in AppStateRepository for clarity and update AppStateAggregatorService to reflect changes * feat: refactor history capture logic to use synchronous execution and improve error handling across services * Fix: Mobile view page menu UI enhancements * feat: enhance ability guards and repository methods for app history validation * Update submodule references * Migrate to shadcn sidebar component * Fix: Components not getting pasted at correct position if user scrolled and pasted inside container components * Fix: Group components not getting pasted at correct position horizontally inside container components * POC for removing overlap prevention logic if not enough space present, incase user clicks somewhere to respect click position * Update frontend/src/AppBuilder/AppCanvas/Container.jsx Co-authored-by: Copilot <175728472+[email protected]> * feat: enhance AppHistoryModule registration with isMainImport flag * feat: update settings method to queue history capture after successful update * chore: update subproject commit reference in frontend/ee * feat: add function to delete app history for structural migrations * Refactor imports and enhance code organization across multiple files - Updated import paths to reflect the new directory structure in TooljetDatabase and AppBuilder components. - Consolidated utility functions in appUtils.js, removing redundant code and improving readability. - Enhanced error handling and state management in dataQueriesStore and resolverStore. - Added Bundle Analyzer plugin to webpack configuration for better performance insights. - Improved chunking strategy in webpack to optimize loading of libraries and components. - Refactored ErrorBoundary imports to maintain consistency across UI components. * feat: enhance UI components with new icons and styling adjustments * refactor: remove unused components and icons from QueryManager - Deleted QueryManagerHeader component and its associated logic. - Removed SuccessNotificationInputs component and its functionality. - Eliminated Transformation component and related code. - Deleted BreadcrumbsIcon, CreateIcon, PreviewIcon, RenameIcon, RunIcon, and ToggleQueryEditorIcon. - Updated imports in appUtils.js to reflect new icon paths. * Refactor editorHelpers and utils: Remove unused functions and imports, streamline background update logic, and adjust state handling. Comment out or delete handleReferenceTransactions and related logic in various stores to simplify data flow and improve maintainability. * Refactor queryPanelStore and storeHelper by commenting out unused imports and code. This cleanup improves code readability and maintainability. * revert: Reverted the lazy loading changes * revert: Reverted the changes on App & AppRoute * Fix: Inside side effects, get the correct canvas element, disable page scrolling and reposition modal container when modal is opened * Fix: Use the side effects when modal is opened and closed * Update submodule references * fix: Corrected zustandDevTools enabled option logic * update ee-frontend submodule ref * Enhance: Vertical page menu default styles * chore: merged with lts * chore: moved components from Editor to AppBuilder folder * chore: cleaned up the appbuilder imports * chore: update subproject commit reference * update submodule ref * Enhance: Horizontal page menu default styles * fix: Global search for multiselect column * Fix: More button on pages overflow is getting cropped and remove unnecessary calculations related to it * Refactor page menu code * Integrate shadcn navigation menu component for horizontal page menu * Update submodule ref * update submodule ref * Fix: Minimum width of the popup in horizontal page menu * Fixed UI issues * Removed commented code * Removed wrapper and unwanted code * Fix: Minor page menu bugs inside Editor * Fix: popover overflow issue and other minor bugs * Remove unnecessary package.json change * chore: fix import path casing for RealTimeEditor * Fix: Grid resizing issue and component selector overflow * Fix: Increased transition duration to 200 * Removed the classname change * Fix: Scrollbar visible in viewer in vertical page menu * Fix: Remove arbitrary variant chains since not supported in Tailwind v3 to fix animations in horizontal page menu * chore: update subproject commits for frontend and server * Refactored code * Update ee-frontend submodule reference * Removed leading and trailing icon width * Refactor page menu styling part to make it reusable for mobile view * Integrate Shacn Sidebar component in page menu for mobile view * Update submodule references * fix: merge issues and minor bugs * Update frontend/src/_styles/pages-sidebar.scss Co-authored-by: Copilot <175728472+[email protected]> * update submodule ref * fixed: custom validation working for dropdown inside the listview * update submodule references * Fix: Broken app logo in editor incase app logo url is incorrect * Fix: Default styles * update submodule reference * Fix: Implement changes for legacy modal as well * Fix: Change state logic to dom manipulation logic on canvas scroll to prevent unnecessary re-renders * Fix: Change default border color to cc-Border/weak * Fix: Remove max width on overflow menu in horizontal page menu and prevent right sidebar to open on toggling page groups in overflow menu * Fix: Box shadow should only be visible for horizontal page menu only when canvas is scrolled and not on top * Update submodule references * Feat: Add support for icon in modal trigger * Update frontend/src/AppBuilder/Widgets/ModalV2/ModalV2.jsx Co-authored-by: Copilot <175728472+[email protected]> * Update frontend/src/AppBuilder/Widgets/ModalV2/helpers/stylesFactory.js Co-authored-by: Copilot <175728472+[email protected]> * chore: update subproject commit reference in frontend/ee * refactor: clean up controller methods and remove unused streamHistory and getEvents methods * chore: update subproject commit reference in frontend/ee * update submodule references * Fix: Scrollbar behaviour in vertical page menu * Fix: Group closes on selecting a page on vertical page menu * Remove log * feat: Add RootRouter for bundle isolation and viewer routing - Introduced RootRouter component to handle route splitting for viewer isolation. - Created ViewerApp component to manage viewer-specific routes and logic. - Removed BrowserRouter from App.jsx and integrated routing into RootRouter. - Updated package.json to include madge for circular dependency checks. - Refactored App.jsx to remove viewer-related imports and routes. - Moved useConfirm hook to a new file for better organization. - Updated various components to reflect new import paths and structure. - Enhanced webpack configuration for improved chunk splitting and performance. - Added new directories for future feature development under src/v2. * feat: Add scripts to check bundle size and circular dependencies * feat: Refactor to use dynamic imports for edition-specific components and helpers * fix: update BoundedBox widget styles and fix class names; add datepicker styles * feat: add permission checks based on selected data source scope in QueryCard component * fix: enhance error handling in streamHistoryUpdates and update subproject reference * fix: fixed the bug on app history in capturing the query deletion * fix: Fixed unknown component issue while adding an event in query and pages. Added resolveEntityName method to handle entity name resolution for components, queries, and pages * feat: Add captureSettingsUpdateHistory method to log app version settings updates * fix: pageSettings were not properly restored while restoring the app history and version change * fix: Enhance settings update history capture with action type differentiation * feat: Optimize layout updates by batching component layout changes * fix: Prevent redundant canvasHeight updates when the value is unchanged * chore: Added script & logic for view parsed and gzip bundle * Perf: Reduces main chunk size by almost 140KB, hence reducing overall bundle size * chore: submodule update (Perf: reduces main chunk size by almost 220KB, hence reducing overall bundle size) * fix: update entrypoint script to use ce-preview.sh for PostgreSQL initialization * Perf: Extract CSS from JS bundle to allow css minification and removal of comments in production bundle * style: Update padding and spacing in app history styles for improved layout * feat: Implement lazy loading for editor-only components to optimize viewer bundle size * chore: Update subproject reference to latest commit * chore: Update subproject commit reference for frontend/ee * chore: Update subproject commit references for frontend and server * Fix: update hover effect for app name display in EditAppName component * Fix: remove redundant darkMode prop from FormField component * fix: add !important to primary color for rc-slider track and handle * feat: implement batching for form component updates and layout changes * feat: enhance form component handling with batching and parent ID extraction * fix: removed some of the barrel imports * chore: Update subproject reference to latest commit * Update submodule references * Fix: Page of type app or url gets converted to default page on app import * feat: enhance page cloning with history capture functionality * fix: optimize parent change detection to prevent unnecessary batch updates during drag operations * feat: optimize query saving logic to skip unnecessary updates for name changes * Fix: Group not selected after nested page selection until hovered in horizontal menu * Revert "Revert "[refactor]: Fix leftsidebar on opening disturbing the scroll"" This reverts commit d712c47f9cdf5305b8a62a2e9bd62b720c835936. * Fix: Navigation menu disappears when view switched between desktop and mobile view in editor * update ee-server submodule ref * update submodule references * Fix: Icon alignment issue * feat: implement bulk creation of event handlers and optimize component event handling * chore: update subproject commit reference in frontend/ee * Revert "POC for removing overlap prevention logic if not enough space present, incase user clicks somewhere to respect click position" This reverts commit 8aec525e9aa7ec636a0066a80204334402906017. * feat: disable client overlay in webpack configuration * update the submodule refs * update submodule refs * update submodule reference for server/ee * refactor: rename `defaultDataSources` prop to `staticDataSources` in `DataSourceSelect` component. * update submodule refs * Merge pull request #14663 from ToolJet/feature/viewer-isolation-and-bundle-optimization Perf: lazy load components not required on viewer page and widgets with bigger external dependencies * refactor: change exports to default for CodeEditor, ColorPicker, and Table components * feat: add loading spinner to PreviewSettings and update loading fallback in RootRouter * feat: lazy load jsPDF and jspdf-autotable to optimize bundle size and improve performance * feat: replace Tabler icons with dynamic loading to optimize bundle size and improve performance * feat: add AppHistoryStreamService to manage app history streaming * update submodule reference for server/ee * update submodule reference for server/ee * update submodule reference for server/ee * chore: update submodule reference for frontend/ee to latest commit * fix: handle default icon for home page in RenderPage component * feat: implement SuspenseCountProvider and TrackedSuspense for handling the onLoad queries for lazy widgets * feat: add SuspenseLoadingOverlay for improved loading state handling in AppCanvas while components are lazy loaded * refactor: simplify scrolling logic in useEnableMainCanvasScroll and remove unnecessary state * fix: added missed import of `DynamicHeightInfo` in `ConfigHandle` component * fix: improve animation handling for TablerIcon component and clean up suspense fallback * feat: implement viewer isolation for embedded apps routing * fix: Map MODULE type to APP permissions in FeatureAbilityGuard * Revert "fix: Map MODULE type to APP permissions in FeatureAbilityGuard" This reverts commit ccb53f8d894f22c9f8aa9f90b60670741150a8ce. * fix: Exclude MODULE type apps from environment access validation * fix: Add deferCheck prop to SuspenseCountProvider for improved lazy loading handling to support modules * chore: update subproject commits for frontend and server components * chore: update subproject commit reference in server/ee * chore: added logs to print the pat * Revert "chore: added logs to print the pat" This reverts commit d0c075f1488bacaddd11a0b8890ce66d07644b3e. * chore: update version to 3.20.76-lts --------- Co-authored-by: devanshu052000 <[email protected]> Co-authored-by: Copilot <175728472+[email protected]> Co-authored-by: manishkushare <[email protected]> Co-authored-by: Nishidh Jain <[email protected]> Co-authored-by: adishM98 Bot <[email protected]> Co-authored-by: Johnson Cherian <[email protected]> Co-authored-by: Nishidh Jain <61869195+[email protected]>
2026-01-23 11:44:55 +00:00
environment === 'production' ? MiniCssExtractPlugin.loader : { loader: 'style-loader' },
{
loader: 'css-loader',
Feature: Collaboration ( realtime comments for canvas ) 🔥 (#810) * feat: initial commit for collaboration feature * add dnd to comments * add positions endpoint * feat: encapsulate all http common logic in http-client * segregate sections and transfer responsibility of state * feat: use-spring to add fade effect :zap: * fix: open in right * fix: left-right position css * add footer for message * integrate getcomment endpoint * use fromnow for date ago * add dnd * - Add data trasfer object for comment - Add class-validator package to check the response type from client - Add comment repository class for persistance layer - Add comment service with std. http methods - Update controller with all http methods - Update comment module - Fix http-client bug when error is thrown * fix http client bug when error is thrown * feat: add entity thread * feat: add migrations for thread and comment * update entitites * add tid to migration * filter comments by tid(thread_id) * fix: comment migration, add missing column comment * feat: integrate in ui * feat: split comments based on app_id * fix: dnd to correct position * package json engines * engines update * update npm * npm 6 to 7 * fix: add user initials to thread * fix: add firtname lastname to the comments * - Return user object when save thread called - Hide password field from user response - Fix created_at date typo - Instead of fetch all threads on new thread added, add the response to array of existing threads * feat: update ui components * change icon on comments view * ui fixes * fix: close icon close the popover * temp: comment select: false * use currentUser from localStorage * fix: on click outside if comment is open, dont hit addThread * fix: auth token issue in http-client * on drag hide the comment if open * add jwt auth * spec: add test for comment & thread * cleanup: remove console.log * feat: add comment actions * feat: add edit, delete, resolve options * feat: add mentions component * feat: add nestjs websockets * temp * websocket: establish client-server communication * ws: add message listner to comments module in ui * feat: add broadcast method to broadcast new events to all clients :bomb: * ws: cleanup :call_me_hand: * fix: remove max height from comment actions * feat: add user mentions, emoji support * fix: add static list of users - temp * update and delete iterations * - Rename comment, thread to comments, threads - Add conditional actions - Show edit, delete only if he is comment owner - Show resolve only if he is thread owner * reset engines * move svgr webpack to deps * fix: ui issues * remove log stmt * refactor: move resolved icon to comment-header * feat: allow comments to be added on top of widgets * feat: add keyboard shortcut * scroll to bottom on comment add * ui fixes * feat: add react toast for notification display * feat: add comment badge * fix: ws connection * fix: ws * remove rvrse * feat: add comment sidebar * feat: add comment right sidebar * fix: add missing foreign key elements * - upgrade typeorm to 0.2.38 - comment sidebar ui - added filter ui * feat: on click of right sidebar notificaiton open the comment box * reset engines * fix: add organization id to the comment and thread module * fix: add current version id * add currentversion id * disable comments if no id present * temp:checking for heroku deploy * fetch app on edit and deploy version * rename current_version_id to app_versions_id * ui fixes * show mentioned user in blue color * add ui changes * add authorization for create thread * change color to blue on click of comment, add auth for other endpoints of thread * update threads, notifications using socket * add auth for comments * remove events spec file * fix duplicate key error * fix notificaitons updation on edit, delete, resolve buttons clicked * update notifications for edit * feature toggle changes for frontend * add check for comments server * add emoji mart package for emoji * add reply count in comment sidebar * subtract 1 from count in comment sidebar * change empty text when no comments available
2021-11-01 07:28:03 +00:00
},
],
},
{
test: /\.scss$/,
use: [
chore: Viewer isolation (#14658) * update submodule commit for server * Fix: App history timeline UI in left sidebar * Fix: App history entry options menu UI * Fix: App history rename modal UI * Fix: App history restore modal UI * Feat: Implement server-sent events for app history updates and add authentication guard * Remove all the unused logic from inside the store * Fix: Minor UI change * Fix: Added a loader * Update submodule references * Implemented flow to prevent full reload on restoring history * Fix: Minor UI issue for history options menu * feat: Add pushHistoryEntry method to appHistoryStore * feat: Implement history entry limit in appHistoryStore * Fix: Horizontal page menu minor enhancements * feat: add migration for app_history table and update entity structure * feat: refactor AppHistory module imports and add new services and guards * Fix: Vertical page menu minor enhancements * feat: add stream history feature and update related permissions and constants * feat: add AppStateRepository to AppHistoryModule imports and providers * feat: add NameResolverRepository to AppHistoryModule imports and providers * feat: implement NameResolverRepository and NameResolverService for component and page name resolution * feat: remove QueueHistoryIntegrationService and update AppHistoryModule to reflect changes * feat: update AppHistoryModule and AppHistoryRepository with new methods and refactor imports * feat: refactor AppHistoryModule and related services to streamline name resolution and history capture * feat: add AppStateRepository and HistoryQueueProcessor, refactor AppStateAggregatorService to utilize repository methods * feat: rename methods in AppStateRepository for clarity and update AppStateAggregatorService to reflect changes * feat: refactor history capture logic to use synchronous execution and improve error handling across services * Fix: Mobile view page menu UI enhancements * feat: enhance ability guards and repository methods for app history validation * Update submodule references * Migrate to shadcn sidebar component * Fix: Components not getting pasted at correct position if user scrolled and pasted inside container components * Fix: Group components not getting pasted at correct position horizontally inside container components * POC for removing overlap prevention logic if not enough space present, incase user clicks somewhere to respect click position * Update frontend/src/AppBuilder/AppCanvas/Container.jsx Co-authored-by: Copilot <175728472+[email protected]> * feat: enhance AppHistoryModule registration with isMainImport flag * feat: update settings method to queue history capture after successful update * chore: update subproject commit reference in frontend/ee * feat: add function to delete app history for structural migrations * Refactor imports and enhance code organization across multiple files - Updated import paths to reflect the new directory structure in TooljetDatabase and AppBuilder components. - Consolidated utility functions in appUtils.js, removing redundant code and improving readability. - Enhanced error handling and state management in dataQueriesStore and resolverStore. - Added Bundle Analyzer plugin to webpack configuration for better performance insights. - Improved chunking strategy in webpack to optimize loading of libraries and components. - Refactored ErrorBoundary imports to maintain consistency across UI components. * feat: enhance UI components with new icons and styling adjustments * refactor: remove unused components and icons from QueryManager - Deleted QueryManagerHeader component and its associated logic. - Removed SuccessNotificationInputs component and its functionality. - Eliminated Transformation component and related code. - Deleted BreadcrumbsIcon, CreateIcon, PreviewIcon, RenameIcon, RunIcon, and ToggleQueryEditorIcon. - Updated imports in appUtils.js to reflect new icon paths. * Refactor editorHelpers and utils: Remove unused functions and imports, streamline background update logic, and adjust state handling. Comment out or delete handleReferenceTransactions and related logic in various stores to simplify data flow and improve maintainability. * Refactor queryPanelStore and storeHelper by commenting out unused imports and code. This cleanup improves code readability and maintainability. * revert: Reverted the lazy loading changes * revert: Reverted the changes on App & AppRoute * Fix: Inside side effects, get the correct canvas element, disable page scrolling and reposition modal container when modal is opened * Fix: Use the side effects when modal is opened and closed * Update submodule references * fix: Corrected zustandDevTools enabled option logic * update ee-frontend submodule ref * Enhance: Vertical page menu default styles * chore: merged with lts * chore: moved components from Editor to AppBuilder folder * chore: cleaned up the appbuilder imports * chore: update subproject commit reference * update submodule ref * Enhance: Horizontal page menu default styles * fix: Global search for multiselect column * Fix: More button on pages overflow is getting cropped and remove unnecessary calculations related to it * Refactor page menu code * Integrate shadcn navigation menu component for horizontal page menu * Update submodule ref * update submodule ref * Fix: Minimum width of the popup in horizontal page menu * Fixed UI issues * Removed commented code * Removed wrapper and unwanted code * Fix: Minor page menu bugs inside Editor * Fix: popover overflow issue and other minor bugs * Remove unnecessary package.json change * chore: fix import path casing for RealTimeEditor * Fix: Grid resizing issue and component selector overflow * Fix: Increased transition duration to 200 * Removed the classname change * Fix: Scrollbar visible in viewer in vertical page menu * Fix: Remove arbitrary variant chains since not supported in Tailwind v3 to fix animations in horizontal page menu * chore: update subproject commits for frontend and server * Refactored code * Update ee-frontend submodule reference * Removed leading and trailing icon width * Refactor page menu styling part to make it reusable for mobile view * Integrate Shacn Sidebar component in page menu for mobile view * Update submodule references * fix: merge issues and minor bugs * Update frontend/src/_styles/pages-sidebar.scss Co-authored-by: Copilot <175728472+[email protected]> * update submodule ref * fixed: custom validation working for dropdown inside the listview * update submodule references * Fix: Broken app logo in editor incase app logo url is incorrect * Fix: Default styles * update submodule reference * Fix: Implement changes for legacy modal as well * Fix: Change state logic to dom manipulation logic on canvas scroll to prevent unnecessary re-renders * Fix: Change default border color to cc-Border/weak * Fix: Remove max width on overflow menu in horizontal page menu and prevent right sidebar to open on toggling page groups in overflow menu * Fix: Box shadow should only be visible for horizontal page menu only when canvas is scrolled and not on top * Update submodule references * Feat: Add support for icon in modal trigger * Update frontend/src/AppBuilder/Widgets/ModalV2/ModalV2.jsx Co-authored-by: Copilot <175728472+[email protected]> * Update frontend/src/AppBuilder/Widgets/ModalV2/helpers/stylesFactory.js Co-authored-by: Copilot <175728472+[email protected]> * chore: update subproject commit reference in frontend/ee * refactor: clean up controller methods and remove unused streamHistory and getEvents methods * chore: update subproject commit reference in frontend/ee * update submodule references * Fix: Scrollbar behaviour in vertical page menu * Fix: Group closes on selecting a page on vertical page menu * Remove log * feat: Add RootRouter for bundle isolation and viewer routing - Introduced RootRouter component to handle route splitting for viewer isolation. - Created ViewerApp component to manage viewer-specific routes and logic. - Removed BrowserRouter from App.jsx and integrated routing into RootRouter. - Updated package.json to include madge for circular dependency checks. - Refactored App.jsx to remove viewer-related imports and routes. - Moved useConfirm hook to a new file for better organization. - Updated various components to reflect new import paths and structure. - Enhanced webpack configuration for improved chunk splitting and performance. - Added new directories for future feature development under src/v2. * feat: Add scripts to check bundle size and circular dependencies * feat: Refactor to use dynamic imports for edition-specific components and helpers * fix: update BoundedBox widget styles and fix class names; add datepicker styles * feat: add permission checks based on selected data source scope in QueryCard component * fix: enhance error handling in streamHistoryUpdates and update subproject reference * fix: fixed the bug on app history in capturing the query deletion * fix: Fixed unknown component issue while adding an event in query and pages. Added resolveEntityName method to handle entity name resolution for components, queries, and pages * feat: Add captureSettingsUpdateHistory method to log app version settings updates * fix: pageSettings were not properly restored while restoring the app history and version change * fix: Enhance settings update history capture with action type differentiation * feat: Optimize layout updates by batching component layout changes * fix: Prevent redundant canvasHeight updates when the value is unchanged * chore: Added script & logic for view parsed and gzip bundle * Perf: Reduces main chunk size by almost 140KB, hence reducing overall bundle size * chore: submodule update (Perf: reduces main chunk size by almost 220KB, hence reducing overall bundle size) * fix: update entrypoint script to use ce-preview.sh for PostgreSQL initialization * Perf: Extract CSS from JS bundle to allow css minification and removal of comments in production bundle * style: Update padding and spacing in app history styles for improved layout * feat: Implement lazy loading for editor-only components to optimize viewer bundle size * chore: Update subproject reference to latest commit * chore: Update subproject commit reference for frontend/ee * chore: Update subproject commit references for frontend and server * Fix: update hover effect for app name display in EditAppName component * Fix: remove redundant darkMode prop from FormField component * fix: add !important to primary color for rc-slider track and handle * feat: implement batching for form component updates and layout changes * feat: enhance form component handling with batching and parent ID extraction * fix: removed some of the barrel imports * chore: Update subproject reference to latest commit * Update submodule references * Fix: Page of type app or url gets converted to default page on app import * feat: enhance page cloning with history capture functionality * fix: optimize parent change detection to prevent unnecessary batch updates during drag operations * feat: optimize query saving logic to skip unnecessary updates for name changes * Fix: Group not selected after nested page selection until hovered in horizontal menu * Revert "Revert "[refactor]: Fix leftsidebar on opening disturbing the scroll"" This reverts commit d712c47f9cdf5305b8a62a2e9bd62b720c835936. * Fix: Navigation menu disappears when view switched between desktop and mobile view in editor * update ee-server submodule ref * update submodule references * Fix: Icon alignment issue * feat: implement bulk creation of event handlers and optimize component event handling * chore: update subproject commit reference in frontend/ee * Revert "POC for removing overlap prevention logic if not enough space present, incase user clicks somewhere to respect click position" This reverts commit 8aec525e9aa7ec636a0066a80204334402906017. * feat: disable client overlay in webpack configuration * update the submodule refs * update submodule refs * update submodule reference for server/ee * refactor: rename `defaultDataSources` prop to `staticDataSources` in `DataSourceSelect` component. * update submodule refs * Merge pull request #14663 from ToolJet/feature/viewer-isolation-and-bundle-optimization Perf: lazy load components not required on viewer page and widgets with bigger external dependencies * refactor: change exports to default for CodeEditor, ColorPicker, and Table components * feat: add loading spinner to PreviewSettings and update loading fallback in RootRouter * feat: lazy load jsPDF and jspdf-autotable to optimize bundle size and improve performance * feat: replace Tabler icons with dynamic loading to optimize bundle size and improve performance * feat: add AppHistoryStreamService to manage app history streaming * update submodule reference for server/ee * update submodule reference for server/ee * update submodule reference for server/ee * chore: update submodule reference for frontend/ee to latest commit * fix: handle default icon for home page in RenderPage component * feat: implement SuspenseCountProvider and TrackedSuspense for handling the onLoad queries for lazy widgets * feat: add SuspenseLoadingOverlay for improved loading state handling in AppCanvas while components are lazy loaded * refactor: simplify scrolling logic in useEnableMainCanvasScroll and remove unnecessary state * fix: added missed import of `DynamicHeightInfo` in `ConfigHandle` component * fix: improve animation handling for TablerIcon component and clean up suspense fallback * feat: implement viewer isolation for embedded apps routing * fix: Map MODULE type to APP permissions in FeatureAbilityGuard * Revert "fix: Map MODULE type to APP permissions in FeatureAbilityGuard" This reverts commit ccb53f8d894f22c9f8aa9f90b60670741150a8ce. * fix: Exclude MODULE type apps from environment access validation * fix: Add deferCheck prop to SuspenseCountProvider for improved lazy loading handling to support modules * chore: update subproject commits for frontend and server components * chore: update subproject commit reference in server/ee * chore: added logs to print the pat * Revert "chore: added logs to print the pat" This reverts commit d0c075f1488bacaddd11a0b8890ce66d07644b3e. * chore: update version to 3.20.76-lts --------- Co-authored-by: devanshu052000 <[email protected]> Co-authored-by: Copilot <175728472+[email protected]> Co-authored-by: manishkushare <[email protected]> Co-authored-by: Nishidh Jain <[email protected]> Co-authored-by: adishM98 Bot <[email protected]> Co-authored-by: Johnson Cherian <[email protected]> Co-authored-by: Nishidh Jain <61869195+[email protected]>
2026-01-23 11:44:55 +00:00
environment === 'production' ? MiniCssExtractPlugin.loader : { loader: 'style-loader' },
{
loader: 'css-loader',
},
{
loader: 'postcss-loader',
},
{
loader: 'sass-loader',
options: {
sassOptions: {
silenceDeprecations: ['global-builtin', 'import', 'color-functions'],
},
},
},
],
},
{
test: /\.(js|jsx)$/,
exclude: /node_modules/,
resolve: {
extensions: ['.js', '.jsx'],
},
use: {
loader: 'babel-loader',
2021-09-15 15:52:53 +00:00
options: {
plugins: [
isDevEnv && require.resolve('react-refresh/babel'),
[
'import',
{
libraryName: 'lodash',
libraryDirectory: '',
camel2DashComponentName: false,
},
'lodash',
],
].filter(Boolean),
2021-09-15 15:52:53 +00:00
},
},
},
{
test: /\.html$/,
loader: 'html-loader',
},
],
},
plugins,
devServer: {
historyApiFallback: { index: ASSET_PATH },
static: {
directory: path.resolve(__dirname, 'assets'),
publicPath: '/assets/',
},
2025-10-01 12:04:37 +00:00
client: {
overlay: false,
},
},
output: {
filename: environment === 'production' ? '[name].[contenthash:8].js' : '[name].js',
chunkFilename: environment === 'production' ? '[name].[contenthash:8].chunk.js' : '[name].chunk.js',
assetModuleFilename: 'assets/[contenthash:8][ext][query]',
publicPath: ASSET_PATH,
path: path.resolve(__dirname, 'build'),
chore: Viewer isolation (#14658) * update submodule commit for server * Fix: App history timeline UI in left sidebar * Fix: App history entry options menu UI * Fix: App history rename modal UI * Fix: App history restore modal UI * Feat: Implement server-sent events for app history updates and add authentication guard * Remove all the unused logic from inside the store * Fix: Minor UI change * Fix: Added a loader * Update submodule references * Implemented flow to prevent full reload on restoring history * Fix: Minor UI issue for history options menu * feat: Add pushHistoryEntry method to appHistoryStore * feat: Implement history entry limit in appHistoryStore * Fix: Horizontal page menu minor enhancements * feat: add migration for app_history table and update entity structure * feat: refactor AppHistory module imports and add new services and guards * Fix: Vertical page menu minor enhancements * feat: add stream history feature and update related permissions and constants * feat: add AppStateRepository to AppHistoryModule imports and providers * feat: add NameResolverRepository to AppHistoryModule imports and providers * feat: implement NameResolverRepository and NameResolverService for component and page name resolution * feat: remove QueueHistoryIntegrationService and update AppHistoryModule to reflect changes * feat: update AppHistoryModule and AppHistoryRepository with new methods and refactor imports * feat: refactor AppHistoryModule and related services to streamline name resolution and history capture * feat: add AppStateRepository and HistoryQueueProcessor, refactor AppStateAggregatorService to utilize repository methods * feat: rename methods in AppStateRepository for clarity and update AppStateAggregatorService to reflect changes * feat: refactor history capture logic to use synchronous execution and improve error handling across services * Fix: Mobile view page menu UI enhancements * feat: enhance ability guards and repository methods for app history validation * Update submodule references * Migrate to shadcn sidebar component * Fix: Components not getting pasted at correct position if user scrolled and pasted inside container components * Fix: Group components not getting pasted at correct position horizontally inside container components * POC for removing overlap prevention logic if not enough space present, incase user clicks somewhere to respect click position * Update frontend/src/AppBuilder/AppCanvas/Container.jsx Co-authored-by: Copilot <175728472+[email protected]> * feat: enhance AppHistoryModule registration with isMainImport flag * feat: update settings method to queue history capture after successful update * chore: update subproject commit reference in frontend/ee * feat: add function to delete app history for structural migrations * Refactor imports and enhance code organization across multiple files - Updated import paths to reflect the new directory structure in TooljetDatabase and AppBuilder components. - Consolidated utility functions in appUtils.js, removing redundant code and improving readability. - Enhanced error handling and state management in dataQueriesStore and resolverStore. - Added Bundle Analyzer plugin to webpack configuration for better performance insights. - Improved chunking strategy in webpack to optimize loading of libraries and components. - Refactored ErrorBoundary imports to maintain consistency across UI components. * feat: enhance UI components with new icons and styling adjustments * refactor: remove unused components and icons from QueryManager - Deleted QueryManagerHeader component and its associated logic. - Removed SuccessNotificationInputs component and its functionality. - Eliminated Transformation component and related code. - Deleted BreadcrumbsIcon, CreateIcon, PreviewIcon, RenameIcon, RunIcon, and ToggleQueryEditorIcon. - Updated imports in appUtils.js to reflect new icon paths. * Refactor editorHelpers and utils: Remove unused functions and imports, streamline background update logic, and adjust state handling. Comment out or delete handleReferenceTransactions and related logic in various stores to simplify data flow and improve maintainability. * Refactor queryPanelStore and storeHelper by commenting out unused imports and code. This cleanup improves code readability and maintainability. * revert: Reverted the lazy loading changes * revert: Reverted the changes on App & AppRoute * Fix: Inside side effects, get the correct canvas element, disable page scrolling and reposition modal container when modal is opened * Fix: Use the side effects when modal is opened and closed * Update submodule references * fix: Corrected zustandDevTools enabled option logic * update ee-frontend submodule ref * Enhance: Vertical page menu default styles * chore: merged with lts * chore: moved components from Editor to AppBuilder folder * chore: cleaned up the appbuilder imports * chore: update subproject commit reference * update submodule ref * Enhance: Horizontal page menu default styles * fix: Global search for multiselect column * Fix: More button on pages overflow is getting cropped and remove unnecessary calculations related to it * Refactor page menu code * Integrate shadcn navigation menu component for horizontal page menu * Update submodule ref * update submodule ref * Fix: Minimum width of the popup in horizontal page menu * Fixed UI issues * Removed commented code * Removed wrapper and unwanted code * Fix: Minor page menu bugs inside Editor * Fix: popover overflow issue and other minor bugs * Remove unnecessary package.json change * chore: fix import path casing for RealTimeEditor * Fix: Grid resizing issue and component selector overflow * Fix: Increased transition duration to 200 * Removed the classname change * Fix: Scrollbar visible in viewer in vertical page menu * Fix: Remove arbitrary variant chains since not supported in Tailwind v3 to fix animations in horizontal page menu * chore: update subproject commits for frontend and server * Refactored code * Update ee-frontend submodule reference * Removed leading and trailing icon width * Refactor page menu styling part to make it reusable for mobile view * Integrate Shacn Sidebar component in page menu for mobile view * Update submodule references * fix: merge issues and minor bugs * Update frontend/src/_styles/pages-sidebar.scss Co-authored-by: Copilot <175728472+[email protected]> * update submodule ref * fixed: custom validation working for dropdown inside the listview * update submodule references * Fix: Broken app logo in editor incase app logo url is incorrect * Fix: Default styles * update submodule reference * Fix: Implement changes for legacy modal as well * Fix: Change state logic to dom manipulation logic on canvas scroll to prevent unnecessary re-renders * Fix: Change default border color to cc-Border/weak * Fix: Remove max width on overflow menu in horizontal page menu and prevent right sidebar to open on toggling page groups in overflow menu * Fix: Box shadow should only be visible for horizontal page menu only when canvas is scrolled and not on top * Update submodule references * Feat: Add support for icon in modal trigger * Update frontend/src/AppBuilder/Widgets/ModalV2/ModalV2.jsx Co-authored-by: Copilot <175728472+[email protected]> * Update frontend/src/AppBuilder/Widgets/ModalV2/helpers/stylesFactory.js Co-authored-by: Copilot <175728472+[email protected]> * chore: update subproject commit reference in frontend/ee * refactor: clean up controller methods and remove unused streamHistory and getEvents methods * chore: update subproject commit reference in frontend/ee * update submodule references * Fix: Scrollbar behaviour in vertical page menu * Fix: Group closes on selecting a page on vertical page menu * Remove log * feat: Add RootRouter for bundle isolation and viewer routing - Introduced RootRouter component to handle route splitting for viewer isolation. - Created ViewerApp component to manage viewer-specific routes and logic. - Removed BrowserRouter from App.jsx and integrated routing into RootRouter. - Updated package.json to include madge for circular dependency checks. - Refactored App.jsx to remove viewer-related imports and routes. - Moved useConfirm hook to a new file for better organization. - Updated various components to reflect new import paths and structure. - Enhanced webpack configuration for improved chunk splitting and performance. - Added new directories for future feature development under src/v2. * feat: Add scripts to check bundle size and circular dependencies * feat: Refactor to use dynamic imports for edition-specific components and helpers * fix: update BoundedBox widget styles and fix class names; add datepicker styles * feat: add permission checks based on selected data source scope in QueryCard component * fix: enhance error handling in streamHistoryUpdates and update subproject reference * fix: fixed the bug on app history in capturing the query deletion * fix: Fixed unknown component issue while adding an event in query and pages. Added resolveEntityName method to handle entity name resolution for components, queries, and pages * feat: Add captureSettingsUpdateHistory method to log app version settings updates * fix: pageSettings were not properly restored while restoring the app history and version change * fix: Enhance settings update history capture with action type differentiation * feat: Optimize layout updates by batching component layout changes * fix: Prevent redundant canvasHeight updates when the value is unchanged * chore: Added script & logic for view parsed and gzip bundle * Perf: Reduces main chunk size by almost 140KB, hence reducing overall bundle size * chore: submodule update (Perf: reduces main chunk size by almost 220KB, hence reducing overall bundle size) * fix: update entrypoint script to use ce-preview.sh for PostgreSQL initialization * Perf: Extract CSS from JS bundle to allow css minification and removal of comments in production bundle * style: Update padding and spacing in app history styles for improved layout * feat: Implement lazy loading for editor-only components to optimize viewer bundle size * chore: Update subproject reference to latest commit * chore: Update subproject commit reference for frontend/ee * chore: Update subproject commit references for frontend and server * Fix: update hover effect for app name display in EditAppName component * Fix: remove redundant darkMode prop from FormField component * fix: add !important to primary color for rc-slider track and handle * feat: implement batching for form component updates and layout changes * feat: enhance form component handling with batching and parent ID extraction * fix: removed some of the barrel imports * chore: Update subproject reference to latest commit * Update submodule references * Fix: Page of type app or url gets converted to default page on app import * feat: enhance page cloning with history capture functionality * fix: optimize parent change detection to prevent unnecessary batch updates during drag operations * feat: optimize query saving logic to skip unnecessary updates for name changes * Fix: Group not selected after nested page selection until hovered in horizontal menu * Revert "Revert "[refactor]: Fix leftsidebar on opening disturbing the scroll"" This reverts commit d712c47f9cdf5305b8a62a2e9bd62b720c835936. * Fix: Navigation menu disappears when view switched between desktop and mobile view in editor * update ee-server submodule ref * update submodule references * Fix: Icon alignment issue * feat: implement bulk creation of event handlers and optimize component event handling * chore: update subproject commit reference in frontend/ee * Revert "POC for removing overlap prevention logic if not enough space present, incase user clicks somewhere to respect click position" This reverts commit 8aec525e9aa7ec636a0066a80204334402906017. * feat: disable client overlay in webpack configuration * update the submodule refs * update submodule refs * update submodule reference for server/ee * refactor: rename `defaultDataSources` prop to `staticDataSources` in `DataSourceSelect` component. * update submodule refs * Merge pull request #14663 from ToolJet/feature/viewer-isolation-and-bundle-optimization Perf: lazy load components not required on viewer page and widgets with bigger external dependencies * refactor: change exports to default for CodeEditor, ColorPicker, and Table components * feat: add loading spinner to PreviewSettings and update loading fallback in RootRouter * feat: lazy load jsPDF and jspdf-autotable to optimize bundle size and improve performance * feat: replace Tabler icons with dynamic loading to optimize bundle size and improve performance * feat: add AppHistoryStreamService to manage app history streaming * update submodule reference for server/ee * update submodule reference for server/ee * update submodule reference for server/ee * chore: update submodule reference for frontend/ee to latest commit * fix: handle default icon for home page in RenderPage component * feat: implement SuspenseCountProvider and TrackedSuspense for handling the onLoad queries for lazy widgets * feat: add SuspenseLoadingOverlay for improved loading state handling in AppCanvas while components are lazy loaded * refactor: simplify scrolling logic in useEnableMainCanvasScroll and remove unnecessary state * fix: added missed import of `DynamicHeightInfo` in `ConfigHandle` component * fix: improve animation handling for TablerIcon component and clean up suspense fallback * feat: implement viewer isolation for embedded apps routing * fix: Map MODULE type to APP permissions in FeatureAbilityGuard * Revert "fix: Map MODULE type to APP permissions in FeatureAbilityGuard" This reverts commit ccb53f8d894f22c9f8aa9f90b60670741150a8ce. * fix: Exclude MODULE type apps from environment access validation * fix: Add deferCheck prop to SuspenseCountProvider for improved lazy loading handling to support modules * chore: update subproject commits for frontend and server components * chore: update subproject commit reference in server/ee * chore: added logs to print the pat * Revert "chore: added logs to print the pat" This reverts commit d0c075f1488bacaddd11a0b8890ce66d07644b3e. * chore: update version to 3.20.76-lts --------- Co-authored-by: devanshu052000 <[email protected]> Co-authored-by: Copilot <175728472+[email protected]> Co-authored-by: manishkushare <[email protected]> Co-authored-by: Nishidh Jain <[email protected]> Co-authored-by: adishM98 Bot <[email protected]> Co-authored-by: Johnson Cherian <[email protected]> Co-authored-by: Nishidh Jain <61869195+[email protected]>
2026-01-23 11:44:55 +00:00
// chunkFilename: '[name].[contenthash].js',
clean: true,
},
externals: {
// global app config object
config: JSON.stringify({
apiUrl: `${stripTrailingSlash(API_URL[environment]) || ''}/api`,
2025-02-25 06:52:50 +00:00
ENVIRONMENT: process.env.NODE_ENV,
SERVER_IP: process.env.SERVER_IP,
COMMENT_FEATURE_ENABLE: process.env.COMMENT_FEATURE_ENABLE ?? true,
2025-02-25 06:52:50 +00:00
TOOLJET_SERVER_URL: process.env.TOOLJET_SERVER_URL,
ENABLE_MULTIPLAYER_EDITING: true,
ENABLE_MARKETPLACE_DEV_MODE: process.env.ENABLE_MARKETPLACE_DEV_MODE,
TOOLJET_DB_BULK_UPLOAD_MAX_CSV_FILE_SIZE_MB: process.env.TOOLJET_DB_BULK_UPLOAD_MAX_CSV_FILE_SIZE_MB || 5,
[Feature] Make plugins installable (#3069) * feat: add user avatar * update: @nest/platform-express from 8.0.0 to 8.4.4 * add avatar_id in login response * add user avatar upload in frontend * align cross divider with layout icons' * generate nest model - extensions * Add extensions module * Add extension to datasouce * add not implemented check * create extension * refactor * cleanup * fix tests * reduce the avatar size on homepage * poc: run js code from string * resolve conflicts * fix conflicts * add globals * add new route * add icon, manifest file upload * complete user flow * add flow for data queries * add dynamic manifest instead of local datasource types * add version attr * remove unused code * add version * rename extension(s) -> plugins(s) * add test connection method * feat: add marketplace listing page * Add install plugin cmd + missing attrs {name, repo, desc} to plugin * add missing icon * - Add npm workspaces for marketplace monorepo - Added cassandra datasource plugin - Created upload to s3 script - Created plugins.json entry file * install plugin from s3 bucket * cleanup * update pkg locks * fix icon render * cleanup * marketplace changes * ui changes * operations file load fix + revert vm2 * update module from string to 3.2.1 * load plugins.json from local file instead of remote * install plugin from local file if not production environment * add sqlite * feat: add plivo api plugin * exp: add heroku 22 stack * update assets include path * Revert "exp: add heroku 22 stack" This reverts commit a8926b36e116fb76cd3b6d0aa41778779c9273c8. * add integrations link * Add casl ability for plugin * load host from env else fallback to default * update imports * remove sqlite * typo * add marketplace flag to cli command * move ts and ncc to devDep * add hygen templates for marketplace * cli tree-node path fix * template indent fix * TOOLJET_URL -> MARKETPLACE_TOOLJET_URL * add tests * refactor: move to plugins.helper for get-service helper utility * fix; typo * update package-lock.json * review changes * remove a href * remove bg color + redirect issue due to href * add test url * fix crash on search * remove extra slash * feat: allow plugin to be installed from github repository * remove unwanted args from cli command * add repo attr while save * feat: add feature toggle for marketplace feature * fix: make default config as false * chore: remove hyperlink * fix: failing build * chore: update s3 url to point to prod * fix failing test * fix test * fix: test case * update module from string pkg * update env * fix test * fix test * add readme file * Update README.md Co-authored-by: Akshay Sasidharan <[email protected]>
2022-10-27 11:29:43 +00:00
TOOLJET_MARKETPLACE_URL:
process.env.TOOLJET_MARKETPLACE_URL || 'https://tooljet-plugins-production.s3.us-east-2.amazonaws.com',
TOOLJET_EDITION: process.env.TOOLJET_EDITION,
2025-02-25 06:52:50 +00:00
ENABLE_WORKFLOW_SCHEDULING: process.env.ENABLE_WORKFLOW_SCHEDULING,
WEBSITE_SIGNUP_URL: process.env.WEBSITE_SIGNUP_URL || 'https://www.tooljet.com/signup',
TJ_SELFHOST_CREDITS_APP:
process.env.TJ_SELFHOST_CREDITS_APP ||
'https://app.tooljet.com/applications/c1ec8a6c-ee9a-4a7d-ba9b-3590bbeaf6b9',
ENABLE_PASSWORD_COMPLEXITY_RULES: process.env.ENABLE_PASSWORD_COMPLEXITY_RULES || false,
}),
},
};