Migrating to v2.0
This guide covers every breaking change introduced in v2.0 of @revolist/revogrid-pro and
@revolist/revogrid-enterprise, and explains what to update in your codebase.
Quick migration checklist
Section titled “Quick migration checklist”- Upgrade
@revolist/revogridcore to^4.21.4 - Replace all sub-path imports with flat imports from
@revolist/revogrid-pro - Replace hardcoded event strings with named constants from
@revolist/revogrid-pro - Import
revogrid-pro.cssin your application entry point - Update custom plugins to extend
CorePlugininstead ofBasePlugin - Add
@revolist/revogrid-proas a dependency when using Enterprise - Move Pivot and Gantt imports to
@revolist/revogrid-enterprise
1. Core dependency version
Section titled “1. Core dependency version”v2.0 requires @revolist/revogrid 4.21.4 or later. Earlier core versions are not supported.
npm install @revolist/revogrid@^4.21.4# orpnpm add @revolist/revogrid@^4.21.42. Import paths — flat surface only
Section titled “2. Import paths — flat surface only”v1.x supported sub-path imports that pointed to internal modules. These paths are removed in v2.0. All exports are now available from the single package entry point.
import { commonAggregators } from '@revolist/revogrid-pro/aggregations';import { CorePlugin } from '@revolist/revogrid-pro/core';import { FOCUS_APPLY_EVENT } from '@revolist/revogrid-pro/events';import { createMergedData } from '@revolist/revogrid-pro/utils';import { commonAggregators, CorePlugin, FOCUS_APPLY_EVENT, createMergedData,} from '@revolist/revogrid-pro';3. Event strings → named constants
Section titled “3. Event strings → named constants”v2.0 exports more than 135 named event constants. Replace every hardcoded event string with the corresponding export to benefit from type checking and rename refactoring.
grid.addEventListener('beforecellfocus', handler);grid.addEventListener('beforefocuslost', handler);grid.addEventListener('beforekeydown', handler);grid.addEventListener('aftersourceset', handler);import { EVENT_BEFORE_CELL_FOCUS, EVENT_BEFORE_FOCUS_LOST, BEFORE_KEYDOWN_EVENT, AFTER_SOURCE_SET_EVENT,} from '@revolist/revogrid-pro';
grid.addEventListener(EVENT_BEFORE_CELL_FOCUS, handler);grid.addEventListener(EVENT_BEFORE_FOCUS_LOST, handler);grid.addEventListener(BEFORE_KEYDOWN_EVENT, handler);grid.addEventListener(AFTER_SOURCE_SET_EVENT, handler);The full list of available constants is exported from @revolist/revogrid-pro.
4. CSS — required import
Section titled “4. CSS — required import”Starting in v2.0, the Pro plugin styles are not injected automatically. You must import the stylesheet once in your application entry point.
// main.ts (or your app entry)import '@revolist/revogrid-pro/dist/revogrid-pro.css';<link rel="stylesheet" href="https://cdn.example.com/revogrid-pro/dist/revogrid-pro.css" />If you are also using Enterprise, import its stylesheet separately:
import '@revolist/revogrid-enterprise/dist/revogrid-enterprise.css';5. Custom plugins — extend CorePlugin
Section titled “5. Custom plugins — extend CorePlugin”In v2.0 the recommended base class for all Pro plugins changed from BasePlugin (re-exported from
@revolist/revogrid) to CorePlugin (exported from @revolist/revogrid-pro). CorePlugin adds:
observeAttribute(name, callback)— reacts to DOM attribute mutationsobserveProperty(name, callback)— reacts to direct JS property assignments
import { BasePlugin } from '@revolist/revogrid';
export class MyPlugin extends BasePlugin { constructor(grid, providers) { super(grid, providers); // plugin setup }}import { CorePlugin } from '@revolist/revogrid-pro';
export class MyPlugin extends CorePlugin { constructor(grid, providers) { super(grid, providers); // license banner injected here automatically // plugin setup this.observeProperty('myProp', (value) => { // react to grid.myProp = value }); }}6. Enterprise — install Pro as a dependency
Section titled “6. Enterprise — install Pro as a dependency”@revolist/revogrid-enterprise now requires @revolist/revogrid-pro as a runtime dependency.
If you only had Enterprise installed, add Pro explicitly.
npm install @revolist/revogrid-pro @revolist/revogrid-enterprise# orpnpm add @revolist/revogrid-pro @revolist/revogrid-enterpriseEnsure both packages are on the same version (they are always released together).
7. Pivot and Gantt moved to Enterprise
Section titled “7. Pivot and Gantt moved to Enterprise”In v1.x, Pivot and Gantt plugins were part of @revolist/revogrid-pro. They now live exclusively
in @revolist/revogrid-enterprise.
import { PivotPlugin, PivotConfig } from '@revolist/revogrid-pro';import { GanttPlugin } from '@revolist/revogrid-pro';import { PivotPlugin, PivotConfig } from '@revolist/revogrid-enterprise';import { GanttPlugin } from '@revolist/revogrid-enterprise';Versioning strategy
Section titled “Versioning strategy”Pro and Enterprise are always released with the same version number (lockstep semver).
| Change type | Version bump |
|---|---|
| Breaking API/behavior change | Major (2.0.0 → 3.0.0) |
| New plugin or feature (backward-compatible) | Minor (2.0.0 → 2.1.0) |
| Bug fix | Patch (2.0.0 → 2.0.1) |
The RevoGrid core package (@revolist/revogrid) versions independently — always check its
changelog when upgrading core alongside Pro/Enterprise.