Skip to content

Releases: bekmuradov/CollectionViewer

v1.5.0 - Webpack Configuration Update & Smaller Bundles

Choose a tag to compare

@bekmuradov bekmuradov released this 12 Nov 17:34

Significant Bundle Size Reduction:

  • remoteEntry.js: 3.24 KiB (reduced from 6.27 KiB - 48% smaller)
  • main.js: 12.9 KiB (reduced from 17.6 KiB - 27% smaller)
  • 764.js: 12.4 KiB (updated React vendor chunk)

Webpack Configuration Updates:

  • Updated webpack.config.js with optimized settings
  • Better code splitting and tree shaking
  • Improved module federation configuration
  • Removed unnecessary chunk (848.js)

License Compliance:

  • Added LICENSE.txt files for all bundle chunks
  • main.js.LICENSE.txt and 764.js.LICENSE.txt included

Build Improvements:

  • Faster compilation time (3.66 seconds)
  • Better runtime module optimization
  • More efficient code generation

Performance Impact:

  • 48% smaller module federation entry
  • 27% smaller main bundle
  • Faster page load times
  • Better caching with optimized chunks

Full Changelog:

  • Update webpack.config.js with optimized build settings
  • Rebuild all dist/ artifacts with new configuration
  • Reduce remoteEntry.js from 6.27 KiB to 3.24 KiB
  • Reduce main.js from 17.6 KiB to 12.9 KiB
  • Add LICENSE.txt files for compliance
  • Remove unnecessary 848.js chunk

v1.4.0 - Optimized Production Build

Choose a tag to compare

@bekmuradov bekmuradov released this 12 Nov 16:48

What's New

Optimized Production Bundle

  • Smaller Bundle Size: Optimized webpack build with better code splitting
    • remoteEntry.js: 6.27 KiB (optimized and minimized)
    • main.js: 17.6 KiB (optimized)
    • Removed unused chunks (467.js, 540.js)

Build Improvements

  • Better Code Splitting: Webpack now generates more efficient chunk splits
  • Cleaner Output: Removed redundant bundle files
  • Updated Dependencies: All latest code changes included in build

Configuration Updates

  • Updated lifecycle_manager.py with latest naming conventions
  • Updated webpack.config.js for optimal production builds
  • All TypeScript declarations and source maps regenerated

Bundle Files

Production build includes:

  • remoteEntry.js - Module federation entry (6.27 KiB)
  • main.js - Main application bundle (17.6 KiB)
  • 764.js - React vendor chunk (11.7 KiB)
  • 848.js - Additional optimized chunk (774 bytes)
  • TypeScript declarations and source maps

Performance

  • Smaller bundle sizes for faster loading
  • Optimized code splitting for better caching
  • Minimized and compressed production code

Installation

npm install
npm run build    # Build for production
npm run dev      # Start development server

Full Changelog

  • Optimize webpack production build configuration
  • Remove unused bundle chunks (467.js, 540.js)
  • Rebuild all dist/ artifacts with optimizations
  • Update lifecycle_manager.py and webpack.config.js
  • Regenerate TypeScript declarations

v1.3.0 - Production Build Update

Choose a tag to compare

@bekmuradov bekmuradov released this 12 Nov 15:22

What's New

Build Configuration

  • Exclude DevStandalone from Production: Updated tsconfig.json to exclude DevStandalone.tsx from production builds
    • Prevents TypeScript errors when building for production
    • Keeps development-only code separate from production bundle

Updated Build Artifacts

  • Rebuilt dist/: Fresh production build with updated module federation configuration
    • Updated remoteEntry.js with CollectionViewerFunctional naming
    • All module federation exports now use correct naming convention
    • Production build passes all TypeScript checks

Bug Fixes

  • Fixed production build errors caused by dev-only code
  • Resolved TypeScript compilation issues in production mode

Technical Details

tsconfig.json Changes

"exclude": ["node_modules", "dist", "src/DevStandalone.tsx"]

Build Process

npm run build    # Now compiles successfully

Files Updated

  • tsconfig.json: Added DevStandalone.tsx to exclude list
  • dist/remoteEntry.js: Rebuilt with correct module names
  • lifecycle_manager.py: Previous naming updates included

Full Changelog

  • Exclude DevStandalone.tsx from production TypeScript compilation
  • Rebuild production bundle with CollectionViewerFunctional naming
  • Fix production build pipeline
  • Update dist/ artifacts with latest changes

v1.2.0 - Plugin Renamed to CollectionViewerFunctional

Choose a tag to compare

@bekmuradov bekmuradov released this 12 Nov 14:34

Breaking Changes

Plugin Renamed

The plugin has been renamed from CollectionViewer to CollectionViewerFunctional for better clarity and to distinguish it as a functional component implementation.

Changes

Lifecycle Manager

  • Plugin name: CollectionViewer → CollectionViewerFunctional
  • Plugin slug: CollectionViewer → CollectionViewerFunctional
  • Scope: CollectionViewer → CollectionViewerFunctional
  • Module name: CollectionViewer → CollectionViewerFunctionalModule
  • Display name: Collection Viewer → Collection Viewer Functional
  • All class names updated from CollectionViewerLifecycleManager to CollectionViewerFunctionalLifecycleManager

Webpack Module Federation

  • Federation name: CollectionViewer → CollectionViewerFunctional
  • Library name: CollectionViewer → CollectionViewerFunctional
  • Exposed module: ./CollectionViewer → ./CollectionViewerFunctionalModule

Migration Notes

If you have an existing installation:

  1. Uninstall the old CollectionViewer plugin
  2. Install the new CollectionViewerFunctional plugin
  3. Update any references in your BrainDrive configuration

Full Changelog

  • Rename plugin from CollectionViewer to CollectionViewerFunctional
  • Update lifecycle_manager.py with new naming
  • Update webpack.config.js module federation configuration
  • Maintain backward compatibility with same functionality

v1.1.0 - Development Environment

Choose a tag to compare

@bekmuradov bekmuradov released this 12 Nov 09:24

What's New

Development Environment

  • DevStandalone.tsx: Complete development wrapper with mock services
    • Mock Theme, API, Settings, and PageContext services
    • Hot Module Replacement support
    • Theme toggle UI for testing
    • 9 sample collections for development
    • Development controls overlay

Development Tools

  • webpack.dev.js: Separate webpack configuration for dev mode

    • Runs on port 3034 (CORS-compatible with collections backend)
    • Hot reload enabled
    • Source maps for debugging
    • Fast compilation with transpileOnly mode
  • public/dev-index.html: Custom HTML template for dev mode

    • Loading indicator
    • Dark mode scrollbar styles
    • Development console messages

Developer Experience

  • New npm scripts: npm run dev and npm start
  • Standalone development without BrainDrive host
  • Instant feedback with hot reload
  • Full host simulation with realistic data
  • Easy theme testing (light/dark toggle)

Documentation

  • Updated README.md with DevStandalone architecture
  • Complete development workflow instructions
  • Mock services documentation

Commands

npm install      # Install dependencies
npm run dev      # Start dev server on http://localhost:3034
npm start        # Alias for npm run dev
npm run build    # Build for production

Full Changelog

  • Add DevStandalone.tsx for isolated development
  • Add webpack.dev.js for dev server configuration
  • Add dev-index.html for development UI
  • Update package.json with dev scripts
  • Update README.md with comprehensive dev docs
  • Configure port 3034 for collections backend CORS compatibility

v1.0.0 - Initial Release

Choose a tag to compare

@bekmuradov bekmuradov released this 12 Nov 08:32

Initial release of BrainDrive functional component plugin template

Features

  • Sample functional component plugin for BrainDrive
  • React-based collection viewer
  • Webpack module federation setup
  • TypeScript support
  • Build output included for easy deployment